diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/reverse/ctlsock_test.go | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/tests/reverse/ctlsock_test.go b/tests/reverse/ctlsock_test.go index c3ee121..d60fbde 100644 --- a/tests/reverse/ctlsock_test.go +++ b/tests/reverse/ctlsock_test.go @@ -35,10 +35,11 @@ func TestCtlSockPathOps(t *testing.T) {  	test_helpers.MountOrFatal(t, "ctlsock_reverse_test_fs", mnt, "-reverse", "-extpass", "echo test", "-ctlsock="+sock)  	defer test_helpers.UnmountPanic(mnt)  	var req ctlsock.RequestStruct +	var response ctlsock.ResponseStruct  	for i, tc := range ctlSockTestCases {  		// Decrypt  		req = ctlsock.RequestStruct{DecryptPath: tc[0]} -		response := test_helpers.QueryCtlSock(t, sock, req) +		response = test_helpers.QueryCtlSock(t, sock, req)  		if response.ErrNo != 0 {  			t.Errorf("Testcase %d Decrypt: %q ErrNo=%d ErrText=%s", i, tc[0], response.ErrNo, response.ErrText)  		} else if response.Result != tc[1] { @@ -53,6 +54,18 @@ func TestCtlSockPathOps(t *testing.T) {  			t.Errorf("Testcase %d Encrypt: Want %q got %q", i, tc[1], response.Result)  		}  	} +	// At this point the longname parent cache should be populated. +	// Check that we do not mix up information for different directories. +	req = ctlsock.RequestStruct{DecryptPath: "gocryptfs.longname.y6rxCn6Id8hIZL2t_STpdLZpu-aE2HpprJR25xD60mk="} +	response = test_helpers.QueryCtlSock(t, sock, req) +	if response.ErrNo != -1 { +		t.Errorf("File should not exist: ErrNo=%d ErrText=%s", response.ErrNo, response.ErrText) +	} +	req = ctlsock.RequestStruct{DecryptPath: "v6puXntoQOk7Mhl8zJ4Idg==/gocryptfs.longname.ZQCAoi5li3xvDZRO8McBV0L_kzJc4IcAOEzuW-2S1Y4="} +	response = test_helpers.QueryCtlSock(t, sock, req) +	if response.ErrNo != -1 { +		t.Errorf("File should not exist: ErrNo=%d ErrText=%s", response.ErrNo, response.ErrText) +	}  }  // We should not panic when somebody feeds requests that make no sense | 
