Commit Graph

547 Commits

Author SHA1 Message Date
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
Pietro Gagliardi 83129eeef5 Normalized uiprivInternalError() calls to always try to fail gracefully, and make sure errors don't call abort() so we can resume when debugging (and because this isn't really our decision to make...). (The debugger breaks will be removed from release builds when we get to that point.) Finally, refined some TODOs and removed some stale ones (in this case, that were related to the first few things). 2020-02-09 13:37:45 -05:00
Pietro Gagliardi cce4419b9a Got Windows working again. 2020-01-28 21:29:45 -05:00
Pietro Gagliardi 9ceed7c62d Fixed errors.c. 2020-01-26 20:06:12 -05:00
Pietro Gagliardi 001e439a9b Started properly reintegrating the core of noinitwrongthread.c (that is, errors.c). 2020-01-26 20:02:03 -05:00
Pietro Gagliardi 8b400f33f7 More initmain.c integration. I think we're now complete to what it used to be for that one file. Now I have to figure out how to readd subtests... 2020-01-23 21:44:45 -05:00
Pietro Gagliardi 7bb67c3e46 More adaptations. 2020-01-23 21:36:50 -05:00
Pietro Gagliardi 042da74cc9 Started restructuring things slightly so as to allow the new test functions to be safely called from subroutines. 2020-01-23 10:52:41 -05:00
Pietro Gagliardi cd2d64c228 Started reintegrating the noinitwrrongthread.cpp cases. Also made it C instead of C++ because maybe Plan 9 one day??? Either way, not ready to test yet. 2020-01-21 15:31:41 -05:00
Pietro Gagliardi b1b60f6077 Reintegrated timerSleep() (now threadSleep() because I'm not bloating things further). initmain.c fully restored! 2020-01-21 15:13:24 -05:00
Pietro Gagliardi b722922428 Reintegrated the test's thread helper functions and the thread test functions in initmain.c. Phew. 2020-01-21 14:19:52 -05:00
Pietro Gagliardi d51a885431 Reintroduced the test type without uiInit() and added uiInit() to most normal tests. Now to start (slowly) reactivating tests. 2020-01-21 01:16:47 -05:00
Pietro Gagliardi da1f9b4875 And fixed compiler errors. It works! 2020-01-20 20:58:19 -05:00
Pietro Gagliardi c014fb5989 Fixed the meson configuration. 2020-01-20 20:55:37 -05:00
Pietro Gagliardi f75875e51b And finished reintegrating enough for one test case. 2020-01-20 20:52:46 -05:00
Pietro Gagliardi 4f2db68520 Reintegrated what I needed in test.h. So much for "overengineered". 2020-01-20 20:49:33 -05:00
Pietro Gagliardi 2ccabe69f2 Started reintegrating initmain.c, sort of. I screwed up and need to redo it. 2020-01-20 20:17:44 -05:00
Pietro Gagliardi 0c66fc3995 Wrote the python script to generate the list of test cases and integrated it into meson.build. This should be fun. 2020-01-20 18:18:58 -05:00
Pietro Gagliardi f4218af3f5 Filled in the rest of test(ing).h and main.c for the new test system. 2020-01-20 17:22:37 -05:00
Pietro Gagliardi c95cefaa1c Started writing the new test parent, which will run tests that do not need to spawn a child process to do UI tests with XCTest. Wow I overengineered testingpriv... Also now that I have Solaris Studio I might as well add __SUNPRO_C support. 2020-01-19 22:42:59 -05:00
Pietro Gagliardi 75db846736 Looks like we're going to need to turn the test suite into a subprocess-based suite now rather than later, because of Haiku not allowing BApplication::Run() to be called more than once. 2020-01-19 18:59:43 -05:00
Pietro Gagliardi de76afd43a And filled in haiku tests. It builds, but doesn't run. 2020-01-18 20:25:49 -05:00
Pietro Gagliardi d0edd9e738 Started a new Haiku port. 2020-01-12 22:48:28 -05:00
Pietro Gagliardi 9d4253ad6d Fixed build on FreeBSD. 2020-01-02 22:30:31 -05:00
Pietro Gagliardi 0264ea9905 BIG OOPS 2019-06-18 20:36:17 -04:00
Pietro Gagliardi c17f854d04 And added uiControlOSVtable on Windows. We're now back to building everywhere! :D 2019-06-18 20:31:28 -04:00
Pietro Gagliardi 80ada0a06b And implemented the bare bones of uiControlOSVtable on GTK+. 2019-06-18 20:19:32 -04:00
Pietro Gagliardi 4649e7d632 Oh wait, we leave that to the individual containers. Never mind! Let's write this on other platforms!! 2019-06-18 11:02:39 -04:00
Pietro Gagliardi 644afdedaf Added uiControlOnFree() checking to test/control.c. Now we can add the tests for uiControlFree() calling Free on children, and then we can finally start implementing these on the other platforms :D 2019-06-18 10:59:56 -04:00
Pietro Gagliardi a1b0979506 Rewrote test/controls.c to be about counting calls. 2019-06-18 10:48:10 -04:00
Pietro Gagliardi dcae8888d2 More controls test work. 2019-06-17 20:03:57 -04:00
Pietro Gagliardi a9145c2f35 Started writing the uiControl functionality tests. Also more TODOs. Let's fix build errors next. 2019-06-16 21:44:49 -04:00
Pietro Gagliardi 6b161efed7 Added uiControlSetParent() to allcalls.h. 2019-06-16 21:28:16 -04:00
Pietro Gagliardi a907353c9c Workaround for now. I should have specified in the bug that I overlooked it because my version of clang seems to use C99 for Objective-C by default, but not for Objective-C++. I'll do that when I'm next online. Anyway, now to write uiControl functionality tests. 2019-06-16 21:26:05 -04:00
Pietro Gagliardi 517791f04e Started writing the macOS control errors file. We have a meson problem now... it's not respecting cpp_std for Objective-C++. 2019-06-16 20:35:36 -04:00
Pietro Gagliardi aa7da7b647 And added those control errors. Back to passing, and more importantly, back to actually writing tests! (Once we get to the uiControlOSVtable tests, that is...) Also more TODOs. 2019-06-16 20:03:37 -04:00
Pietro Gagliardi fda6c4a743 And strengthened the uiControlType() test a bit. 2019-06-16 17:32:47 -04:00
Pietro Gagliardi c28adcbd01 Added test hook for checking a malformed uiControl whose type field is invalid. 2019-06-16 17:26:03 -04:00
Pietro Gagliardi f90150a579 More filling in of the uiControl errors tests. 2019-06-16 13:06:28 -04:00
Pietro Gagliardi 0d61f674c5 Filled in some error messages in the previous commit. More TODOs. 2019-06-16 10:28:27 -04:00
Pietro Gagliardi 0bc347dd62 Stubbed out most of the other uiControl errors to test. 2019-06-16 10:20:21 -04:00
Pietro Gagliardi 3e96dafe44 Created the test uiControl type. Now we can start writing the rest of the uiControl tests. 2019-06-16 05:45:16 -04:00
Pietro Gagliardi ed5bbc4dbd And added uiControlVtable NULL method tests. Woo! 2019-06-15 23:38:17 -04:00
Pietro Gagliardi 29309ab040 And also FINALLY added the internal uiEvents to the uiEventFree() test. 2019-06-15 21:45:35 -04:00
Pietro Gagliardi 29ce809772 And FINALLY fixed the NULL name error in uiRegisterControlType(). 2019-06-15 21:38:21 -04:00
Pietro Gagliardi 0550e4bc00 Turned testVtable into a function that returned the pointer to use, made the OSVtable equivalent likewise, and renamed darwin/control.m to darwin/controls.m. 2019-06-15 21:33:53 -04:00
Pietro Gagliardi b6a8d24c3e And fixed const issues and other build errors. 2019-06-15 20:48:20 -04:00
Pietro Gagliardi ad209175c1 Migrated controls_errors.h. Now I need to add consts to uiRegisterControlType() and friends. 2019-06-15 20:38:18 -04:00
Pietro Gagliardi 4d78b5a3ef Migrated noinitwrongthread.c. 2019-06-15 20:17:45 -04:00
Pietro Gagliardi 8c7f1987da And fixed build errors. It works! Now to translate everything else back. 2019-06-15 20:06:12 -04:00
Pietro Gagliardi 83dc1d6065 And removed errors.h. 2019-06-15 19:59:17 -04:00
Pietro Gagliardi c2bace108d And finished rewriting events_errors.h. 2019-06-15 19:58:46 -04:00
Pietro Gagliardi f966b6ee16 Adapted everything to life with C++ and to the new error checking model. 2019-06-15 19:53:50 -04:00
Pietro Gagliardi c74fc09261 Started rewriting the error checks in C++, because ugh. 2019-06-15 19:28:47 -04:00
Pietro Gagliardi 5d63b34904 I should probably just switch all this to C++ at this rate. 2019-06-14 20:15:39 -04:00
Pietro Gagliardi f517742a3c Started rewriting events_errors.c to use a new errors.h that will do all the hard work. We'll need to do slightly more work for this particular case because of the firing stuff, though. 2019-06-13 21:20:39 -04:00
Pietro Gagliardi ae4bfea10b Started rewriting events_errors.c to mention events less; this will turn into an events.h that will do all the heavy lifting. 2019-06-13 20:57:15 -04:00
Pietro Gagliardi ab82278a30 And got things building. Now to clean up the error macro part. 2019-06-13 10:43:44 -04:00
Pietro Gagliardi d54f23c0cc Deduplicated the common defer functions. 2019-06-13 10:39:40 -04:00
Pietro Gagliardi f3b0dc16ab Slight refactoring of the controls test. One more thing to do for now. 2019-06-13 10:31:17 -04:00
Pietro Gagliardi c1ca78c46e Split the events.c errors test into its own file. 2019-06-12 11:12:08 -04:00
Pietro Gagliardi 47a8ccaf98 And filled in the error messages in controls_errors.h. 2019-06-12 11:03:21 -04:00
Pietro Gagliardi 63773f703c Fixed build errors. The test itself will fail at present, but we have some cleanups to do still... 2019-06-11 21:29:25 -04:00
Pietro Gagliardi e30ed33046 Finished rewriting test/controls.c for the initial run. Now to fix errors. 2019-06-11 21:23:56 -04:00
Pietro Gagliardi 28a5cd543a Started writing the uiControl error tests. 2019-06-11 12:01:35 -04:00
Pietro Gagliardi 6903bebe7d Started writing the controls Darwin-specific code and all-platforms tests for real. 2019-06-10 23:09:48 -04:00
Pietro Gagliardi 7e3d6d2b1c And fixed build and runtime errors. This works! Woo! We can now move on to uiControl for real this time! (Will resolve the TODOs later.) 2019-06-10 11:36:44 -04:00
Pietro Gagliardi a0fc3187e2 And rewrote events.c to use the new error checking framework. Now to fix build and possibly runtime errors. 2019-06-10 11:24:33 -04:00
Pietro Gagliardi 7b10fa729b More TODOs. 2019-06-10 10:42:11 -04:00
Pietro Gagliardi 70ff47cb06 Wrote a new file to store the uiEvent error test cases. 2019-06-10 10:41:33 -04:00
Pietro Gagliardi afbf5f2d59 And actually did split the new error testing code into its own file. Next is changing both events.c and controls.c to use it (and yes, that means we can finally start continuing work on controls.c). 2019-06-09 22:45:44 -04:00
Pietro Gagliardi b34a427077 Further refactored noinitwrongthread.c; at this point, the actual check runner can be separated into its own file and used elsewhere. 2019-06-09 22:33:45 -04:00
Pietro Gagliardi 05b1e26ee2 Removed some leftover code. 2019-06-09 21:18:31 -04:00
Pietro Gagliardi 5f454a6114 Some more refactoring in noinitwrongthread.c. The different components are almost isolated! 2019-06-09 21:00:33 -04:00
Pietro Gagliardi ee9df0491f Simplified noinitwrongthread.c further. This will form the basis of a simplified general event handler. 2019-06-09 19:00:01 -04:00
Pietro Gagliardi ef05d40fad Fixed test execution. 2019-06-09 18:19:43 -04:00
Pietro Gagliardi a0fd823328 Just restored TestEventErrors as is for now. There's definitely room for cleanup here. 2019-06-09 18:08:50 -04:00
Pietro Gagliardi 94d638e601 And finished rewriting test/noinitwrongthread.c. 2019-06-09 16:14:18 -04:00
Pietro Gagliardi 91c1e8e517 And rewrote TestFunctionsFailBeforeInit. This should work nicely. 2019-06-09 15:29:03 -04:00
Pietro Gagliardi 5f011acc0c Somewhat hackily worked around strdup wonk. 2019-06-09 14:03:27 -04:00
Pietro Gagliardi 24320ce784 Disabled the event error tests and started rewriting the no uiInit()/wrong thread checks to use the new programmer error test hooks. I'll also start taking care of the sharedbits cruft now by just providing Strdup and FreeStrdup as utility functions, because bleh. 2019-06-09 13:57:02 -04:00