blob1807
569da5a1cf
Revert "Try to ensure the runner's handler gets called first"
...
This reverts commit 13faedaf4c . As it's causing issues with ASAN, which adds it's own `ExceptionHandler` as the first. Making ours first messes with it. Causing an Access Violation when trying to setup `context` in our handler.
2025-12-24 01:13:06 +10:00
blob1807
13faedaf4c
Try to ensure the runner's handler gets called first
2025-12-24 00:39:21 +10:00
blob1807
4eeb509fe8
Fix an OOB & format exception code as hex
...
Fix an OOB caused when the test runner catches the exception & format exception codes as upper case hex.
2025-12-23 19:17:43 +10:00
blob1807
56194732a8
Remove unneeded Exception_Code enum
2025-12-23 16:45:51 +10:00
blob1807
c9fff456cd
[core:testing] Use Windows API for SIG handling
2025-12-23 02:44:36 +10:00
Jeroen van Rijn
5db9afd73b
Merge pull request #5963 from Yawning/feature/chacha8rand
...
runtime: Use chacha8rand as the default RNG (BREAKING)
2025-11-29 14:38:22 +00:00
Jeroen van Rijn
31817be087
Fix #5975
...
Fix `err` shadowing in test runner. Fixes #5975 .
2025-11-29 11:57:34 +01:00
Yawning Angel
73883b70c8
testing: Use xoshiro256** instead of the runtime RNG
...
While platforms that do not have an entropy source have no rights,
use something that is always guaranteed to work.
2025-11-29 10:45:53 +09:00
gingerBill
e5153a937b
Merge pull request #5859 from odin-lang/bill/change-license
...
Change Odin's LICENSE to zlib from BSD 3-clause
2025-11-04 13:53:13 +00:00
Jeroen van Rijn
6ea7bdbbe5
Add ODIN_TEST_GO_TO_ERROR to print test fail locations in a manner friendly to go-to error in editors
2025-11-01 16:11:43 +01:00
Jeroen van Rijn
f005136592
Also disable OSC codes to update title when ODIN_TEST_FANCY=false
2025-10-31 17:39:29 +01:00
gingerBill
842cfee0f3
Change Odin's LICENSE to zlib from BSD 3-clause
...
This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form.
2025-10-28 14:38:25 +00:00
Jeroen van Rijn
7a9ea3ee6d
Further overhaul of package line comments.
2025-10-09 23:05:29 +02:00
Jon Lipstate
57bc45ae30
revert to working build
2025-09-03 22:51:28 -07:00
Jon Lipstate
e0c4c53362
add tls when we have crt
2025-09-03 22:32:33 -07:00
Jon Lipstate
231ce2da59
windows i386 support
2025-08-29 12:41:38 -07:00
Feoramund
c87655525d
testing: Make test state changes its own feature
...
This patch takes the former debug message output of a test changing its
state and makes it its own feature, toggleable with the
`ODIN_TEST_LOG_STATE_CHANGES` configurable. The output will be at the
info level and is disabled by default.
2025-06-26 12:46:03 -04:00
Feoramund
71c6b0c8f0
testing: Add API to expect signals and assertion failures
2025-06-16 11:25:32 -04:00
Feoramund
e659df1a3f
Restructure core:terminal for better Windows support
2025-05-21 07:49:08 -04:00
Feoramund
1b407ef207
Add animation detection support to test runner
2025-05-20 19:28:07 -04:00
Feoramund
3c40a54dcd
Add terminal color detection to logging in core:testing
2025-05-20 19:28:06 -04:00
Feoramund
a9df1b1cde
Rename core:encoding/ansi to core:terminal/ansi
2025-05-20 19:28:06 -04:00
Jeroen van Rijn
8bffd247b7
Restore console mode when test runner exits.
2025-05-20 16:51:24 +02:00
avanspector
0a985f5d02
Haiku: small fixes across core
2025-01-10 07:07:40 +01:00
Karl Zylinski
e5f32e1455
Makes tracking allocator default to crashing on a bad free instead of add to bad_free_array. The bad_free_array remains to not break old code. The new default behavior is implemented in a callback that you can override, there's a second provided callback that provides the old behavior where an element was added to bad_free_array. Rationale: Many people are just checking the allocation_map, but don't check the bad free array. Several examples throughout core that use tracking allocator don't check bad_free_array either, so people have been taught not to check it.
2024-12-21 15:49:48 +01:00
Laytan Laats
f798f0b446
testing: separate the posix import into target files
...
This is needed for the docs generator to generate all the docs for the
posix package, if it is imported like it was on Windows it would
generate docs for the Windows version of the package which has much less
symbols exposed.
2024-11-01 16:27:45 +01:00
Laytan
afed3ce6b5
remove pthread from sys/unix and use sys/posix where used
2024-10-28 19:20:43 +01:00
Karl Zylinski
29fedc1808
Changed some recently added //+ usages to #+ and also fixed some //+ usages in some code generators.
2024-09-17 19:39:48 +02:00
Karl Zylinski
093ade0504
Merge branch 'master' into file-tags-without-comments
2024-09-17 19:36:17 +02:00
Jeroen van Rijn
9508a1f031
Merge pull request #4255 from avanspector/master
...
init ansi on a standalone testing exe
2024-09-17 17:15:41 +02:00
avanspector
c794f853e9
init ansi on a standalone testing exe
2024-09-17 16:57:02 +02:00
gingerBill
a16d3b6c9a
Merge pull request #4242 from laytan/caller-expression
...
add '#caller_expression'
2024-09-16 17:36:46 +01:00
Laytan Laats
603efa860a
add '#caller_expression'
2024-09-14 22:13:37 +02:00
Karl Zylinski
19f0127e55
Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax.
2024-09-14 18:27:49 +02:00
Feoramund
3a60109180
Fix signalling test child threads crashing test 0
...
A thread made inside a test does not share the test index of its parent,
so any time one of those threads failed an assert, it would tell the
runner to shutdown test index zero.
2024-09-10 14:52:20 -04:00
Karl Zylinski
8c636ac37b
Fix build tags that use ! multiple times on one line. Those don't actually do anything since build tags use OR within the line. So something like //+build !windows, !linux would actually build on both linux and windows. What was intended in all these cases was probably AND, which you get by splitting them into separate lines.
2024-09-07 22:02:17 +02:00
Feoramund
0fa24ac3c4
Remove deprecated log procs from core:testing
2024-08-18 21:30:32 -04:00
Jeroen van Rijn
f7234e2ed3
Allow ODIN_TEST_LOG_LEVEL override when -debug.
2024-08-14 16:29:51 +02:00
Feoramund
0af025d056
Add explicit copyright info to core:testing
2024-08-12 14:16:22 -04:00
Feoramund
f42a22369e
Fix wrong define name in test runner log messages
2024-08-11 23:01:28 -04:00
Feoramund
675add4d90
Optionally treat memory failures as errors in the test runner
...
Enable with `-define:ODIN_TEST_FAIL_ON_BAD_MEMORY=true`.
2024-08-11 22:59:20 -04:00
Jeroen van Rijn
a05b73c632
Keep -vet happy when mem tracking is disabled.
2024-08-08 21:02:35 +02:00
Jeroen van Rijn
4d27898418
Use test runner's own tracking allocator.
2024-08-08 20:58:25 +02:00
Jeroen van Rijn
80d1e1ba82
Allow testing for intentional leaks in test runner
...
Adds `expect_leak_or_bad_free :: proc(t: ^T, client_test: proc(t: ^T), verifier: Memory_Verifier_Proc)`.
It sets up its own `Tracking_Allocator`, runs the `client_test`, and then calls the `verifier` procedure.
The verifier can then inspect the contents of the tracking allocator and call `testing.expect*` as sensible for the test in question.
Any allocations are then cleared so that the test runner doesn't itself complain about leaks.
Additionally, `ODIN_TEST_LOG_LEVEL_MEMORY` has been added as a define to set the severity of the test runner's memory tracker. You can use `-define:ODIN_TEST_LOG_LEVEL_MEMORY=error` to make tests fail rather than warn if leaks or bad frees have been found.
2024-08-08 20:41:32 +02:00
gingerBill
97c499dbb4
Begin mapping os.Error in the rest of the codebase
2024-08-04 11:58:04 +01:00
Laytan Laats
545fbc54c7
testing: add json reporting
2024-07-24 01:33:22 +02:00
Laytan Laats
28fac62a02
fix some bugs with -disable-assert
2024-07-16 18:44:18 +02:00
gingerBill
8642d719f0
Imply #no_capture to all variadic parameters
2024-07-14 12:19:47 +01:00
gingerBill
c7bd954752
Add more uses of #no_capture
2024-07-14 11:56:04 +01:00
gingerBill
663661db53
Update core to -strict-style
2024-06-29 19:16:32 +01:00