Commit Graph

4020 Commits

Author SHA1 Message Date
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 559e4bc139 Changed uiprivHrGetMessageW() to return the BOOL ret value as S_OK and S_FALSE. 2019-04-29 23:12:39 -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 5548119d8d Big oops 2019-04-28 16:26:00 -04:00
Pietro Gagliardi 812c559b11 Implemented uiMain() and friends on Windows. As a result, started the new HRESULT wrapper stuff. 2019-04-28 16:23: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 10ab539ff0 Removed the program used to find the cases for TestQueueMain_Sequence. 2019-04-28 14:41:50 -04:00
Pietro Gagliardi b20bf2d1c9 Wrote TestQueueMain_Sequence. 2019-04-28 14:41:30 -04:00
Pietro Gagliardi 0f6414af6f Added the program I used to determine what to do for uiQueueMain() order testing. I will delete this once the order is actually implemented. 2019-04-28 14:25:18 -04:00
Pietro Gagliardi b8a7b57835 And finally fixed uiQuit() on macOS. 2019-04-28 13:43:55 -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 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