Commit Graph

  • c17f854d04 And added uiControlOSVtable on Windows. We're now back to building everywhere! :D Pietro Gagliardi 2019-06-18 20:31:28 -0400
  • 80ada0a06b And implemented the bare bones of uiControlOSVtable on GTK+. Pietro Gagliardi 2019-06-18 20:19:32 -0400
  • 4649e7d632 Oh wait, we leave that to the individual containers. Never mind! Let's write this on other platforms!! Pietro Gagliardi 2019-06-18 11:02:39 -0400
  • 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 Pietro Gagliardi 2019-06-18 10:59:56 -0400
  • a1b0979506 Rewrote test/controls.c to be about counting calls. Pietro Gagliardi 2019-06-18 10:48:10 -0400
  • dcae8888d2 More controls test work. Pietro Gagliardi 2019-06-17 20:03:57 -0400
  • a9145c2f35 Started writing the uiControl functionality tests. Also more TODOs. Let's fix build errors next. Pietro Gagliardi 2019-06-16 21:44:49 -0400
  • 6b161efed7 Added uiControlSetParent() to allcalls.h. Pietro Gagliardi 2019-06-16 21:28:16 -0400
  • 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. Pietro Gagliardi 2019-06-16 21:26:05 -0400
  • 517791f04e Started writing the macOS control errors file. We have a meson problem now... it's not respecting cpp_std for Objective-C++. Pietro Gagliardi 2019-06-16 20:34:56 -0400
  • 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. Pietro Gagliardi 2019-06-16 20:03:37 -0400
  • 3f744de64e Started cleaning things up from zOLD as well. Pietro Gagliardi 2019-06-16 19:55:51 -0400
  • edee2b930c Re-added uiControlSetParent() to allow finishing testing uiControlFree() errors. That will come next, alongside its own errors. Pietro Gagliardi 2019-06-16 19:52:09 -0400
  • fda6c4a743 And strengthened the uiControlType() test a bit. Pietro Gagliardi 2019-06-16 17:32:47 -0400
  • c28adcbd01 Added test hook for checking a malformed uiControl whose type field is invalid. Pietro Gagliardi 2019-06-16 17:26:03 -0400
  • f90150a579 More filling in of the uiControl errors tests. Pietro Gagliardi 2019-06-16 13:06:28 -0400
  • 0d61f674c5 Filled in some error messages in the previous commit. More TODOs. Pietro Gagliardi 2019-06-16 10:28:27 -0400
  • 0bc347dd62 Stubbed out most of the other uiControl errors to test. Pietro Gagliardi 2019-06-16 10:20:21 -0400
  • 3e96dafe44 Created the test uiControl type. Now we can start writing the rest of the uiControl tests. Pietro Gagliardi 2019-06-16 05:45:16 -0400
  • ed5bbc4dbd And added uiControlVtable NULL method tests. Woo! Pietro Gagliardi 2019-06-15 23:38:17 -0400
  • 29309ab040 And also FINALLY added the internal uiEvents to the uiEventFree() test. Pietro Gagliardi 2019-06-15 21:45:35 -0400
  • 29ce809772 And FINALLY fixed the NULL name error in uiRegisterControlType(). Pietro Gagliardi 2019-06-15 21:38:21 -0400
  • 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. Pietro Gagliardi 2019-06-15 21:33:53 -0400
  • c1d8c0f5ec Oops, forgot to add the consts to the documentation. Pietro Gagliardi 2019-06-15 20:48:55 -0400
  • b6a8d24c3e And fixed const issues and other build errors. Pietro Gagliardi 2019-06-15 20:48:20 -0400
  • ad209175c1 Migrated controls_errors.h. Now I need to add consts to uiRegisterControlType() and friends. Pietro Gagliardi 2019-06-15 20:38:18 -0400
  • 4d78b5a3ef Migrated noinitwrongthread.c. Pietro Gagliardi 2019-06-15 20:17:45 -0400
  • 8c7f1987da And fixed build errors. It works! Now to translate everything else back. Pietro Gagliardi 2019-06-15 20:06:12 -0400
  • 83dc1d6065 And removed errors.h. Pietro Gagliardi 2019-06-15 19:59:17 -0400
  • c2bace108d And finished rewriting events_errors.h. Pietro Gagliardi 2019-06-15 19:58:46 -0400
  • f966b6ee16 Adapted everything to life with C++ and to the new error checking model. Pietro Gagliardi 2019-06-15 19:53:50 -0400
  • c74fc09261 Started rewriting the error checks in C++, because ugh. Pietro Gagliardi 2019-06-15 19:28:47 -0400
  • 5d63b34904 I should probably just switch all this to C++ at this rate. Pietro Gagliardi 2019-06-14 20:15:39 -0400
  • 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. Pietro Gagliardi 2019-06-13 21:20:39 -0400
  • ae4bfea10b Started rewriting events_errors.c to mention events less; this will turn into an events.h that will do all the heavy lifting. Pietro Gagliardi 2019-06-13 20:57:15 -0400
  • ab82278a30 And got things building. Now to clean up the error macro part. Pietro Gagliardi 2019-06-13 10:43:44 -0400
  • d54f23c0cc Deduplicated the common defer functions. Pietro Gagliardi 2019-06-13 10:39:40 -0400
  • f3b0dc16ab Slight refactoring of the controls test. One more thing to do for now. Pietro Gagliardi 2019-06-13 10:31:17 -0400
  • c1ca78c46e Split the events.c errors test into its own file. Pietro Gagliardi 2019-06-12 11:12:08 -0400
  • 47a8ccaf98 And filled in the error messages in controls_errors.h. Pietro Gagliardi 2019-06-12 11:03:21 -0400
  • 63773f703c Fixed build errors. The test itself will fail at present, but we have some cleanups to do still... Pietro Gagliardi 2019-06-11 21:29:25 -0400
  • e30ed33046 Finished rewriting test/controls.c for the initial run. Now to fix errors. Pietro Gagliardi 2019-06-11 21:23:56 -0400
  • 28a5cd543a Started writing the uiControl error tests. Pietro Gagliardi 2019-06-11 12:01:35 -0400
  • 6903bebe7d Started writing the controls Darwin-specific code and all-platforms tests for real. Pietro Gagliardi 2019-06-10 23:09:35 -0400
  • 89f64eb067 Added the documentation for macOS uiControl, or what little of it currently exists. Pietro Gagliardi 2019-06-10 20:11:10 -0400
  • 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.) Pietro Gagliardi 2019-06-10 11:36:44 -0400
  • a0fc3187e2 And rewrote events.c to use the new error checking framework. Now to fix build and possibly runtime errors. Pietro Gagliardi 2019-06-10 11:24:33 -0400
  • 7b10fa729b More TODOs. Pietro Gagliardi 2019-06-10 10:42:11 -0400
  • 70ff47cb06 Wrote a new file to store the uiEvent error test cases. Pietro Gagliardi 2019-06-10 10:41:33 -0400
  • 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). Pietro Gagliardi 2019-06-09 22:45:44 -0400
  • b34a427077 Further refactored noinitwrongthread.c; at this point, the actual check runner can be separated into its own file and used elsewhere. Pietro Gagliardi 2019-06-09 22:33:45 -0400
  • 05b1e26ee2 Removed some leftover code. Pietro Gagliardi 2019-06-09 21:18:31 -0400
  • 97e37e5831 Started defining uiControlOSVtable on macOS. I'll need to write the documentation alongside this. Pietro Gagliardi 2019-06-09 21:16:13 -0400
  • 5f454a6114 Some more refactoring in noinitwrongthread.c. The different components are almost isolated! Pietro Gagliardi 2019-06-09 21:00:33 -0400
  • ee9df0491f Simplified noinitwrongthread.c further. This will form the basis of a simplified general event handler. Pietro Gagliardi 2019-06-09 19:00:01 -0400
  • ef05d40fad Fixed test execution. Pietro Gagliardi 2019-06-09 18:19:43 -0400
  • a0fd823328 Just restored TestEventErrors as is for now. There's definitely room for cleanup here. Pietro Gagliardi 2019-06-09 18:08:50 -0400
  • 94d638e601 And finished rewriting test/noinitwrongthread.c. Pietro Gagliardi 2019-06-09 16:14:18 -0400
  • 91c1e8e517 And rewrote TestFunctionsFailBeforeInit. This should work nicely. Pietro Gagliardi 2019-06-09 15:29:03 -0400
  • db3de44432 Collapsed the strsafe*_impl files. strdup_impl is still a mess, but to fix that we'll need to both clean up the static nonsense and other stuff in testingpriv.c. Pietro Gagliardi 2019-06-09 14:06:16 -0400
  • 5f011acc0c Somewhat hackily worked around strdup wonk. Pietro Gagliardi 2019-06-09 14:03:27 -0400
  • 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. Pietro Gagliardi 2019-06-09 13:57:02 -0400
  • 65226ac416 Refactored the programmer error test hook to not needlessly pass in the prefix, suffix, or internal flag, and to allow passing in arbitrary data so we can get rid of the global state in the tests. This will make the tests a LOT easier. Pietro Gagliardi 2019-06-09 13:49:53 -0400
  • 7486ff6b25 Changed the programmer error tests to require a strict match. Now I want to restructure them to both be reusable and to not require global state. Pietro Gagliardi 2019-06-09 13:44:46 -0400
  • a2b9145931 Did the same rewording to most of the other programmer errors. Only the first two are left, because I can't think of a good rewording... Pietro Gagliardi 2019-06-09 13:39:14 -0400
  • 87a2195027 Renamed the uiControl programmer errors to more clearly indicate they are uiControl programmer errors, and reworded their messages to put the function name first. Pietro Gagliardi 2019-06-09 13:32:31 -0400
  • 0f41bb2188 Made all programmer error functions take the function name as an argument. Pietro Gagliardi 2019-06-09 13:18:18 -0400
  • 9b11ec4a6f Changed the IntID error into a uiEvent-specific one. Pietro Gagliardi 2019-06-09 10:30:47 -0400
  • 14c80eefb8 Started organizing common/programmererrors.h. Pietro Gagliardi 2019-06-09 10:27:28 -0400
  • e808d85e01 Added function names to the wrong struct size error. Pietro Gagliardi 2019-06-09 08:50:12 -0400
  • 9e05efa091 Oh right forgot to clean up error stuff from zOLD. Pietro Gagliardi 2019-06-09 08:44:30 -0400
  • e3a4d34196 Started cleaning up zOLD/control stuff now that we are reimplmenting it all. Pietro Gagliardi 2019-06-09 08:39:51 -0400
  • c45ab57bce Started writing control tests. This is going to be fun... Pietro Gagliardi 2019-06-08 21:38:32 -0400
  • 822572d395 Stubbed out the OS-specific files on macOS so I can actually start writing the uiControl tests. Pietro Gagliardi 2019-06-08 19:45:09 -0400
  • 379fc230e5 More compile fixes. sharedbits is starting to get really messy. Pietro Gagliardi 2019-06-08 18:39:59 -0400
  • 22cc5ad834 More error fixing. Pietro Gagliardi 2019-06-08 18:22:16 -0400
  • 19fc6f674f Oops, forgot to add controls.c to the build. Pietro Gagliardi 2019-06-08 18:09:37 -0400
  • 9f776c140d Fixed compile errors. Pietro Gagliardi 2019-06-08 18:09:12 -0400
  • 7aa1b0870d And finished filling in controls.c. This is gonna be fun to debug... Pietro Gagliardi 2019-06-08 15:31:40 -0400
  • 1189877ca5 Started writing the uiControl implementation. Pietro Gagliardi 2019-06-08 13:00:30 -0400
  • e2842bae35 Oops, forgot to put Size in uiControlVtable. Let's go! Pietro Gagliardi 2019-06-08 09:58:25 -0400
  • 6f4c65defc Finished the uiEventInvalidateSender() tests. Pietro Gagliardi 2019-06-07 21:05:45 -0400
  • 5260d5c90f More reminders for when I write the rest of the uiEventInvalidateSender() tests later. Pietro Gagliardi 2019-06-07 11:01:17 -0400
  • 6cf92b2058 Wrote and started testing uiEventInvalidateSender(). The rest of the tests come next. Pietro Gagliardi 2019-06-07 10:58:39 -0400
  • 65c88fd1c4 And documented all the other functions we need to start writing common/control.c. Pietro Gagliardi 2019-06-06 22:51:37 -0400
  • 582a781171 More uiControl work. Pietro Gagliardi 2019-06-05 23:20:53 -0400
  • 4ff61c81b0 More uiControl documentation writing. This new system might work nicely the way I'm designing it... Pietro Gagliardi 2019-06-04 20:33:29 -0400
  • 26e492539d Renamed uiFreeEvent() to uiEventFree() for consistency with uiControlFree(). Pietro Gagliardi 2019-06-02 22:04:25 -0400
  • 57dc482f2a Oops Pietro Gagliardi 2019-06-02 20:50:55 -0400
  • b8f8e1c4f7 Started writing out uiControl's documentation. This new design is going to be rather interesting. Pietro Gagliardi 2019-06-02 20:47:27 -0400
  • c6294f163f Okay, added uiFreeEvent() error tests. Now back to uiControl. Pietro Gagliardi 2019-06-02 19:11:22 -0400
  • d040bca07e Started layout out the uiControl stuff. I forgot to write tests for uiFreeEvent() errors :| Pietro Gagliardi 2019-06-02 18:49:16 -0400
  • 12c01d0d42 Ensured calls to bsearch() have a length of at least 1; UndefinedBehaviorSanitizer will warn otherwise. Also included qsort(), to be safe. Pietro Gagliardi 2019-06-02 14:26:25 -0400
  • 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... Pietro Gagliardi 2019-06-02 14:05:36 -0400
  • ddaa10b7e1 Wrote defers into test/events.c. Woo! Now we need to free the defers when we're done, and I have an idea... Pietro Gagliardi 2019-06-02 12:48:06 -0400
  • 9f2796ebac Added uiEventFree(). Now to add it to the tests and see what AddressSanitizer says afterward. Pietro Gagliardi 2019-06-02 10:06:50 -0400
  • ece22bdddc Split programmer errors into their own header file for readability and turned the names from string constants into full-fledged uiprivProgrammerError() calls to increase safety. Pietro Gagliardi 2019-06-02 08:35:40 -0400
  • 623575f25a Changed uiprivProgrammerError() to use format strings directly, so errors can be more easily caught. We'll make things even more robust when I change the programmer error macros to be functions. Pietro Gagliardi 2019-06-02 02:23:12 -0400
  • 671c2031bf TODO in allcalls.h now resolved. Pietro Gagliardi 2019-06-02 02:07:33 -0400
  • b5e8b76066 Fixed one mistake. Pietro Gagliardi 2019-06-02 02:04:20 -0400