Commit Graph

32 Commits

Author SHA1 Message Date
Pietro Gagliardi 5f011acc0c Somewhat hackily worked around strdup wonk. 2019-06-09 14:03:27 -04:00
Pietro Gagliardi 6d6cd66046 Freed defers after they run. Apparently this is sufficient to satisfy AddressSanitizer, which... how? I'll take it, but still, there's definitely more unfreed allocations than this... 2019-06-02 14:06:16 -04:00
Pietro Gagliardi 4ae6ab2727 Changed the testing library to allow passing different filename and line numbers through to the various logging functions; cleaned up the macro hell that was by passing the action function directly to the final logging functions in testing.c. Next commit will actually implement this. 2019-06-01 22:03:13 -04:00
Pietro Gagliardi 9ad77ac57e Rewrote a TODO. Didn't solve it yet, because I'm genuinely indecisive about this one. 2019-06-01 12:17:08 -04:00
Pietro Gagliardi efe118a81d Resolved warning suppression issue in timerDurationString(). It turns out BOTH this AND the solution were both in timer.c, and I somehow did not notice :V 2019-06-01 12:06:09 -04:00
Pietro Gagliardi a8ad49fead Made the names of format string arguments across the board consistent. Only the "public" functions in the testing library are kept expanded for documentation purposes. 2019-06-01 11:40:16 -04:00
Pietro Gagliardi 1814745646 Wrote a wrapper for vsnprintf() that calls _vcsprintf()/vsnprintf_s() on Windows, because lol. I'm going to try switching from strcpy() to strncpy() for the other cases; let's see if this works. 2019-05-31 02:52:51 -04:00
Pietro Gagliardi c090dacc4a Switched the test code to use bool wherever appropriate. Will try to do this for the rest of libui, and then I'll deduplicate the allocation and array code. 2019-05-30 22:09:45 -04:00
Pietro Gagliardi b9d445554a Started changing the tests to use bool instead of int. 2019-05-30 10:33:39 -04:00
Pietro Gagliardi a632d10701 Indented diff bodies (and all other multi-line test log prints) properly. 2019-05-29 00:35:51 -04:00
Pietro Gagliardi 07c613b2e1 Stripped the path from test log filenames. 2019-05-26 13:31:55 -04:00
Pietro Gagliardi 009a9c25aa Oops (only spotted it when forcing a failure). 2019-05-20 22:26:11 -04:00
Pietro Gagliardi 102dff6489 And added testingprivOutbufString() and enabled testingTRun(). Now to rewrite the events tests to use it. 2019-05-20 22:03:56 -04:00
Pietro Gagliardi 57e4e0d13b Removed the computedName field in testingT; we manage the memory for subtest names in testingTRun() itself. 2019-05-20 21:33:55 -04:00
Pietro Gagliardi 6412d8365f Stored the full options struct in testingT, so options can be passed to subtests; this also avoids the need to pass them into testingprivTRun(). 2019-05-20 21:22:02 -04:00
Pietro Gagliardi 3c9ff9c4bc Added a data parameter to test scaffolds; this is currently NULL, but subtests will use it (the subtest function is called directly, not through a scaffold). 2019-05-20 21:10:29 -04:00
Pietro Gagliardi bd666b8ec9 Started writing subtests. I'll need to make a few more structural changes to the test scaffolding for this. 2019-05-20 20:56:47 -04:00
Pietro Gagliardi 4112630f59 And fixed the remaining kinks with testingprivOutbuf. Now we can add subtests! (Forgot to mention that the previous commit also simplified the indent logic and split the actual function to run a test into its own function; this in particular also contributes to subtests.) 2019-05-20 20:07:59 -04:00
Pietro Gagliardi a4c6817d33 Rewrote testing.c to use testingprivOutbuf. It doesn't quite work yet... 2019-05-20 10:57:31 -04:00
Pietro Gagliardi 9bec2005a1 Added smprintf() and outbuf to the testingpriv.h functions, introducing a simpler outbuf API along the way. Changing the test suite to actually use this comes next. 2019-05-19 23:15:35 -04:00
Pietro Gagliardi 40508a457c Changed testingSet to use testingprivArray. 2019-05-19 18:06:58 -04:00
Pietro Gagliardi 2d8764f06b Split the testing allocation and print functions into their own file, and added uiprivArray as testingprivArray. Switching everything to use testingprivArray will come next. 2019-05-19 17:55:31 -04:00
Pietro Gagliardi 66f1f75992 Started rearranging things to allow for subtests; I should clean up the allocation stuff in libui first, so they can be borrowed. 2019-05-19 11:05:20 -04:00
Pietro Gagliardi 07dc3ee025 Finished the test set implementation, moving the tester itself to use it. This also moves uiInit() into main(); in TestInit, we'll hook into uiInit() to avoid actually doing the initialization. 2019-05-10 21:16:29 -04:00
Pietro Gagliardi 7f986ef073 Started adding more flexible test set functionality. 2019-05-09 22:54:14 -04:00
Pietro Gagliardi bc0d3120c8 Added verbosity to the test suite. Now we can move on. 2019-05-05 15:59:59 -04:00
Pietro Gagliardi b7f06074fb Converted testing.c to buffer test output. Also reordered test logs to be after the status line, like in Go. Now we can add verbosity control, and then maybe later even subtests! 2019-05-05 14:26:38 -04:00
Pietro Gagliardi 8b70e6d247 Cleaned up internal helper functions in testing.c, including adding one for vsnprintf() and snprintf(). This is the first step toward buffering test output and adding verbosity control. 2019-05-05 13:35:07 -04:00
Pietro Gagliardi 952b36b1c2 Added proper 128-bit muldiv() stuff for macOS and Windows. Will actually use them next. Also fixed compiling on non-Windows. 2019-05-05 02:17:11 -04:00
Pietro Gagliardi ee3e587ddc Fixed build errors on Windows. 2019-05-04 21:47:04 -04:00
Pietro Gagliardi 98093ed46e Formatted test results across multiple lines in the same way as in Go. Also prettyprinted diffs in initmain.c. 2019-05-04 21:13:47 -04:00
Pietro Gagliardi 00411a4d07 Moved all the test infrasturcture files into a subdirectory of test/ called lib/. 2019-05-04 16:53:54 -04:00