| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Changed some recently added //+ usages to #+ and also fixed some //+ usages ↵ | Karl Zylinski | 2024-09-17 | 1 | -1/+1 |
| | | | | | in some code generators. | ||||
| * | Merge branch 'master' into file-tags-without-comments | Karl Zylinski | 2024-09-17 | 4 | -4/+45 |
| |\ | |||||
| | * | Merge pull request #4255 from avanspector/master | Jeroen van Rijn | 2024-09-17 | 2 | -0/+26 |
| | |\ | | | | | | | init ansi on a standalone testing exe | ||||
| | | * | init ansi on a standalone testing exe | avanspector | 2024-09-17 | 2 | -0/+26 |
| | | | | |||||
| | * | | Merge pull request #4242 from laytan/caller-expression | gingerBill | 2024-09-16 | 1 | -4/+8 |
| | |\ \ | | | | | | | | | add '#caller_expression' | ||||
| | | * | | add '#caller_expression' | Laytan Laats | 2024-09-14 | 1 | -4/+8 |
| | | | | | |||||
| | * | | | Fix signalling test child threads crashing test 0 | Feoramund | 2024-09-10 | 1 | -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 Zylinski | 2024-09-14 | 7 | -15/+15 |
| |/ / | | | | | | | file tag syntax. | ||||
| * / | Fix build tags that use ! multiple times on one line. Those don't actually ↵ | Karl Zylinski | 2024-09-07 | 1 | -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` | Feoramund | 2024-08-18 | 4 | -49/+28 |
| | | |||||
| * | Allow ODIN_TEST_LOG_LEVEL override when -debug. | Jeroen van Rijn | 2024-08-14 | 1 | -12/+8 |
| | | |||||
| * | Add explicit copyright info to `core:testing` | Feoramund | 2024-08-12 | 8 | -1/+68 |
| | | |||||
| * | Fix wrong define name in test runner log messages | Feoramund | 2024-08-11 | 1 | -2/+2 |
| | | |||||
| * | Optionally treat memory failures as errors in the test runner | Feoramund | 2024-08-11 | 1 | -41/+57 |
| | | | | | Enable with `-define:ODIN_TEST_FAIL_ON_BAD_MEMORY=true`. | ||||
| * | Keep -vet happy when mem tracking is disabled. | Jeroen van Rijn | 2024-08-08 | 1 | -0/+1 |
| | | |||||
| * | Use test runner's own tracking allocator. | Jeroen van Rijn | 2024-08-08 | 1 | -8/+7 |
| | | |||||
| * | Allow testing for intentional leaks in test runner | Jeroen van Rijn | 2024-08-08 | 2 | -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 codebase | gingerBill | 2024-08-04 | 1 | -2/+2 |
| | | |||||
| * | testing: add json reporting | Laytan Laats | 2024-07-24 | 1 | -1/+45 |
| | | |||||
| * | fix some bugs with -disable-assert | Laytan Laats | 2024-07-16 | 1 | -2/+2 |
| | | |||||
| * | Imply `#no_capture` to all variadic parameters | gingerBill | 2024-07-14 | 1 | -5/+5 |
| | | |||||
| * | Add more uses of `#no_capture` | gingerBill | 2024-07-14 | 1 | -5/+5 |
| | | |||||
| * | Update `core` to `-strict-style` | gingerBill | 2024-06-29 | 1 | -6/+5 |
| | | |||||
| * | Catch `SIGTRAP` in the test runner | Feoramund | 2024-06-28 | 2 | -0/+11 |
| | | | | | Fixes `panic` for Darwin. | ||||
| * | Let `-vet` be used with `-define:ODIN_TEST_NAMES` | Feoramund | 2024-06-28 | 1 | -1/+4 |
| | | |||||
| * | Work around Windows test failure | Feoramund | 2024-06-18 | 1 | -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 tests | Feoramund | 2024-06-15 | 1 | -0/+4 |
| | | |||||
| * | Merge pull request #3765 from Feoramund/add-short-test-logs | Jeroen van Rijn | 2024-06-15 | 2 | -7/+18 |
| |\ | | | | | Add `ODIN_TEST_SHORT_LOGS` define | ||||
| | * | Add `ODIN_TEST_SHORT_LOGS` define | Feoramund | 2024-06-15 | 2 | -7/+18 |
| | | | | | | | | | | | Strips out the procedure, date, and time information, for when you just need to know the file, line, and message. | ||||
| * | | Make `testing.fail_now` divergent | Feoramund | 2024-06-15 | 2 | -19/+33 |
| | | | | | | | | | This is in line with the old way it worked on Windows. | ||||
| * | | Call `cleanups` after test signal | Feoramund | 2024-06-15 | 2 | -3/+20 |
| |/ | |||||
| * | add forced shutdown to new test runner | Laytan Laats | 2024-06-10 | 1 | -1/+8 |
| | | | | | | | | | Currently, a Ctrl+c starts a graceful shutdown of the tests and runner. Sometimes tests get stuck and this would never complete. This simply adds an extra step, if Ctrl+c is given for the second time, just `os.exit` right away. | ||||
| * | add error message for unknown test log level | Laytan Laats | 2024-06-07 | 1 | -0/+3 |
| | | | | | | It would previously just be a compilation error about a missing return statement. | ||||
| * | Fix ad hoc `printf` in test runner signal handler | Feoramund | 2024-06-02 | 1 | -1/+1 |
| | | |||||
| * | Use `Warning` log level for reporting memory leaks | Feoramund | 2024-06-02 | 1 | -2/+4 |
| | | | | | Works well with `-define:ODIN_TEST_LOG_LEVEL=warning`. | ||||
| * | Prevent test runner deadlock on NetBSD | Feoramund | 2024-06-02 | 1 | -0/+13 |
| | | | | | Add `pthread_testcancel` to `core:sys/unix` | ||||
| * | Be pedantic about not overwriting Odin errors | Feoramund | 2024-06-02 | 1 | -4/+5 |
| | | | | | | | | | | | | | | | | | | | | I was encountering bounds-check error messages being overwritten during a test, if the test failed for another reason and sent a log message. The original intent of having this check inside of the above `if` block was that if a test sent an error message, then it was assumed an overwrite would be safe, but it's completely possible for a test to fail for a legitimate reason, then do an unrelated bounds check somewhere else that would be buried under the animation. This change will make sure that, no matter what, the progress display will not trigger a clear if a signal was raised. There's still no guarantee that bounds-check messages will be printed properly, and it's best to redirect STDERR. The only way that can be fixed is if they get a similar hook to `context.assertion_failure_proc`. | ||||
| * | Tell user about `ODIN_TEST_RANDOM_SEED` option | Feoramund | 2024-06-02 | 1 | -1/+5 |
| | | |||||
| * | Keep test runner main thread from using 100% of a CPU core | Feoramund | 2024-06-02 | 1 | -0/+17 |
| | | |||||
| * | Add `-define:ODIN_TEST_LOG_LEVEL` to set lowest log level | Feoramund | 2024-06-02 | 1 | -2/+17 |
| | | |||||
| * | Log thread count at test run start | Feoramund | 2024-06-02 | 1 | -0/+10 |
| | | | | | | Provides a helpful info message about the option to change how many threads are used per run. | ||||
| * | Make it easier to learn about `ODIN_TEST_CLIPBOARD` | Feoramund | 2024-06-02 | 1 | -0/+1 |
| | | |||||
| * | Add note about `SIGSEGV` edge case on UNIX-likes | Feoramund | 2024-06-02 | 1 | -0/+7 |
| | | |||||
| * | Remove Windows test runner in favor of `libc` implementation | Feoramund | 2024-06-02 | 3 | -251/+1 |
| | | |||||
| * | Expand documentation comment for `ODIN_TEST_NAMES` | Feoramund | 2024-06-02 | 1 | -0/+3 |
| | | |||||
| * | Use more concise way of satisfying `-vet` | Feoramund | 2024-06-02 | 1 | -9/+4 |
| | | |||||
| * | Be specific about platforms not implementing test runner signal handler | Feoramund | 2024-06-02 | 1 | -1/+1 |
| | | |||||
| * | Catch `SIGILL`, `SIGFPE`, `SIGSEGV` in the test runner | Feoramund | 2024-06-02 | 4 | -11/+223 |
| | | |||||
| * | Rename `signal_handler.odin` to `signal_handler_libc.odin` | Feoramund | 2024-06-02 | 1 | -0/+0 |
| | | |||||
| * | Remove unneeded import | Feoramund | 2024-06-02 | 1 | -1/+0 |
| | | |||||