Commit Graph

15 Commits

Author SHA1 Message Date
Charlie Kindel
1efb051379 Refactored AutoInitShutdown attribute - scary stuff 2022-11-11 10:06:21 -07:00
Charlie Kindel
04af7d2106 merge develop 2022-11-04 11:25:27 -06:00
BDisp
0185ae6751 Added a mainloop unit test with a task. 2022-11-03 22:16:38 +00:00
Charlie Kindel
bf1ed31281 Refactored UI Catalog and added tons of unit tests 2022-11-03 15:58:15 -06:00
Charlie Kindel
0e136b17cc shortened InvokeLeakTests 2022-11-02 21:38:38 -06:00
BDisp
7ce2109a46 Fixes #2013. Starting having MainLoopTests.InvokeLeakTest failure. (#2016) 2022-09-16 06:05:10 -07:00
montekarlos
1cdf6a1b45 Fixes #1994. BREAKING CHANGE. Ensure only a single IdleHandlers list can exist. (#1997)
* Add unit test that demonstrates the loss of idle handlers added via Application.MainLoop.Invoke

* Fixes #1994. Ensure that only a single idle handlers list exists at one time

* Previous implementation locked on idleHandlers but this is dangerous because it is reallocated. It was therefore possible for two different threads to hold locks on two different instances of idleHandlers simultaneously. The idle handlers added to the older instance of idleHandlers would then be lost. This was particularity catastrophic when combined with async/await continuations being lost.

* Add dedicated lock object idleHandlersLock and use when modifying idleHandlers

* Fix additional bug in RemoveIdle that was locking the token instead of idleHandlers

* Return a copy via the IdleHandlers property as it was directly returning idleHandlers. This cannot safely be done without first acquiring idleHandlersLock

* Address code review feedback for #1994: Make IdleHandler immutable via ReadOnlyCollection

* Address code review feedback for #1994: Avoid the possibility of IdleHandlers changing while being used

Co-authored-by: Karl Janke <karl.janke@groundprobe.com>
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
2022-09-14 18:26:19 -07:00
BDisp
ff1eb9bea1 Fixes #1979. MessageBox.Query not wrapping since 1.7.1 (#1995)
* Added MaxWidthLine into the TextFormatter class.

* Some more test line to better verifying the mainloop idle handlers.

* Fixes #1979. MessageBox.Query not wrapping since 1.7.1

* Added MessageBox unit tests.

* States a button centered issue on a lower fixed size.

* Fixed the centered button issue 4d0a4b6.
2022-09-14 18:11:12 -07:00
BDisp
b200763a3f Fixes #1387. Allowing the UnitTests project to test internal keywords. 2021-07-23 23:02:22 +01:00
BDisp
c2d0a28c86 Fixes #1307 MainLoop timeouts duplicate keys error. (#1308)
* Fixes #1307 MainLoop timeouts duplicate keys error.

* Fixes key not exist in collection on parallel.
2021-05-16 17:01:03 -07:00
Charlie Kindel
b29240f362 Code coverage (#1235)
* tweaked version # for v1.0.0-beta.10

* tweaked version # for v1.0.0-beta.11

* Updated readme and revision history for 1.0

* excluding test results

* Added support for viewing code coverage results with Fine Code Coverage

* add generating CC to CI/CD

* refactored unit test namespaces

* more refactoring. commented out failing test.

* Removed UnitTests and UICatalog from code coverage reporting

* made Application and test more deterministic

* disabled Multi_Thread_Toplevels because it is currently broken and don't understand why

* updated threading test per @bdisp

* testing cc badge stuff

* another test

* using coverlet.settings

* trying copy

* trying cp. duh.

* trying mv.

* wrong path

* print

* chaging badge output for testing

* yaml error

* fixed code coverage

* moved dimtests to core
2021-04-25 10:18:31 -07:00
BDisp
bcc31e0da0 Trying fixing #518. Almost functions work on both Windows and Unix with the NetDriver. 2020-11-17 21:57:45 +00:00
Charlie Kindel
fc00bc223f changed timout tolerance to 100ms - tests failed in CI/CD 2020-07-07 15:25:57 -07:00
Charlie Kindel
1edf8189e1 added mainloop tests and updated others 2020-06-11 14:08:43 -06:00
Charlie Kindel
ffff3526b1 started 2020-06-11 08:50:23 -06:00