diff options
| -rw-r--r-- | tests/trezor/trezor_test.go | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/tests/trezor/trezor_test.go b/tests/trezor/trezor_test.go new file mode 100644 index 0000000..ba468d9 --- /dev/null +++ b/tests/trezor/trezor_test.go @@ -0,0 +1,44 @@ +package trezor + +// Test operations with "-trezor". +// See also the "cli" package - the tests there are very similar. + +import ( +	"os/exec" +	"runtime" +	"testing" + +	"github.com/rfjakob/gocryptfs/internal/configfile" + +	"github.com/rfjakob/gocryptfs/tests/test_helpers" +) + +func isTrezorConnected() bool { +	if runtime.GOOS != "linux" { +		return false +	} +	c := exec.Command("lsusb", "-d", "534c:0001") +	err := c.Run() +	if err != nil { +		return false +	} +	return true +} + +// Test -init with -trezor +func TestInitTrezor(t *testing.T) { +	if !isTrezorConnected() { +		t.Skip("No Trezor device connected") +	} +	t.Log("Trying gocryptfs -init -trezor ...") +	//                                        vvvvvvvvvvvvv disable -extpass +	dir := test_helpers.InitFS(t, "-trezor", "-extpass", "") +	// The freshly created config file should have the Trezor feature flag set. +	_, c, err := configfile.LoadConfFile(dir+"/"+configfile.ConfDefaultName, nil) +	if err != nil { +		t.Fatal(err) +	} +	if !c.IsFeatureFlagSet(configfile.FlagTrezor) { +		t.Error("Trezor flag should be set but is not") +	} +} | 
