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