| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 |
| | | |||||
| * | Support deterministic random seeding of tests | Feoramund | 2024-06-02 | 2 | -0/+24 |
| | | | | | | | | | Add a new option `ODIN_TEST_RANDOM_SEED` which is picked from the cycle counter at startup, if it's not specified by the user. This number is sent to every test in the `T` struct and reset every test (just in case). | ||||
| * | Support `ODIN_TEST_PROGRESS_WIDTH=0` | Feoramund | 2024-06-02 | 1 | -7/+20 |
| | | | | | | | | This will automatically calculate how wide the progress bars should be based on the package with the greatest number of tests. The progress width is now capped to 100. | ||||
| * | Report test memory usage only if there's an issue | Feoramund | 2024-06-02 | 1 | -11/+27 |
| | | | | | | Adds new option `ODIN_TEST_ALWAYS_REPORT_MEMORY`, for when you always want to see the memory usage report. | ||||
| * | Track memory in the test runner by default | Feoramund | 2024-06-02 | 1 | -1/+1 |
| | | |||||
| * | Change test runner options to `SCREAMING_SNAKE_CASE` | Feoramund | 2024-06-02 | 1 | -11/+11 |
| | | | | | | This commit also changes the name of `test_select` to `ODIN_TEST_NAMES`, to better conform with the already-existing `-test-name:<name>` option. | ||||
| * | Send terminal control code to `STDOUT` instead | Feoramund | 2024-06-02 | 1 | -1/+1 |
| | | | | | | `STDERR` might be redirected, and this code signals to the terminal to show the cursor again. Otherwise, the cursor will be invisible. | ||||
| * | Fix ANSI redraw eating last log line | Feoramund | 2024-06-02 | 2 | -2/+12 |
| | | |||||
| * | Remove `safe_heap_allocator` from test runner | Feoramund | 2024-06-02 | 1 | -9/+3 |
| | | | | | | I was under the impression that the default `context.allocator` was not thread-safe, but I've been told that this is not the case. | ||||
| * | Use plain sort for `internal_tests` | Feoramund | 2024-06-02 | 1 | -1/+1 |
| | | |||||
| * | Temporarily disable Windows-specific test runner | Feoramund | 2024-06-02 | 1 | -0/+7 |
| | | | | | | | I do not have a Windows machine to test the refactored test runner, and I am unsure if it would even run correctly on Windows without this disabled. | ||||
| * | Remove unneeded code | Feoramund | 2024-06-02 | 1 | -6/+0 |
| | | |||||
| * | Refactor the test runner | Feoramund | 2024-06-02 | 7 | -64/+1134 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes - Support multi-threaded testing. - Support `set_fail_timeout` on all platforms. - Display an animated progress report. - Setup all tests with a context logger. - Give all tests their own separate custom allocators. - Support tracking test memory usage. - Display a summary of the failed tests at the end. - Let users select only specific tests to run. - Support copying failed tests to the clipboard to run again. - Support catching SIGINT (CTRL-C) to cancel early. - Record context in cleanup procs. - Write all log messages to STDERR for easy redirection. - Possibly more I've forgotten. New Options - `-define:test_threads=N`: Specify thread count. - `-define:test_thread_memory=B`: Specify initial memory block size in bytes to each thread. - `-define:test_track_memory=true`: Track the memory usage of individual tests. - `-define:test_fancy=false`: Disable animated progress report. - `-define:test_select=package.test_name,...`: Run only select tests. - `-define:test_clipboard=true`: Copy names of failed tests to the clipboard. - `-define:test_progress_width=24`: Change the width of the animated progress bars. | ||||
| * | Merge pull request #3138 from FourteenBrush/master | gingerBill | 2024-01-29 | 1 | -2/+9 |
| |\ | | | | | Add a testing.expectf proc as a way to avoid a tprintf call. | ||||
| | * | Fix typo | FourteenBrush | 2024-01-25 | 1 | -1/+1 |
| | | | |||||
| | * | Need to unpack args | FourteenBrush | 2024-01-25 | 1 | -1/+1 |
| | | | |||||
| | * | Forgot to include loc param | FourteenBrush | 2024-01-25 | 1 | -2/+1 |
| | | | |||||
| | * | Merge branch 'master' of https://github.com/FourteenBrush/Odin | FourteenBrush | 2024-01-25 | 1 | -2/+2 |
| | |\ | |||||
| | * | | Add testing.expectf | FourteenBrush | 2024-01-25 | 1 | -0/+8 |
| | | | | |||||
| * | | | Replace `core:*` to `base:*` where appropriate | gingerBill | 2024-01-28 | 2 | -3/+3 |
| | |/ |/| | |||||
| * | | stdcall -> system | gingerBill | 2024-01-17 | 1 | -2/+2 |
| |/ | |||||
| * | fix: make -vet not complain | ramn | 2023-07-09 | 1 | -0/+2 |
| | | |||||
| * | Fix #2637 | ramn | 2023-07-08 | 1 | -2/+3 |
| | | | | | where testing.expect_value can't compare nils | ||||
| * | Use positional and named arguments within the core library | gingerBill | 2023-06-21 | 2 | -6/+6 |
| | | |||||
| * | [core:testing] add global_fail_timeout_thread nil check | Totoki Kei | 2022-06-04 | 1 | -1/+1 |
| | | | | Fixed an issue where test would always fail unless set_fail_timeout was called. | ||||
| * | Update core to use new atomic intrinsics | gingerBill | 2022-03-31 | 1 | -2/+2 |
| | | |||||
| * | Enforce `-strict-style` in CI | gingerBill | 2022-01-31 | 1 | -1/+1 |
| | | |||||
| * | Make many `package time` procedures use `"contextless"` calling convention | gingerBill | 2021-10-11 | 1 | -3/+0 |
| | | |||||
| * | Move assert to implementation file | gingerBill | 2021-10-11 | 2 | -1/+2 |
| | | |||||
| * | Add `testing.expect_value`; Improve `testing.set_fail_timeout` | gingerBill | 2021-10-11 | 2 | -19/+54 |
| | | |||||
| * | Keep -vet happy | gingerBill | 2021-10-11 | 1 | -1/+0 |
| | | |||||
| * | Add `testing.set_fail_timeout` | gingerBill | 2021-10-11 | 3 | -8/+51 |
| | | |||||
| * | Make the io/conv.odin utilities be `#optional_ok` | gingerBill | 2021-09-29 | 1 | -1/+1 |
| | | |||||
| * | testing: Strip ; from test runner. | Jeroen van Rijn | 2021-09-07 | 3 | -114/+114 |
| | | |||||