package zfs import ( "github.com/stretchr/testify/assert" "testing" ) func TestZFSListHandlesProducesZFSErrorOnNonZeroExit(t *testing.T) { var err error ZFS_BINARY = "./test_helpers/zfs_failer.sh" _, err = ZFSList([]string{"fictionalprop"}, "nonexistent/dataset") assert.Error(t, err) zfsError, ok := err.(ZFSError) assert.True(t, ok) assert.Equal(t, "error: this is a mock\n", string(zfsError.Stderr)) } func TestDatasetPathTrimNPrefixComps(t *testing.T) { p, err := NewDatasetPath("foo/bar/a/b") assert.Nil(t, err) p.TrimNPrefixComps(2) assert.True(t, p.Equal(toDatasetPath("a/b"))) p.TrimNPrefixComps((2)) assert.True(t, p.Empty()) p.TrimNPrefixComps((1)) assert.True(t, p.Empty(), "empty trimming shouldn't do harm") }