Commit Graph

146 Commits (249123e03a11b4d444956cd829aa79ff3d5ffe90)

Author SHA1 Message Date
Jonathan Jin 249123e03a Implement delta comparison for map values 2017-12-30 14:26:37 +01:00
Vincent Cote-Roy 88a414d072 generalize Empty assertion
Make `Empty` work against any struct and custom types, by replacing
explicit zero value comparisons with a `DeepEqual` comparison with
the type's `reflect.ZeroValue`.
2017-12-30 13:03:09 +01:00
Dragos Harabor 890a5c3458 Issue #469 fix
reflect.Value.Len() can cover more types, per godoc:
> Len returns v's length. It panics if v's Kind is not Array, Chan, Map, Slice, or String.
2017-08-09 15:42:52 -07:00
Joshua T Corbin 05e8a0eda3 Fix the actuality of InEpsilon 2017-07-14 14:53:25 -07:00
Joshua T Corbin 2f1cd6b778 time.Duraions are numbers too 2017-07-14 14:27:08 -07:00
Joshua T Corbin b1f989447a Fix InDelta expected nan check message 2017-07-14 11:20:46 -07:00
Joshua T Corbin 4b92304da8 Fix actual float conversion error message under calcRelativeError 2017-07-14 11:13:59 -07:00
Tom Artale f6abca5936 Added assert.PanicsWithValue + tests 2017-06-01 22:03:22 +01:00
Adam Medzinski 46b3c8225b Simple validation of Equal/NotEqual assertion arguments 2017-05-29 17:57:31 +01:00
Ernesto Jiménez c7668ea997 Fixes #339 - Add `assertion`f assertions like Errorf and Equalf 2017-05-29 12:56:43 +01:00
decauwsemaecker.glen@gmail.com 3a59a58abc
add Subset and NotSubset assertions 2017-05-27 17:24:18 -05:00
Terin Stock b6296e3859 fix(docs): correct Error usage examples
Correct the usage of `assert.Equal` in the Error and NoError usage
examples, which had reversed the expected and actual arguments.
2017-05-25 17:42:54 -07:00
Tedde Lundgren d2f3716b44 Add msgAndArgs pass forward to InDelta from InDeltaSlice 2017-05-25 17:40:33 -07:00
Peter Ebden 158f9d0389 Check that there is a directory before trying to access it. 2017-05-25 17:40:15 -07:00
Cameron Moore 09f61d78b8 assert: fix error reporting when error contains escape sequences
Fixes #325
2017-05-25 17:28:59 -07:00
havnesvo bc11a6e4dd Tighten language by increasing overall consistency in wording in texts and argument names: use 'actual' instead of 'received' 2017-05-25 17:16:55 -07:00
Denys Smirnov 97c0e43cd5 compare bytes with bytes.Equal instead of reflect.DeepEqual 2017-05-25 17:04:05 -07:00
Ernesto Jiménez 2402e8e7a0 Merge pull request #364 from nmiyake/fixFailOutput
Ensure that assert.Fail properly align its output
2016-12-17 14:04:45 -06:00
Ernesto Jiménez ae4c58e530 Merge pull request #367 from packrat386/rm_numeric_check
Remove isNumericType check
2016-12-17 13:26:48 -06:00
Nick Miyake 3928f579ee Add comments for Equal and NotEqual to clarify pointer comparison
Clarify that pointer equality is determined by equality of values
rather than memory address.

Fixes #358
2016-11-19 23:31:18 -08:00
Aidan Coyle 6835870125 Remove isNumericType check
I'm not sure why this check is needed. It seems worthwhile to print the
type any time the types aren't equal. Closes #366.
2016-11-17 10:29:04 -06:00
Alexander Staubo cbd71e7dd4 When diffing with spew, use a format that doesn't include pointer addresses (which
generate false negatives). This updates go-spew to 04cdfd42973bb9c8589fd6a731800cf222fde1a9.
2016-10-29 16:24:47 -04:00
Nick Miyake ddb91ee140 Ensure that assert.Fail properly align its output
Previous implementation depended on tab alignment. This worked
when the output was not prepended with anything, but would break
if the output was prepended with further spaces (which can occur
in environments like IntelliJ test runners). This commit fixes it
so that the output is always aligned logically.

Fixes #83
2016-10-28 19:36:52 -07:00
Russ Egan 4ccf54af99 Clearer messages
- NoError prints the error message on the next line, unquoted, which makes multiline error messages much clearer.  Sample of an error message which includes a multiline stacktrace:

    Error:		Received unexpected error:
			Hi!

			/Volumes/Pouch/Users/russegan/dev/go/src/gitlab.protectv.local/ncryptify/client.git/client_test.go:27 (0x75c8c)
				TestNew: assert.NoError(merry.New("Hi!"), "with message")
			/usr/local/Cellar/go/1.7rc1/libexec/src/testing/testing.go:610 (0x70a01)
				tRunner: fn(t)
			/usr/local/Cellar/go/1.7rc1/libexec/src/runtime/asm_amd64.s:2086 (0x5d131)
				goexit: BYTE	$0x90	// NOP
	Messages:	with message

- Error,NoError,and EqualError now don’t inline the user’s extra messages.  user’s messages are printed in the “Messages:” section, as with all other assertions.
- EqualError now avoids isNil(), mirroring the changes already made to Error and NoError.
- Equal, EqualValues, and EqualError now print the expected and actual values each on a newline, aligned vertically, which makes it easier for a human to visually detect the differences.  Examples:

    Error:		Error message not equal:
            expected: ”no failure"
            recieved: “failure"
    Messages:	with message

    Error:	Not equal:
            "high" (expected)
            "low" (actual)
    Messages:	with message

- EqualValues uses the same value formatting and diff output as Equal for consistency
2016-09-25 11:15:27 -04:00
Ernesto Jiménez 69483b4bd1 Merge pull request #327 from jveski/issue-155
Clarify assert.Equal failure message given mismatched numeric types
2016-09-25 02:54:16 +01:00
Jordan Olshevski a34cbb254a Use switch statement instead of numericTypes map 2016-09-24 17:19:37 -07:00
Jordan Olshevski c48fed3351 Use %s instead of %v when printing inequal values
Since the values are already strings, there is no reason to use %v.
2016-09-24 17:17:28 -07:00
Ernesto Jiménez 63b388178e Merge pull request #320 from mhamrle/fix_messages
fix assertion message formatting
2016-09-24 16:14:04 +01:00
Ernesto Jiménez 45bd08b0da Merge pull request #321 from mhamrle/spell
fix typos
2016-09-24 16:06:34 +01:00
Ernesto Jiménez 2f3f464ae5 Merge pull request #338 from nyarly/error_format
Changing format of NoError output to make use of errors
2016-09-24 15:05:22 +01:00
Ernesto Jiménez c13a3217b3 Merge pull request #344 from mrbroll/diff-data-race
Fix #347 - Diff data race
2016-09-24 14:56:45 +01:00
Michael Broll f6ca157360 assert: set spew config members in init() to prevent data race detection 2016-09-06 17:16:12 -07:00
Adam Wolfe Gordon 72961116a1 Fix #341
Go 1.7 subtests are called directly from testing.tRunner, not from the
test that contains the t.Run call. Because of this, the call stack
doesn't contain a function starting with Test, Benchmark, or Example,
causing assert.CallerInfo() to run off the end of the call stack and
return nil.

Look for testing.tRunner explicitly to solve this problem, and return
the list of callers if we do run off the call stack so that if there's a
similar problem in the future we still get an inflated stack trace
rather than no trace at all.
2016-09-06 16:06:25 -06:00
Judson fc28fc9f86
Changing format of NoError output to make use of errors 2016-08-19 11:10:36 -07:00
Jordan Olshevski 3bfb674961 Print types in failed numeric equality assertions
This addresses vague and misleading output when asserting on the
equality of two values of differing numeric types.

Example: assert.Equal(t, int64(123), int32(123))

Previously, the user would have received a vague message claiming that
123 != 123. Now the message will read "int64(123) != int32(123)".
2016-07-06 18:38:55 -07:00
Martin Hamrle e704e18cb5 fix typos 2016-06-30 19:23:22 +02:00
Martin Hamrle a55764f5c1 fix assertion message formatting
Fail and HTTPBodyNotContains expected that Fail formats messages.
2016-06-30 19:17:32 +02:00
Ernesto Jiménez d77da356e5 Fixes #311 - Detect empty interface error gotcha 2016-06-15 11:28:44 +02:00
Ernesto Jiménez c6b07fe328 Unexport FailNower
failNower is for internal use and we must not export it. Since we just
exported it a couple of days ago is unlikely this breking change will
affect anybody.
2016-01-09 17:58:28 +01:00
Ernesto Jiménez 0f6478d3a8 Fixes #257 - InEpsilon works when actual == 0
Implemented new InEpsilon by calculating the relative error and
comparing it to the expected epsilon rather than calculating the
acceptable margin and using InDelta.

While doing so we got rid of the false failure when the actual value
was zero.
2016-01-09 17:37:37 +01:00
Ernesto Jiménez 3dad6b7b59 Add tests for workaround solution to #263 2016-01-09 02:56:16 +01:00
Ernesto Jiménez 52f8b5b531 Fix #263 - Backwards Incompatible change to TestingT 2016-01-09 02:44:21 +01:00
Ernesto Jiménez 7e30b2ce7a Fixes #261 - Add FailNow back 2016-01-08 12:25:24 +01:00
Ernesto Jiménez 347825ef79 Use Godeps with GO15VENDOREXPERIMENT 2016-01-07 18:08:03 +01:00
Ernesto Jiménez 15b3d4d0fc Merge pull request #249 from stretchr/godep
Vendor dependencies and rewrite import paths
2016-01-07 16:54:51 +01:00
Cyrill Schumacher cd2b6c1151 Add check for empty time.Time struct (non pointer)
The standard library returns always a non-pointer Time type.
2016-01-07 07:55:48 +01:00
Ernesto Jiménez d04dca765f Vendor dependencies and rewrite import paths 2015-12-02 20:32:31 +01:00
Blake Wilson 0c260593d1 Edit comments for false assertions 2015-12-02 09:53:45 -06:00
Dennis Coldwell a3045216a7 found another formatting issue with NotEmpty func 2015-11-20 23:49:31 -08:00
Dennis Coldwell c94cb5c230 small fix for example formatting on Empty func 2015-11-20 23:35:46 -08:00