Shane Shrybman
e1ea3d634b
core:testing remove whitespace typo
2026-03-07 11:34:15 -05:00
Laytan Laats
6a6460e824
fix another old os use in when statement
2026-02-27 22:11:11 +01:00
Harold Brenes
0ee15453e7
Use builder_len instead of len on the underlying dynamic array
...
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-02-11 14:16:25 -05:00
Harold Brenes
2899d09003
Use strings.partition instead of raw slicing
...
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-02-11 14:15:34 -05:00
Harold Brenes
3b8cb7fc61
Update core/testing/runner.odin
...
Use `strings.to_string`
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-02-11 14:14:58 -05:00
Harold Brenes
7ea074a248
Update core/testing/runner.odin
...
Write string directly
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-02-11 14:14:27 -05:00
Harold Brenes
f50dd2f639
Update core/testing/runner.odin
...
Remove formatting `wprintln` variant where it is not needed
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-02-11 14:13:49 -05:00
Harold Brenes
cac90a84fc
Update core/testing/runner.odin
...
for each style loop
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-02-11 14:09:33 -05:00
Harold Brenes
557a191108
Fix missing import after rebase
2026-02-11 13:51:51 -05:00
Harold Brenes
3aed99093b
Rebase and update to reflect os2 -> os
2026-02-11 13:46:19 -05:00
Harold Brenes
167afbc75d
Fix formatting
2026-02-11 13:42:11 -05:00
Harold Brenes
d56e655be7
Fix scoping issues caused by switching from when to if
2026-02-11 13:42:11 -05:00
Harold Brenes
23019020a1
Add runtime options for test runner via command line
2026-02-11 13:41:11 -05:00
Jeroen van Rijn
e7dbabf668
core:os -> core:os/old && core:os/os2 -> core:os
2026-02-09 15:50:21 +01:00
Jeroen van Rijn
8f4bcf4d31
More conflicts during rebase
2026-02-08 12:48:41 +01:00
Jeroen van Rijn
47786deddc
In the middle of porting core:testing
2026-02-08 12:44:08 +01:00
gingerBill
f7901cffc9
Add doc.odin and mention the defineables through #config
2026-01-31 16:28:47 +00: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
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
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
Karl Zylinski
093ade0504
Merge branch 'master' into file-tags-without-comments
2024-09-17 19:36:17 +02:00
avanspector
c794f853e9
init ansi on a standalone testing exe
2024-09-17 16:57:02 +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
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
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
663661db53
Update core to -strict-style
2024-06-29 19:16:32 +01:00
Feoramund
574342af6f
Let -vet be used with -define:ODIN_TEST_NAMES
2024-06-28 15:58:22 -04:00
Feoramund
d4803583ff
Work around Windows test failure
...
I am uncertain why this works, but it does. Previously, `rtti_test` was
failing due to non-zero data appearing in the `l_buggy` `Buggy_Struct`.
The issue was caused by calling `runtime.default_random_generator` with
a pointer to the state, somehow. The pointer could be on the stack or in
the heap; it did not matter.
I found two workarounds.
- One is to move the RNG setup behind the call to `free_all`.
- The other is to construct the random generator manually.
Despite my digging and testing, I could find no reason as to why this
works or what the fundamental issue was to begin with. If anyone comes
upon this in the future with direct access to a Windows machine, I
recommend stepping through the program with a debugger to investigate
more deeply into why this happens.
2024-06-18 23:21:04 -04:00
Feoramund
5dfd303fd1
Setup default context.random_generator for tests
2024-06-15 15:44:56 -04:00
Jeroen van Rijn
ed99e77433
Merge pull request #3765 from Feoramund/add-short-test-logs
...
Add `ODIN_TEST_SHORT_LOGS` define
2024-06-15 18:01:49 +02:00
Feoramund
753516c392
Add ODIN_TEST_SHORT_LOGS define
...
Strips out the procedure, date, and time information, for when you just
need to know the file, line, and message.
2024-06-15 11:18:40 -04:00