t.Errorf("vfs.file.cksum[text.txt,sha256] returned unexpected value type %s", reflect.TypeOf(result).Kind())
//go:build linux && (amd64 || arm64)
** Copyright (C) 2001-2025 Zabbix SIA
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
"golang.zabbix.com/agent2/pkg/zbxtest"
"golang.zabbix.com/sdk/std"
func TestFileCksumDefault(t *testing.T) {
var ctx zbxtest.MockEmptyCtx
stdOs.(std.MockOs).MockFile("text.txt", []byte(CrcFile))
if result, err := impl.Export("vfs.file.cksum", []string{"text.txt"}, ctx); err != nil {
t.Errorf("vfs.file.cksum returned error %s", err.Error())
if crc, ok := result.(uint32); !ok {
t.Errorf("vfs.file.cksum returned unexpected value type %s", reflect.TypeOf(result).Kind())
t.Errorf("vfs.file.cksum returned invalid result")
func TestFileCksumCrc32(t *testing.T) {
var ctx zbxtest.MockEmptyCtx
stdOs.(std.MockOs).MockFile("text.txt", []byte(CrcFile))
if result, err := impl.Export("vfs.file.cksum", []string{"text.txt", "crc32"}, ctx); err != nil {
t.Errorf("vfs.file.cksum[text.txt,crc32] returned error %s", err.Error())
if crc, ok := result.(uint32); !ok {
t.Errorf("vfs.file.cksum[text.txt,crc32] returned unexpected value type %s", reflect.TypeOf(result).Kind())
t.Errorf("vfs.file.cksum[text.txt,crc32] returned invalid result")