mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-26 00:03:54 +00:00
@@ -4,6 +4,7 @@ import "core:fmt"
|
||||
import "core:io"
|
||||
import "core:time"
|
||||
import "core:intrinsics"
|
||||
import "core:reflect"
|
||||
|
||||
// IMPORTANT NOTE: Compiler requires this layout
|
||||
Test_Signature :: proc(^T)
|
||||
@@ -89,7 +90,7 @@ expect :: proc(t: ^T, ok: bool, msg: string = "", loc := #caller_location) -> bo
|
||||
return ok
|
||||
}
|
||||
expect_value :: proc(t: ^T, value, expected: $T, loc := #caller_location) -> bool where intrinsics.type_is_comparable(T) {
|
||||
ok := value == expected
|
||||
ok := value == expected || reflect.is_nil(value) && reflect.is_nil(expected)
|
||||
if !ok {
|
||||
errorf(t, "expected %v, got %v", expected, value, loc=loc)
|
||||
}
|
||||
@@ -100,4 +101,4 @@ expect_value :: proc(t: ^T, value, expected: $T, loc := #caller_location) -> boo
|
||||
|
||||
set_fail_timeout :: proc(t: ^T, duration: time.Duration, loc := #caller_location) {
|
||||
_fail_timeout(t, duration, loc)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ set COMMON=-collection:tests=..\..
|
||||
..\..\..\odin build ..\test_issue_2113.odin %COMMON% -file -debug || exit /b
|
||||
..\..\..\odin test ..\test_issue_2466.odin %COMMON% -file || exit /b
|
||||
..\..\..\odin test ..\test_issue_2615.odin %COMMON% -file || exit /b
|
||||
..\..\..\odin test ..\test_issue_2637.odin %COMMON% -file || exit /b
|
||||
|
||||
@echo off
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ $ODIN test ../test_issue_2087.odin $COMMON -file
|
||||
$ODIN build ../test_issue_2113.odin $COMMON -file -debug
|
||||
$ODIN test ../test_issue_2466.odin $COMMON -file
|
||||
$ODIN test ../test_issue_2615.odin $COMMON -file
|
||||
$ODIN test ../test_issue_2637.odin $COMMON -file
|
||||
if [[ $($ODIN build ../test_issue_2395.odin $COMMON -file 2>&1 >/dev/null | grep -c "$NO_NIL_ERR") -eq 2 ]] ; then
|
||||
echo "SUCCESSFUL 1/1"
|
||||
else
|
||||
|
||||
13
tests/issues/test_issue_2637.odin
Normal file
13
tests/issues/test_issue_2637.odin
Normal file
@@ -0,0 +1,13 @@
|
||||
// Tests issue #2637 https://github.com/odin-lang/Odin/issues/2637
|
||||
package test_issues
|
||||
|
||||
import "core:testing"
|
||||
|
||||
Foo :: Maybe(string)
|
||||
|
||||
@(test)
|
||||
test_expect_value_succeeds_with_nil :: proc(t: ^testing.T) {
|
||||
x: Foo
|
||||
testing.expect(t, x == nil) // Succeeds
|
||||
testing.expect_value(t, x, nil) // Fails, "expected nil, got nil"
|
||||
}
|
||||
Reference in New Issue
Block a user