Commit Graph

4196 Commits

Author SHA1 Message Date
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 2c57498e44 Re-added uiMain(), uiQuit(), and uiQueueMain(). 2019-04-27 21:48:51 -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 408b106526 Merge branch 'master' into remodel 2019-04-23 09:10:38 -04:00
Pietro Gagliardi ee3dbefcf6
Merge pull request #463 from lailton/master
Harbour version
2019-04-23 09:09:58 -04:00
Harbour Developer 73742a0210
Harbour version 2019-04-23 01:46:20 -03: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 f548f6d4d2 Readded the manifest to libui.dll. The test suite passes! 2019-04-21 17:46:50 -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 c6aa8c3324 Pruned windows/init.cpp to a minimal initialization that we can test things with, which includes adding a function to load err->Message with a formatted string.
Also added a better error for if InitCommonControlsEx() returns 0 without setting the last error; this usually means that v5 is loaded.
Fixes #451.
Updates #337.
2019-04-21 14:49:16 -04:00
Pietro Gagliardi b89a18f3dd Don't define DllMain() in a static build. Fixes #433. 2019-04-21 13:58:19 -04:00
Pietro Gagliardi 29c51b6348 Started readding the Windows code; added the Windows version headers to the docs as well now since I'm cleaning up winapi.hpp as well. 2019-04-21 13:54:39 -04:00
Pietro Gagliardi 469484415d Implemented uiInit() on Unix. 2019-04-21 12:24:19 -04:00
Pietro Gagliardi 2652772891 Wrapped the init example in a main() for maximum clarity. 2019-04-20 21:56:50 -04:00
Pietro Gagliardi 484989e925 Implemented uiInit() on macOS. The tests work so far! 2019-04-20 21:38:26 -04:00
Pietro Gagliardi 74b1e2780d Implemented the cross-platform bits of uiInit(). 2019-04-19 12:32:13 -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 668a908e76 Fleshed out init-main.md some more. 2019-04-19 00:56:52 -04:00
Pietro Gagliardi 3001e5dfaf Merge branch 'master' into remodel 2019-04-17 23:17:22 -04:00
Pietro Gagliardi 28755bdbc0 Make the AppVeyor badge always reflect master.
Let's stop sending mixed signals about the build status in the CI environment; Travis and AppVeyor both used "the latest build" by default, and not "master", and apparently this confused people. See https://news.ycombinator.com/item?id=16331432 for an example.
2019-04-17 23:16:05 -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 2f58c2059e Oops 2019-04-12 22:06:23 -04:00
Pietro Gagliardi 745f2da3b8 Forgot something 2019-04-12 22:05:21 -04:00
Pietro Gagliardi 541f9d892d More documentation of initialization. 2019-04-12 22:02:01 -04:00
Pietro Gagliardi 4c46a25154 Started re-adding the uiInit functions, with a new method of returning errors. 2019-04-12 21:44:39 -04:00
Pietro Gagliardi db9be102e6 Properly defined uiprivExtern in static cases. 2019-04-12 10:56:09 -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 d861de85f6 Fleshed out using-libui.md. 2019-04-09 11:23:39 -04:00
Pietro Gagliardi 7387f08ee9 Added OS-specific header guidance. 2019-04-09 10:56:21 -04:00
Pietro Gagliardi b2cee470ca Oops, I accidentally swapped these two files. 2019-04-09 10:47:36 -04:00
Pietro Gagliardi de3fd3f546 Executive decision: remove menus and dialogs in the rebuild. We'll add them back later. 2019-04-09 10:46:00 -04:00
Pietro Gagliardi d5eb06327d And started the README on the subject. 2019-04-08 23:41:14 -04:00