Pietro Gagliardi
|
e2baa5bb5c
|
And finished rewriting timerRunWithTimeout() on Windows, including reentrancy improvements, race condition elimination, setjmp() volatility correctness fixes, and global state reduction.
|
2019-05-03 01:54:26 -04:00 |
Pietro Gagliardi
|
8b5b03794c
|
Started moving testingRunWithTimeout() into timer.h.
|
2019-05-02 23:15:49 -04:00 |
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 |