Pietro Gagliardi
313f5864f5
Fixed the timer functions on Windows.
2019-05-02 22:03:57 -04:00
Pietro Gagliardi
42623f92e9
And started breaking apart the timer functions.
2019-05-02 12:38:59 -04:00
Pietro Gagliardi
5537e823ef
Started splitting out the timer stuff into its own mini-library. Also I decided to drop the fallback stuff, since we run on new enough systems anyway, and nanosleep() is available on every version of macOS we need anyway.
2019-05-02 12:14:08 -04:00
Pietro Gagliardi
99a0f9084c
Fixed building on Ubuntu Trusty.
2019-05-02 02:01:42 -04:00
Pietro Gagliardi
796a9cf010
Resolved some TODOs in testing_darwinunix.c, including writing a more elaborate implementation of testingSleep().
2019-04-30 21:00:52 -04:00
Pietro Gagliardi
7d29c4346d
Decided not to make the thread functions report errors to the testingT object; I'm still not a big fan of the thread model here, but I'd like to actually split the thread functions out of the testing library entirely, since they are only used for the tests in initmain.c.
2019-04-30 13:15:36 -04:00
Pietro Gagliardi
25d4021269
Resolved timer/duration variable name TODO.
2019-04-30 09:32:48 -04:00
Pietro Gagliardi
69000cda46
More TODOs.
2019-04-30 02:32:44 -04:00
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