Commit Graph

527 Commits

Author SHA1 Message Date
Pietro Gagliardi 8db1d5474b Included testhooks.h from uipriv.h and test.h, to make things easier to write (we won't have to keep remembering to include it in every file) and to clean up (ditto, but for removal). 2020-05-22 16:32:04 -04:00
Pietro Gagliardi 7aeb937b93 Added methods to uiControl to catch and handle parent changing from the perspective of the individual controls. This will be used to implement the transition from not being backed by an OS handle to being backed by one and back on Windows, and should be all we need to start re-adding controls after uiWindow. 2020-05-13 12:43:40 -04:00
Pietro Gagliardi 150fa7eaa6 Renamed testparent to testrunner. (Whatever this became wasn't going to be testparent anyway; that was me thinking ahead to XCTest for macOS testing, which we're almost to the point of...) 2020-05-12 02:05:30 -04:00
Pietro Gagliardi 1cf87d5c5e And Haiku. 2020-05-12 01:46:36 -04:00
Pietro Gagliardi de5205d594 And with Unix. 2020-05-11 22:37:17 -04:00
Pietro Gagliardi e73c3363ec Reintegrated the Windows control tests. We may be close to getting rid of zNEW_test! 2020-05-11 22:30:30 -04:00
Pietro Gagliardi 22bcf088e9 And reintegrated the macOS tests. Now for the other platforms. 2020-05-11 22:19:07 -04:00
Pietro Gagliardi 76eef19a2b Clarified something in test/errors.c. 2020-05-11 21:03:31 -04:00
Pietro Gagliardi 19a776e446 And integrated the cycle-checking code. Woo it's got tests! Now we need to worry about the OS-side test code, assuming I don't have any more pesky TODOs to fix immediately... 2020-05-11 21:02:04 -04:00
Pietro Gagliardi b1d733e9a2 Reworked programmer error tests to limit what they catch. The cycle checking tests now correctly crash and burn because the programmer errors they throw are elsewhere. Now to actually hook up the cycle checking! Also added some notes to test/errors.c to explain what we're doing and also fixed the build. 2020-05-11 20:55:34 -04:00
Pietro Gagliardi 1cf4a3df21 Filled in the missing uiControl tests and demoted the non-uiControl requirements to TODOs as I'm not sure how sensible those requirements are. I'll probably bring them back shortly =P Now to implement cycle checking. 2020-05-11 10:32:17 -04:00
Pietro Gagliardi dfd045b3cc Resolved all the TODOs in test/controls.c I care to right now. I still need to write tests for the other failure conditions that aren't tested yet. 2020-05-11 00:52:22 -04:00
Pietro Gagliardi 9b1be0c77a More TODO resolution. 2020-05-10 23:59:09 -04:00
Pietro Gagliardi e71c717b31 Made the test for an invalid control type slightly more robust by not using either 0 or 5 for the fake object (but rather some other value that isn't the constant and that's also conveniently ASCII) and deduplicating the redundant tests. 2020-05-10 22:00:49 -04:00
Pietro Gagliardi c52656f2c2 Explicitly specified 0 as the invalid control type and stopped using 5 as an invalid control type. 2020-05-10 21:54:37 -04:00
Pietro Gagliardi 3689d3c96a More TODOs. 2020-05-10 21:45:33 -04:00
Pietro Gagliardi b710ef6228 Fixed building these tests. 2020-05-10 21:39:44 -04:00
Pietro Gagliardi 436cb567dc Integrated the contents of the old controls_errors.cpp directly into controls.c. We need to rework some test control stuff to get this to compile, and we'll also need to add more test cases for things in the docs that are not in this file. 2020-05-10 21:29:03 -04:00
Pietro Gagliardi d584842628 Started reintegrating control tests. 2020-05-10 17:58:48 -04:00
Pietro Gagliardi 5d17ee6e70 Finished reintegrating test/noinitwrongthread.c. That was easy! 2020-05-10 14:57:03 -04:00
Pietro Gagliardi 21a0550076 Reintegrated test/noinitwrongthread.c into the fold. Now to test. 2020-05-10 14:49:11 -04:00
Pietro Gagliardi 32512c7a5e More TODOs in re previous commit. Okay let's keep going. 2020-05-10 12:15:21 -04:00
Pietro Gagliardi dca16e82b0 Kicking this can down the road because I need to move on (though I may add more TODOs about it) 2020-05-10 11:58:17 -04:00
Pietro Gagliardi 3a31401190 Okay, started writing the interleaving tests. I'm starting to feel like this thread-based model of testing isn't the right approach... 2020-05-10 11:50:05 -04:00
Pietro Gagliardi 4163facc11 Settled most of the remaining non-timer TODOs in test/initmain.c. Just one more (duplicated on two different tests) to go! 2020-05-09 23:10:58 -04:00
Pietro Gagliardi 87e042a309 Wrote in the remaining programmer error tests in test/initmain.c. 2020-05-09 22:34:42 -04:00
Pietro Gagliardi c9339e568c Finished converting the rest of the existing tests. Now we just need to flesh out the remaining tests for this file, as well as adding the error tests for uiMain() and uiQuit(). 2020-05-09 22:14:31 -04:00
Pietro Gagliardi 7a83baefe8 Started reworking all the uiQueueMain() tests to be more robust. 2020-05-09 21:54:26 -04:00
Pietro Gagliardi bbae57ea29 Refined the init tests slightly, started a new model for the QueueMain tests, and allowed tests to run for now. 2020-05-09 20:04:14 -04:00
Pietro Gagliardi 73afdaaeb2 Improved the main QueueMain test. 2020-05-09 16:54:18 -04:00
Pietro Gagliardi c39bd66d38 Cleaned up the init tests. 2020-05-09 16:35:01 -04:00
Pietro Gagliardi a2f0d5c2cd Implemented the rest of the uiInit() tests. A bit repetitive, but it works. 2020-05-09 02:38:07 -04:00
Pietro Gagliardi 9fcc4d500c Adapted test/errors.c to test for the lack of a programmer error. 2020-05-09 02:33:18 -04:00
Pietro Gagliardi 41e62cdce1 Added basic testing for init failing. Now to add support for testing for the lack of a programmer error. 2020-05-09 02:04:51 -04:00
Pietro Gagliardi 761d3a434a Started to fix init/main tests. 2020-05-09 01:45:09 -04:00
Pietro Gagliardi dea7b52605 Revert "Made thread names consistent."
I don't know if I want to do this yet.

This reverts commit 456fb594c0.
2020-05-09 00:34:51 -04:00
Pietro Gagliardi 456fb594c0 Made thread names consistent. 2020-05-09 00:18:06 -04:00
Pietro Gagliardi 69bf71aaa1 Decided to hold off on events for now. I'm still not sure about this design and it's holding me back. 2020-05-08 00:16:14 -04:00
Pietro Gagliardi 0d9f58b5e1 Rewrote test/errors.c as previously planned. checkProgrammerErrors() is no longer self-contained, but rather a header and a footer function. We'll need to change the handling of test/noinitwrongthread.c in the Python appropriately, but this'll be fine. (Plus, we can localize the inThread logic into that file too!) 2020-02-23 18:04:23 -05:00
Pietro Gagliardi 5a7777ffaa Temporarily turning off the files with checkProgrammerError(). Going to rewrite that to be more amenable to our testing system and not need C++ closures. 2020-02-23 17:36:10 -05:00
Pietro Gagliardi 48fd34781e Re-added test/events_errors.cpp. Yay C++ 2020-02-23 15:20:12 -05:00
Pietro Gagliardi e9be6b9502 Finished migrating test/events.c. 2020-02-19 22:44:48 -05:00
Pietro Gagliardi a23bd0f786 Fixed the build. It works so far! 2020-02-18 01:08:38 -05:00
Pietro Gagliardi c269d1f6bc Started re-integrating test/events.c. It doesn't quite work yet, but it appears I need to reboot AGAIN because now both acme and pbcopy/pbpaste are being dumb with the clipboard... 2020-02-17 15:01:20 -05:00
Pietro Gagliardi cdc570082c Added TestDefer(), which we need to bring back the events tests. 2020-02-16 21:54:17 -05:00
Pietro Gagliardi 3f3de363b5 And integrated the new test stuff. All right! 2020-02-16 18:42:02 -05:00
Pietro Gagliardi 18c7eae71e Integrated the new testlist.py into the build. 2020-02-16 18:31:53 -05:00
Pietro Gagliardi f95c87dc96 Wrote in the missing functionality to the new testlist.py. 2020-02-16 13:48:20 -05:00
Pietro Gagliardi cfc4b60ea1 Oops, it was working the whole time; I was being dumb and feeding it the wrong input when testing. 2020-02-16 13:22:45 -05:00
Pietro Gagliardi 27a701c371 Rewrote testlist.py to allow producing an auxiliary file (or auxiliary files) to allow not having to compute the test lookup table in testparent (though we're not doing that yet). It mostly works. 2020-02-16 12:56:55 -05:00