diff options
| author | StevenWdV <stevenwdv@gmail.com> | 2021-11-19 14:31:00 +0100 |
|---|---|---|
| committer | StevenWdV <stevenwdv@gmail.com> | 2021-11-19 14:31:28 +0100 |
| commit | 226a40a27942d37060a8dc595a1a15379652d224 (patch) | |
| tree | adfaa8dba9cd7cefa36f3a14a28460949a6c2f96 | |
| parent | 68c3c92e5e008b1b0914b856274a61d1666ba75d (diff) | |
Improve test error messages
| -rw-r--r-- | verify_test.go | 91 |
1 files changed, 37 insertions, 54 deletions
diff --git a/verify_test.go b/verify_test.go index 0288897..ca8d5a9 100644 --- a/verify_test.go +++ b/verify_test.go @@ -2,6 +2,8 @@ package eduvpn_verify import ( "bufio" + "errors" + "fmt" "io/ioutil" "os" "strconv" @@ -13,6 +15,33 @@ const ( errAny = -2 ) +func compareResults(t *testing.T, ret bool, err error, expected VerifyErrCode, call func() string) { + if (err == nil) != (expected == ok) || err != nil && expected != errAny && err.(VerifyError).Code != expected { + var errMsg string + if err != nil { + errMsg = fmt.Sprintf("%v %v (cause %v)", err.(VerifyError).Code, err, errors.Unwrap(err)) + } else { + errMsg = "<ok>" + } + + var wantErrCode string + switch expected { + case ok: + wantErrCode = "<ok>" + case errAny: + wantErrCode = "<any>" + default: + wantErrCode = strconv.Itoa(int(expected)) + } + + t.Errorf("%v\nerror = %v, wantErr %v", call(), errMsg, wantErrCode) + return + } + if ret != (expected == ok) { + t.Errorf("%v\n= %v, want %v", call(), ret, expected == ok) + } +} + func Test_verifyWithKeys(t *testing.T) { var err error @@ -125,33 +154,10 @@ func Test_verifyWithKeys(t *testing.T) { t.Parallel() valid, err := verifyWithKeys(string(files[tt.signatureFile]), files[tt.jsonFile], tt.expectedFileName, tt.minSignTime, tt.allowedPks) - if (err == nil) != (tt.result == ok) || err != nil && tt.result != errAny && err.(VerifyError).Code != tt.result { - var errCode string - if err != nil { - errCode = strconv.Itoa(int(err.(VerifyError).Code)) - } else { - errCode = "<ok>" - } - - var wantErrCode string - switch tt.result { - case ok: - wantErrCode = "<ok>" - case errAny: - wantErrCode = "<any>" - default: - wantErrCode = strconv.Itoa(int(tt.result)) - } - - t.Errorf("verifyWithKeys(%q, %q, %q, %v)\nerror = %v %v, wantErr %v", - tt.signatureFile, tt.jsonFile, tt.expectedFileName, tt.minSignTime, - errCode, err, wantErrCode) - return - } - if valid != (tt.result == ok) { - t.Errorf("verifyWithKeys(%q, %q, %q, %v)\n= %v, want %v", - tt.signatureFile, tt.jsonFile, tt.expectedFileName, tt.minSignTime, valid, tt.result == ok) - } + compareResults(t, valid, err, tt.result, func() string { + return fmt.Sprintf("verifyWithKeys(%q, %q, %q, %v, %v)", + tt.signatureFile, tt.jsonFile, tt.expectedFileName, tt.minSignTime, tt.allowedPks) + }) }) } } @@ -198,33 +204,10 @@ func Test_Verify(t *testing.T) { t.Run(tt.testName, func(t *testing.T) { t.Parallel() valid, err := Verify(string(files[tt.signatureFile]), files[tt.jsonFile], tt.expectedFileName, tt.minSignTime) - if (err == nil) != (tt.result == ok) || err != nil && tt.result != errAny && err.(VerifyError).Code != tt.result { - var errCode string - if err != nil { - errCode = strconv.Itoa(int(err.(VerifyError).Code)) - } else { - errCode = "<ok>" - } - - var wantErrCode string - switch tt.result { - case ok: - wantErrCode = "<ok>" - case errAny: - wantErrCode = "<any>" - default: - wantErrCode = strconv.Itoa(int(tt.result)) - } - - t.Errorf("verifyWithKeys(%q, %q, %q, %v)\nerror = %v %v, wantErr %v", - tt.signatureFile, tt.jsonFile, tt.expectedFileName, tt.minSignTime, - errCode, err, wantErrCode) - return - } - if valid != (tt.result == ok) { - t.Errorf("verifyWithKeys(%q, %q, %q, %v)\n= %v, want %v", - tt.signatureFile, tt.jsonFile, tt.expectedFileName, tt.minSignTime, valid, tt.result == ok) - } + compareResults(t, valid, err, tt.result, func() string { + return fmt.Sprintf("Verify(%q, %q, %q, %v)", + tt.signatureFile, tt.jsonFile, tt.expectedFileName, tt.minSignTime) + }) }) } } |
