Pietro Gagliardi
|
3f4765d116
|
Renamed diffx() to diff().
|
2019-06-02 01:59:08 -04:00 |
Pietro Gagliardi
|
0c673acf70
|
Got rid of all the diff() macros; the replacement, currently called diffx(), just produces the requisite format string. Next up is renaming diffx() to diff() and making sure things work.
|
2019-06-02 01:51:40 -04:00 |
Pietro Gagliardi
|
5d1e6a0cf2
|
Began handling all the other cases. diff() and diff_2str() go away next.
|
2019-06-02 01:36:53 -04:00 |
Pietro Gagliardi
|
1cf545d369
|
Started mapping filenames and line numbers back to their appropriate places in the tester.
|
2019-06-02 01:13:56 -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
|
bd2877154f
|
Oh, it turns out there IS a warning for shutting up -pedantic. Woo!
|
2019-06-01 20:26:43 -04:00 |
Pietro Gagliardi
|
6ffe0a4c99
|
Added functionality to mark printf() functions for compilers with warning checks, and marked such. Sadly it appears ms_printf is ignored with -pedantic, so we'll need to stop using I32...
|
2019-06-01 20:20:11 -04:00 |
Pietro Gagliardi
|
ef3352c033
|
Removed the soft librt dependency for now, since we don't appear to need it, at least for Ubuntu 14.4. If that changes (for instance, if it's required by some non-Linux system or some other distro), we can always add it back.
|
2019-06-01 12:22:35 -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
|
f2ce4c8f56
|
Split the shared and static resources on the Windows tester, for the same reason.
|
2019-06-01 10:29:48 -04:00 |
Pietro Gagliardi
|
48cd6e1dd8
|
Cleaned #include directives so C standard library headers are sorted and so each source file only includes one header file. This makes things clenaer, and alos allows us to more properly strip unneeded headers later.
|
2019-06-01 09:27:17 -04:00 |
Pietro Gagliardi
|
a93f5c8f53
|
Split the strsafe strncpy() into its own header file and simplified its usage a bit.
|
2019-05-31 22:34:34 -04:00 |
Pietro Gagliardi
|
7d0f8403ab
|
Fixed build errors on other platforms. This is a headache and a half :D I should split the files into strsafe_vsnprintf and strsafe_strncpy, but I want to share this file as is in one piece for now.
|
2019-05-31 22:07:51 -04:00 |
Pietro Gagliardi
|
a17b7c8c14
|
Fixed build errors and simplified error handling in test/noinitwrongthread.c. Now to test this at runtime on all platforms.
|
2019-05-31 11:17:11 -04:00 |
Pietro Gagliardi
|
644e188e05
|
And rewrote strncpy(), since strncpy_s() also exists. Now to test the build.
|
2019-05-31 10:38:47 -04:00 |
Pietro Gagliardi
|
664cf26cdc
|
Changed strcpy() to strncpy(). Let's build on Windows!
|
2019-05-31 02:58:57 -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
|
b5a109c063
|
And wrote array_impl.h. No more code duplication in this respect! Now for some more loose ends before we move on to controls.
|
2019-05-31 00:12:08 -04:00 |
Pietro Gagliardi
|
dca2e5f038
|
Wrote array_header.h. Now for array_impl.h.
|
2019-05-30 23:47:07 -04:00 |
Pietro Gagliardi
|
0f4602ee0f
|
Moved the allocation functions to sharedbits/. Not fully working yet...
|
2019-05-30 23:11:08 -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
|
84a4fd8915
|
And wrote it on Windows. Okay, now we can FINALLY start working on controls!!!!!
|
2019-05-29 01:02:15 -04:00 |
Pietro Gagliardi
|
fd770430a9
|
And properly added init and thread checks to the uiEvent functions. Now we just need to do the same on the other platforms and THEN FINALLY we can move on to controls.
|
2019-05-29 00:41:36 -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
|
cceae4845e
|
Fixed build issues and added more cases to allcalls.h. I'm going to fix the lack of idnent on the diff()s before continuing.
|
2019-05-28 22:53:40 -04:00 |
Pietro Gagliardi
|
b5927353e0
|
Started work to test that functions dislike being called before uiInit() or on a different thread; better to do it now than later.
|
2019-05-28 21:54:13 -04:00 |
Pietro Gagliardi
|
a6c1e1ed17
|
Fixed build errors. Now to fix runtime errors.
|
2019-05-27 11:02:23 -04:00 |
Pietro Gagliardi
|
afb87bda23
|
And filled in the remainder of the uiEvent error tests. Also more TODOs. We can now FINALLY move on to uiControl :D
|
2019-05-26 21:59:59 -04:00 |
Pietro Gagliardi
|
7cb4f010d4
|
Cleaned up programmer error testing code.
|
2019-05-26 20:19:02 -04:00 |
Pietro Gagliardi
|
7808b3ee94
|
Added the hook for checking programmer error responses, and made sure it works. Now to simplify it.
|
2019-05-26 15:41:22 -04:00 |
Pietro Gagliardi
|
9060ef3852
|
More TODOs.
|
2019-05-26 15:08:51 -04:00 |
Pietro Gagliardi
|
e4f5b4f548
|
And filled in the missing gaps in the non-error cases of the uiEvent tests. Almost ready to move on!
|
2019-05-26 15:06:28 -04:00 |
Pietro Gagliardi
|
07c613b2e1
|
Stripped the path from test log filenames.
|
2019-05-26 13:31:55 -04:00 |
Pietro Gagliardi
|
dbbf84becc
|
Filled in the rest of TestEventBlocksHonored.
|
2019-05-26 13:26:58 -04:00 |
Pietro Gagliardi
|
b8b1123027
|
And rewrote TestEventBlocksHonored. Now we can expand it.
|
2019-05-25 22:30:08 -04:00 |
Pietro Gagliardi
|
f77f8d49d3
|
Restructured TestEventSendersHonored to use the new deinterleaved handler; this also makes it use baseParams and creates events per impl rather than globally.
|
2019-05-25 22:21:16 -04:00 |
Pietro Gagliardi
|
a8ab5be01a
|
Started deinterlacing the handler got and want parameters into struct handler.
|
2019-05-25 22:07:56 -04:00 |
Pietro Gagliardi
|
3cd08a5b2d
|
Simplified the event structures. Next step is to deduplicate handlers.
|
2019-05-25 21:19:22 -04:00 |
Pietro Gagliardi
|
c41ac17dd4
|
Rewrote test/events.c to localize the actual uiEventFire() testing code.
|
2019-05-25 21:11:03 -04:00 |
Pietro Gagliardi
|
d6cde02825
|
More event tests. Okay, I definitely need a better way to handle these.
|
2019-05-23 21:42:52 -04:00 |
Pietro Gagliardi
|
5a6c302ae0
|
Added TestEventSendersHonored.
|
2019-05-22 11:44:30 -04:00 |
Pietro Gagliardi
|
bf3492cd9c
|
Cleaned up event test names.
|
2019-05-22 11:16:15 -04:00 |
Pietro Gagliardi
|
d346a8ca8e
|
Laid out the other things to test for events.c.
|
2019-05-21 21:12:01 -04:00 |
Pietro Gagliardi
|
43fd636071
|
And cleaned up the subtest architecture and made both tests properly subtested. Now for the rest of the tests.
|
2019-05-21 21:01:13 -04:00 |
Pietro Gagliardi
|
bf1172bc0a
|
Parameterized TestBasicEventsAddDeleteEventHandlers. Now we'll split it into subtests.
|
2019-05-21 20:16:41 -04:00 |
Pietro Gagliardi
|
009a9c25aa
|
Oops (only spotted it when forcing a failure).
|
2019-05-20 22:26:11 -04:00 |
Pietro Gagliardi
|
7be128d5bb
|
Changed TestBasicEventsSingleHandler to use subtests. It works!
|
2019-05-20 22:20:04 -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
|
9f0bb3aacb
|
Fixed uiprivArray/testingprivArray bugs that led to the crash. Now to fix up the rest of the code.
|
2019-05-20 11:12:16 -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
|
35759935ae
|
Added more cases to the AddDelete tests. Now to add subtests so we can more easily pluralize these tests, including handling cases of different senders.
|
2019-05-19 01:06:43 -04:00 |
Pietro Gagliardi
|
973696137f
|
Reduced noise in event tests when a handler that should have run did not run.
|
2019-05-18 22:21:23 -04:00 |
Pietro Gagliardi
|
3b1f5e0e54
|
Added more event tests. DeleteHandler obviously does not work... and I really need to add subtests.
|
2019-05-18 21:21:55 -04:00 |
Pietro Gagliardi
|
43f7d1a661
|
Started the events test suite.
|
2019-05-18 13:26:55 -04:00 |
Pietro Gagliardi
|
637c7a7e2c
|
Oops
|
2019-05-10 21:36:38 -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
|
3ebc58a5bf
|
Fixed build issues in MinGW-w64.
|
2019-05-05 15:20:54 -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
|
d49f8ae7e6
|
Switched the macOS code to use timerprivInt128ToUint64(). Also rearranged the arguments of timerprivInt128ToInt64() and added proper timerDurationMin/Max constants instead of the incorrect-for-that-function timerTimeMin/Max in the Windows code.
|
2019-05-05 11:16:17 -04:00 |
Pietro Gagliardi
|
ff803bf792
|
And implemented 128-bit muldiv on Windows.
|
2019-05-05 11:03:17 -04:00 |
Pietro Gagliardi
|
288c74b026
|
Implemented the new MulDiv128 stuff on macOS. To make things easier in regards to signedness, this implementation also uses a base, like the Unix one, and the mach_timebase_info() conversion is done in timerMonotonicTime() instead. (Also added the admittedly-redundant-since-the-current(ish)-implementation-cannot-fail error check to mach_timebase_info().) As a result, timerTimeSub() can now be end - start on all platforms. Also found and fixed bugs in the actual muldiv128 algorithm implementation. Next up: Windows.
|
2019-05-05 03:17:11 -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
|
4c097f93f7
|
Implemented error checks in test/initmain.c.
|
2019-05-04 19:21:57 -04:00 |
Pietro Gagliardi
|
09e98af110
|
Removed a stale TODO caused by inaccurate timer code (that was in response to the old clock()-based Unix code).
|
2019-05-04 19:04:32 -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 |
Pietro Gagliardi
|
57abc83fe3
|
And split all the thread stuff into their own file. Almost done with all this test library cleanup!
|
2019-05-04 16:47:56 -04:00 |
Pietro Gagliardi
|
89e882c4a8
|
And fixed build errors on non-macOS systems. We're good!
|
2019-05-04 14:44:29 -04:00 |
Pietro Gagliardi
|
bfd608cf8e
|
And of course setitimer() doesn't allow us to override the struct sigvalue, so we can't chain out to outer SIGALRM calls. Hooray for global state!
|
2019-05-04 14:31:33 -04:00 |
Pietro Gagliardi
|
5836a2a236
|
Ugh, macOS doesn't support timer_create() and friends :| (Even up to 10.13, it seems; not sure about 10.14!) Switch back to setitimer(). Also rename oldsig to prevSig and remove a needless (for now???) cast.
|
2019-05-04 14:24:22 -04:00 |
Pietro Gagliardi
|
8655bbf19c
|
Finished porting over the timer functions from testing_darwinunix.c to timer_darwinunix.c. This also includes changing timerRunWIthTimeout() from using setitimer() to using timer_create() and friends, and removing the fallbacks from timerSleep().
Also fixed a possible incorrect use of TlsSetValue() in the Windows code that I spotted while writing an intermediate version of the Unix code.
|
2019-05-04 12:13:07 -04:00 |
Pietro Gagliardi
|
6a25efce63
|
Started writing the new timer_darwinunix.c file; implemented the monotonic time functions for now. On non-macOS, we now require clock_gettime() to be successful, as GLib also does (at least as far back as the version that ships with Ubuntu 14.04); we also gather the time at first call and use that as the basis for returning a single integer from timerMonotonicNow(), so timerTimeSub() is a simple subtraction now. The logic for this conversion is based on the logic of timevalsub() in macOS's sys/time.h, though this is really simple to understand.
|
2019-05-03 23:03:38 -04:00 |
Pietro Gagliardi
|
e9fd8cc878
|
And made timerRunWithTimeout() use the non-reentrant code on all architectures. Windows code done.
|
2019-05-03 10:41:27 -04:00 |
Pietro Gagliardi
|
020cabc61e
|
Fixed build issues. Now to fix runtime issues: we'll have to use reentrancy everywhere, because rcx is clobbered by GetMessage().
|
2019-05-03 10:32:31 -04:00 |
Pietro Gagliardi
|
dbfea28313
|
And finished adjusting the tests accordingly. Now to test.
|
2019-05-03 02:02:20 -04:00 |
Pietro Gagliardi
|
e2baa5bb5c
|
And finished rewriting timerRunWithTimeout() on Windows, including reentrancy improvements, race condition elimination, setjmp() volatility correctness fixes, and global state reduction.
|
2019-05-03 01:54:26 -04:00 |
Pietro Gagliardi
|
8b5b03794c
|
Started moving testingRunWithTimeout() into timer.h.
|
2019-05-02 23:15:49 -04:00 |
Pietro Gagliardi
|
313f5864f5
|
Fixed the timer functions on Windows.
|
2019-05-02 22:03:57 -04:00 |
Pietro Gagliardi
|
42623f92e9
|
And started breaking apart the timer functions.
|
2019-05-02 12:38:59 -04:00 |
Pietro Gagliardi
|
5537e823ef
|
Started splitting out the timer stuff into its own mini-library. Also I decided to drop the fallback stuff, since we run on new enough systems anyway, and nanosleep() is available on every version of macOS we need anyway.
|
2019-05-02 12:14:08 -04:00 |
Pietro Gagliardi
|
99a0f9084c
|
Fixed building on Ubuntu Trusty.
|
2019-05-02 02:01:42 -04:00 |
Pietro Gagliardi
|
796a9cf010
|
Resolved some TODOs in testing_darwinunix.c, including writing a more elaborate implementation of testingSleep().
|
2019-04-30 21:00:52 -04:00 |
Pietro Gagliardi
|
7d29c4346d
|
Decided not to make the thread functions report errors to the testingT object; I'm still not a big fan of the thread model here, but I'd like to actually split the thread functions out of the testing library entirely, since they are only used for the tests in initmain.c.
|
2019-04-30 13:15:36 -04:00 |
Pietro Gagliardi
|
25d4021269
|
Resolved timer/duration variable name TODO.
|
2019-04-30 09:32:48 -04:00 |
Pietro Gagliardi
|
965dec0157
|
Settled the PostThreadMessage() TODOs in the Windows testing code.
|
2019-04-30 02:31:08 -04:00 |
Pietro Gagliardi
|
848c3813ee
|
Cleaned up the error handling in the Windows testing code by also creating HRESULT functions for whatever it calls. This resolves a bunch of the TODOs in that file.
|
2019-04-30 01:18:48 -04:00 |
Pietro Gagliardi
|
db6b6fd97b
|
Provided a mechanism for the testing library to abort on an internal error; redefined memory allocation to do so. This will also be used for resolving many of the TODOs on the Windows testing code.
|
2019-04-29 23:46:08 -04:00 |
Pietro Gagliardi
|
05af10aade
|
Added ARM64 to the CPU-specific Windows testing code.
|
2019-04-29 22:34:28 -04:00 |
Pietro Gagliardi
|
2282ee2cf8
|
Removed TODOs about overflow; we really can't handle overflow properly anyway, so eh.
|
2019-04-29 00:18:26 -04:00 |
Pietro Gagliardi
|
f948c30a3b
|
Simplified testingTimerNsec() on Windows. _div128() would make this super simple, but that's only available on VS2019, and it seems no one has implemented this in software elsewhere (the most I can find are unsigned ones...).
|
2019-04-28 23:20:01 -04:00 |
Pietro Gagliardi
|
3257710fb7
|
Fixed bad timers on GTK+ tests. Turns out that clock() doesn't count when the process isn't actively running code (for instance, if it's waiting for I/O) :|
|
2019-04-28 21:49:54 -04:00 |
Pietro Gagliardi
|
74468bb38f
|
And implemented the multithreading stuff on Unix and Darwin. We can finally continue re-adding stuff to libui!
|
2019-04-28 21:22:11 -04:00 |
Pietro Gagliardi
|
df8eadb980
|
And added the multithreaded uiQueueMain() tests.
|
2019-04-28 20:45:53 -04:00 |
Pietro Gagliardi
|
6c41fb712e
|
More notes.
|
2019-04-28 19:11:52 -04:00 |
Pietro Gagliardi
|
74ca863c1b
|
More TODOs.
|
2019-04-28 19:07:41 -04:00 |
Pietro Gagliardi
|
5fb4e4403e
|
And implemented testingRunWithTimeout() on Windows. All tests currently pass on all platforms! Woo!
|
2019-04-28 19:04:27 -04:00 |
Pietro Gagliardi
|
8ffb2b1b1e
|
Fixed build warnings and errors. Now we just need to implement testingRunWithTimeout() on Windows.
|
2019-04-28 16:35:25 -04:00 |
Pietro Gagliardi
|
49bde22f81
|
More TODOs.
|
2019-04-28 14:54:33 -04:00 |
Pietro Gagliardi
|
bdf80516c5
|
Reimplemented uiMain() and friends on GTK+.
|
2019-04-28 14:52:39 -04:00 |
Pietro Gagliardi
|
b20bf2d1c9
|
Wrote TestQueueMain_Sequence.
|
2019-04-28 14:41:30 -04:00 |
Pietro Gagliardi
|
e03021a350
|
Piped the actual file/line through to testingRunWithTimeout().
|
2019-04-28 13:26:15 -04:00 |
Pietro Gagliardi
|
64478bd5b0
|
Finished cleaning up the TimerNsec naming wonk.
|
2019-04-28 13:19:04 -04:00 |
Pietro Gagliardi
|
1bc2297597
|
Added a facility to do timeouts in test functions. Also started cleaning up the weird TimerNsec abstractions.
|
2019-04-28 13:12:40 -04:00 |
Pietro Gagliardi
|
9c70782a0f
|
Added uiMain() and friends on macOS and refined the tests. So now we'll need to add a timeout mechanism because that sendEvent: stuff really is still neeeded and I'd like to prevent shenanigans later.
|
2019-04-28 11:48:21 -04:00 |
Pietro Gagliardi
|
aa49da98ba
|
And implemented testingTimer on Windows.
|
2019-04-23 22:49:28 -04:00 |
Pietro Gagliardi
|
7e631879e7
|
Wrote the Unix clock function. It's primitive, but it works.
|
2019-04-23 12:26:52 -04:00 |
Pietro Gagliardi
|
4bd1ba2fa5
|
Oops; flipped a boolean.
|
2019-04-22 23:03:12 -04:00 |
Pietro Gagliardi
|
bd1ca240e3
|
Added timers to the testing framework, test timing (so no more of those pesky TODOs), and the OS X implementation of test timing.
|
2019-04-22 23:01:55 -04:00 |
Pietro Gagliardi
|
23591eeefa
|
Executive decision: drop uiUnint(). This was really more for double-checking *my* work, mostly with regards to memory management, and we could probably do that in the test suite instead, or even with AddressSanitizer.
|
2019-04-21 20:59:36 -04:00 |
Pietro Gagliardi
|
80ca6e2fc1
|
More notes.
|
2019-04-21 18:00:38 -04:00 |
Pietro Gagliardi
|
63952a3e20
|
ANd integrated the test manifest back into the tester.
|
2019-04-21 17:59:29 -04:00 |
Pietro Gagliardi
|
b8b3b3df39
|
Fixed the rest of the build errors and warnings. Woo! Now for the manifests.
|
2019-04-21 17:28:47 -04:00 |
Pietro Gagliardi
|
f7867f3427
|
ALMOST fixed the build on Windows with MSVC. (For the change to test/testing.h: Even in VS2019 inline isn't available in C, ugh. That function doesn't need to be inline anyway, so eh.)
|
2019-04-21 15:08:09 -04:00 |
Pietro Gagliardi
|
484989e925
|
Implemented uiInit() on macOS. The tests work so far!
|
2019-04-20 21:38:26 -04:00 |
Pietro Gagliardi
|
5e45afd0a2
|
More TODOs.
|
2019-04-19 12:13:08 -04:00 |
Pietro Gagliardi
|
6f3d45b107
|
Made it so that normal and after tests don't run if before tests failed.
|
2019-04-19 12:12:13 -04:00 |
Pietro Gagliardi
|
da36b304f8
|
Wrote the uiInit() test.
|
2019-04-19 12:10:45 -04:00 |
Pietro Gagliardi
|
e5e60284fb
|
More desirable sorting of tests: by line number per file, specifically. Also per-file, but that can remain unguaranteed if I ever spin this out into its own library.
|
2019-04-17 22:58:44 -04:00 |
Pietro Gagliardi
|
16c6425200
|
Reorganized test sets into growing arrays. We can sort them next.
|
2019-04-17 22:12:32 -04:00 |
Pietro Gagliardi
|
dcf34e6dab
|
Set up the necessary work for having the list of tests sort by filename/line number instead of init order.
|
2019-04-17 21:49:47 -04:00 |
Pietro Gagliardi
|
59b449b920
|
Added rudimentary test ordering, for the Init and Uninit tests.
|
2019-04-10 20:17:40 -04:00 |
Pietro Gagliardi
|
1b046e763b
|
Fixed the test suite.
|
2019-04-10 20:11:44 -04:00 |
Pietro Gagliardi
|
4f381d04a1
|
Added some test cases and the build script.
|
2019-04-10 14:42:17 -04:00 |
Pietro Gagliardi
|
759d6d1e46
|
Allowed deferred functions to access the testingT. If they call FailNow, we act as if nothing happens and the defers keep running.
|
2019-04-10 14:27:21 -04:00 |
Pietro Gagliardi
|
0149639edc
|
Cleaned things up a bit for libui's test suite.
|
2019-04-10 14:19:17 -04:00 |
Pietro Gagliardi
|
b26e0677af
|
Okay, I'm not satisfied with the other testing frameworks, so strip testing.h down to just what libui needs.
|
2019-04-10 13:23:25 -04:00 |
Pietro Gagliardi
|
ced0820e39
|
Undo that; this is probably overkill for libui's unit tests...
|
2019-04-10 12:55:37 -04:00 |
Pietro Gagliardi
|
5a0477d46d
|
Moved the testing files back here since we're actually going to start writing proper unit tests now.
|
2019-04-10 12:18:08 -04:00 |
Pietro Gagliardi
|
992d8694a9
|
Let's start the remodel. Move almost everything out of the way.
|
2019-04-08 20:36:21 -04:00 |
Pietro Gagliardi
|
f7907f38c6
|
Decided to just deal with the name tester instead of test for now. It's not that important to block merging.
|
2019-03-31 11:09:16 -04:00 |
Pietro Gagliardi
|
ff3d39213e
|
Decided to just build everything by default and not have separate all or examples targets since we don't really have much control over what's a top-level target anyway (and ninja on its own == ninja all). Also set layout to flat by default, since it keeps everything together, which will lead to less surprising behavior on Windows and is more useful for our release packages.
|
2019-03-31 11:04:20 -04:00 |
Pietro Gagliardi
|
81e25f76f2
|
Moved the binary PIC as a TODO and marked merge blockers as MESONTODO. Also removed a stale cmake-era TODO, because the manifest distribution idea it had will eventually be part of the uires tool.
|
2019-03-27 21:34:09 -04:00 |
Pietro Gagliardi
|
99f2b8f5ad
|
And settled test/CMakeLists.txt; nothing there that needed to be moved.
|
2019-03-27 01:07:03 -04:00 |
Pietro Gagliardi
|
1b9250e41e
|
Removed include_directories hackery, as suggested by various people in freenode #mesonbuild.
|
2019-03-25 20:07:22 -04:00 |