aboutsummaryrefslogtreecommitdiff
path: root/core/testing
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5963 from Yawning/feature/chacha8randJeroen van Rijn2025-11-291-2/+2
|\ | | | | runtime: Use chacha8rand as the default RNG (BREAKING)
| * testing: Use xoshiro256** instead of the runtime RNGYawning Angel2025-11-291-2/+2
| | | | | | | | | | While platforms that do not have an entropy source have no rights, use something that is always guaranteed to work.
* | Fix #5975Jeroen van Rijn2025-11-291-2/+2
|/ | | | Fix `err` shadowing in test runner. Fixes #5975.
* Merge pull request #5859 from odin-lang/bill/change-licensedev-2025-11gingerBill2025-11-048-8/+8
|\ | | | | Change Odin's LICENSE to zlib from BSD 3-clause
| * Change Odin's LICENSE to zlib from BSD 3-clausegingerBill2025-10-288-8/+8
| | | | | | | | 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.
* | Add ODIN_TEST_GO_TO_ERROR to print test fail locations in a manner friendly ↵Jeroen van Rijn2025-11-012-2/+29
| | | | | | | | to go-to error in editors
* | Also disable OSC codes to update title when `ODIN_TEST_FANCY=false`Jeroen van Rijn2025-10-311-1/+1
|/
* Further overhaul of package line comments.Jeroen van Rijn2025-10-091-0/+1
|
* revert to working buildJon Lipstate2025-09-031-2/+2
|
* add tls when we have crtJon Lipstate2025-09-031-2/+2
|
* windows i386 supportJon Lipstate2025-08-291-4/+12
|
* testing: Make test state changes its own featureFeoramund2025-06-261-2/+4
| | | | | | | 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.
* testing: Add API to expect signals and assertion failuresFeoramund2025-06-164-11/+140
|
* Restructure `core:terminal` for better Windows supportFeoramund2025-05-212-44/+0
|
* Add animation detection support to test runnerFeoramund2025-05-202-62/+81
|
* Add terminal color detection to logging in `core:testing`Feoramund2025-05-201-2/+17
|
* Rename `core:encoding/ansi` to `core:terminal/ansi`Feoramund2025-05-203-4/+4
|
* Restore console mode when test runner exits.Jeroen van Rijn2025-05-202-6/+24
|
* Haiku: small fixes across coreavanspector2025-01-101-1/+1
|
* Makes tracking allocator default to crashing on a bad free instead of add to ↵Karl Zylinski2024-12-211-0/+1
| | | | 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.
* testing: separate the posix import into target filesLaytan Laats2024-11-013-17/+32
| | | | | | | 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.
* remove pthread from sys/unix and use sys/posix where usedLaytan2024-10-281-3/+3
|
* Changed some recently added //+ usages to #+ and also fixed some //+ usages ↵Karl Zylinski2024-09-171-1/+1
| | | | in some code generators.
* Merge branch 'master' into file-tags-without-commentsKarl Zylinski2024-09-174-4/+45
|\
| * Merge pull request #4255 from avanspector/masterJeroen van Rijn2024-09-172-0/+26
| |\ | | | | | | init ansi on a standalone testing exe
| | * init ansi on a standalone testing exeavanspector2024-09-172-0/+26
| | |
| * | Merge pull request #4242 from laytan/caller-expressiongingerBill2024-09-161-4/+8
| |\ \ | | | | | | | | add '#caller_expression'
| | * | add '#caller_expression'Laytan Laats2024-09-141-4/+8
| | | |
| * | | Fix signalling test child threads crashing test 0Feoramund2024-09-101-0/+11
| |/ / | | | | | | | | | | | | | | | 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.
* / / Moved all packages in core, base, vendor, tests and examples to use new #+ ↵Karl Zylinski2024-09-147-15/+15
|/ / | | | | | | file tag syntax.
* / Fix build tags that use ! multiple times on one line. Those don't actually ↵Karl Zylinski2024-09-071-1/+7
|/ | | | 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.
* Remove deprecated `log` procs from `core:testing`Feoramund2024-08-184-49/+28
|
* Allow ODIN_TEST_LOG_LEVEL override when -debug.Jeroen van Rijn2024-08-141-12/+8
|
* Add explicit copyright info to `core:testing`Feoramund2024-08-128-1/+68
|
* Fix wrong define name in test runner log messagesFeoramund2024-08-111-2/+2
|
* Optionally treat memory failures as errors in the test runnerFeoramund2024-08-111-41/+57
| | | | Enable with `-define:ODIN_TEST_FAIL_ON_BAD_MEMORY=true`.
* Keep -vet happy when mem tracking is disabled.Jeroen van Rijn2024-08-081-0/+1
|
* Use test runner's own tracking allocator.Jeroen van Rijn2024-08-081-8/+7
|
* Allow testing for intentional leaks in test runnerJeroen van Rijn2024-08-082-4/+56
| | | | | | | | | | | 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.
* Begin mapping `os.Error` in the rest of the codebasegingerBill2024-08-041-2/+2
|
* testing: add json reportingLaytan Laats2024-07-241-1/+45
|
* fix some bugs with -disable-assertLaytan Laats2024-07-161-2/+2
|
* Imply `#no_capture` to all variadic parametersgingerBill2024-07-141-5/+5
|
* Add more uses of `#no_capture`gingerBill2024-07-141-5/+5
|
* Update `core` to `-strict-style`gingerBill2024-06-291-6/+5
|
* Catch `SIGTRAP` in the test runnerFeoramund2024-06-282-0/+11
| | | | Fixes `panic` for Darwin.
* Let `-vet` be used with `-define:ODIN_TEST_NAMES`Feoramund2024-06-281-1/+4
|
* Work around Windows test failureFeoramund2024-06-181-3/+7
| | | | | | | | | | | | | | | | | | | | 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.
* Setup default `context.random_generator` for testsFeoramund2024-06-151-0/+4
|
* Merge pull request #3765 from Feoramund/add-short-test-logsJeroen van Rijn2024-06-152-7/+18
|\ | | | | Add `ODIN_TEST_SHORT_LOGS` define