Skip to content

Merge pull request #138 from ZjzMisaka/fix-WaitingWorkList-may-return… #670

Merge pull request #138 from ZjzMisaka/fix-WaitingWorkList-may-return…

Merge pull request #138 from ZjzMisaka/fix-WaitingWorkList-may-return… #670

GitHub Actions / Unit Test Results succeeded Mar 4, 2025 in 1s

263 passed, 0 failed and 0 skipped

Tests passed successfully

✅ UnitTest/TestResults/test-results.trx

263 tests were completed in 2013s with 263 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
UnitTest.ConcurrentSetTest 6✅ 13ms
UnitTest.ControlTest 76✅ 62s
UnitTest.DeferredActionTimerTest 3✅ 7s
UnitTest.InterlockedFlagTest 13✅ 31ms
UnitTest.PowerPoolTest 130✅ 70s
UnitTest.QueueWorkItemTest 31✅ 921ms
UnitTest.StressTest 4✅ 2010s

✅ UnitTest.ConcurrentSetTest

✅ TestAddAndCountMethods
✅ TestConstructorWithItems
✅ TestDefaultConstructor
✅ TestGetEnumerator
✅ TestNonGenericGetEnumerator
✅ TestTryRemoveMethod

✅ UnitTest.ControlTest

✅ TestCancelAll
✅ TestCancelByGroup
✅ TestCancelByGroupObject
✅ TestCancelByID
✅ TestCancelByIDList
✅ TestCancelByIDSuspended
✅ TestFetchByGroupObject
✅ TestFetchByGroupObjectAsync
✅ TestFetchByID
✅ TestFetchByIDAlreadyDone
✅ TestFetchByIDClearResultStorageWhenPoolStart
✅ TestFetchByIDEmpty
✅ TestFetchByIDInterrupted
✅ TestFetchByIDList
✅ TestFetchByIDListAlreadyDone
✅ TestFetchByIDListAsync
✅ TestFetchByIDListAsyncSuspended
✅ TestFetchByIDListRemoveAfterFetch
✅ TestFetchByIDNotExist
✅ TestFetchByIDRemoveAfterFetch
✅ TestFetchByIDSuspending
✅ TestFetchByPredicate
✅ TestFetchByPredicateByGroupObject
✅ TestFetchObjByGroupObject
✅ TestFetchObjByGroupObjectAsync
✅ TestFetchObjByID
✅ TestFetchObjByIDAsync
✅ TestFetchObjByIDList
✅ TestFetchObjByIDListAsync
✅ TestForceStop
✅ TestForceStopAfterExecuteEnd
✅ TestForceStopBeforeRunning
✅ TestForceStopWhenCallback
✅ TestForceStopWhenInvoke
✅ TestIDEmpty
✅ TestPauseAll
✅ TestPauseByGroup
✅ TestPauseByGroupObject
✅ TestPauseByID
✅ TestPauseByIDAndResumeAll
✅ TestPauseByIDAndResumeAllWhenItStealWaiting
✅ TestPauseByIDList
✅ TestPauseThreadTimer
✅ TestPauseWorkTimer
✅ TestResumeAllDirectlyWithoutPause
✅ TestResumeByIDDirectlyWithoutPause
✅ TestStartSuspended
✅ TestStartSuspendedWithDependents
✅ TestStartWhenNotSuspended
✅ TestStopAfterIdle
✅ TestStopAll
✅ TestStopAllDoBeforeStop
✅ TestStopAllDoBeforeStopReturnFalse
✅ TestStopBeforeRunning
✅ TestStopByGroup
✅ TestStopByGroupObject
✅ TestStopByID
✅ TestStopByIDAfterWorkStart
✅ TestStopByIDDoActionBeforeStop
✅ TestStopByIDDoBeforeStop
✅ TestStopByIDDoBeforeStopReturnFalse
✅ TestStopByIDList
✅ TestStopByIDMultiWorks
✅ TestStopByIDUseCheckIfRequestedStop
✅ TestWaitAsyncByGroupObject
✅ TestWaitByAll
✅ TestWaitByGroup
✅ TestWaitByGroupObject
✅ TestWaitByID
✅ TestWaitByIDAsync
✅ TestWaitByIDInterruptEnd
✅ TestWaitByIDList
✅ TestWaitByIDListAsync
✅ TestWaitByIDNotRunningYet
✅ TestWaitByIDSuspended
✅ TestWorkGroup

✅ UnitTest.DeferredActionTimerTest

✅ TestDeferredActionTimer1
✅ TestDeferredActionTimer2
✅ TestDeferredActionTimer3

✅ UnitTest.InterlockedFlagTest

✅ TestDebuggerDisplay
✅ TestEquals1
✅ TestEquals2
✅ TestEquals3
✅ TestGet
✅ TestGetHashCode
✅ TestGetSet
✅ Testimplicit
✅ TestOperator1
✅ TestOperator2
✅ TestTrySet
✅ TestTrySetWithOrigValueParam
✅ TestValue

✅ UnitTest.PowerPoolTest

✅ TestAddWorkToGroup
✅ TestAddWorkToGroupByGroupObject
✅ TestAddWorkToGroupWorkNotExist
✅ TestCallback
✅ TestCancelFailed
✅ TestChangeNewPowerPoolOption
✅ TestClearFailedWorkRecord
✅ TestClearResultStorage
✅ TestClearResultStorageByID
✅ TestClearResultStorageByIDList
✅ TestCustomQueueFIFO
✅ TestCustomQueueLIFO
✅ TestCustomWorkID
✅ TestDefaultWorkTimeout
✅ TestDependents
✅ TestDependentsAllSucceedBeforeWorkRun
✅ TestDependentsFailed
✅ TestDependentsFailedBeforeWorkRun
✅ TestDependentsFailedHoldFailtureRecord
✅ TestDispose
✅ TestDisposeHasTimers
✅ TestDisposeIdleWorker
✅ TestDisposeSelfSetDestroyThreadOptionAsNull
✅ TestDisposeSelfShouldSetCanGetWorkToAllowedWhenStateTransitionFails
✅ TestDuplicateCustomWorkID1
✅ TestDuplicateCustomWorkID2
✅ TestEnablePoolIdleCheck
✅ TestError
✅ TestErrorWhenCallback
✅ TestErrorWhenDefaultCallback
✅ TestErrorWhenPoolIdled
✅ TestErrorWhenPoolStarted
✅ TestErrorWhenPoolTimedOut
✅ TestErrorWhenWorkCanceled
✅ TestErrorWhenWorkEnded
✅ TestErrorWhenWorkLogic
✅ TestErrorWhenWorkStarted
✅ TestErrorWhenWorkStopped
✅ TestErrorWhenWorkTimedOut
✅ TestFIFO
✅ TestGetTimesBeforePoolStart
✅ TestImmediateRetry
✅ TestImmediateRetryStopRetryByCallback
✅ TestImmediateRetryStopRetryByEvent
✅ TestImmediateRetryUnlimited
✅ TestKeepAliveTimeIsZero
✅ TestLIFO
✅ TestLongWork
✅ TestLongWorkForceStop
✅ TestLongWorkWithNormalWork
✅ TestMaxThreadsNumberError
✅ TestMaxThreadsNumberErrorWhenSetAgain
✅ TestMaxThreadsNumberErrorWhenSetAgainError
✅ TestMinThreadsNumberErrorWhenSetAgain
✅ TestMinThreadsNumberErrorWhenSetAgainError
✅ TestOrderAndDefaultCallback
✅ TestParallelFor
✅ TestParallelForEach
✅ TestParallelForEachGroupID
✅ TestParallelForEachWithIndex
✅ TestParallelForError1
✅ TestParallelForError2
✅ TestParallelForError3
✅ TestParallelForGroupName
✅ TestParallelForWithSource
✅ TestParallelForWithSourceAndIndex
✅ TestParallelForWithSourceAndIndexReverse
✅ TestParallelWatch
✅ TestParallelWatchBlockingCollection
✅ TestParallelWatchConcurrentBag
✅ TestParallelWatchGroupID
✅ TestPauseFailed
✅ TestPoolIdledEventArgs
✅ TestQueueWhenStopping
✅ TestQueueWhenStoppingAndCancel
✅ TestQueueWhenStoppingAndCancelAll
✅ TestRemoveWorkFromGroup
✅ TestRemoveWorkFromGroupByGroupObject
✅ TestRemoveWorkFromGroupGroupNotExist
✅ TestRemoveWorkFromGroupWorkNotBelong
✅ TestRemoveWorkFromGroupWorkNotExist
✅ TestRequeue
✅ TestRequeueStopRetryByCallback
✅ TestRequeueStopRetryByEvent
✅ TestRequeueUnlimited
✅ TestResetWaitingWorkWhenForceStopEnd
✅ TestRunningStatus
✅ TestRunningTimer
✅ TestRunningWorkerCountChanged
✅ TestSetDestroyThreadOptionWhenRunning
✅ TestSetMaxThreadsAfterDispose
✅ TestSetMaxThreadsWhenRunning
✅ TestSetMaxThreadsWhenRunningAndStealWork
✅ TestSetMaxThreadsWhenRunningHasWaitingWork
✅ TestSetMinThreadsWhenRunning
✅ TestSetWorkAfterDispose
✅ TestStartSuspendAfterDispose
✅ TestStartSuspendWhenStopping
✅ TestStartSuspendWhenStoppingAndCancel
✅ TestStartSuspendWhenStoppingAndCancelAll
✅ TestStopWatching
✅ TestStopWatchingBeforeWatching
✅ TestStopWatchingCancel
✅ TestStopWatchingCancelNotAddBack
✅ TestStopWatchingDirectly
✅ TestStopWatchingForceStop
✅ TestStopWatchingForceStopNotAddBack
✅ TestStopWatchingHalfFailed
✅ TestStopWatchingHalfFailedNotAddBack
✅ TestStopWatchingKeepRunning
✅ TestThreadInterruptedErrorInPoolIdledEvent
✅ TestThreadPoolTimeout
✅ TestThreadPoolTimeoutStartTwice
✅ TestThreadPriority
✅ TestThreadSwitchOnForegroundOrBackground
✅ TestTimes
✅ TestWaitFailed
✅ TestWatchTwice
✅ TestWorkGroupRelation
✅ TestWorkGroupRelationCyclicGroupRelation
✅ TestWorkGroupRelationRemoveChildGroupRelation
✅ TestWorkGroupRelationRemoveGroupRelation
✅ TestWorkGroupRelationRemoveWholeChildGroupRelation
✅ TestWorkGroupRelationRemoveWholeGroupRelation
✅ TestWorkGroupRelationResetGroupRelation
✅ TestWorkGroupRelationStopChild
✅ TestWorkGuardFreezeLoopAsync
✅ TestWorkGuardFreezeNotLoop
✅ TestWorkPriority
✅ TestWorkTimeout

✅ UnitTest.QueueWorkItemTest

✅ Test1
✅ Test10
✅ Test11
✅ Test12
✅ Test13
✅ Test14
✅ Test15
✅ Test16
✅ Test17
✅ Test18
✅ Test19
✅ Test2
✅ Test20
✅ Test21
✅ Test22
✅ Test23
✅ Test24
✅ Test25
✅ Test26
✅ Test27
✅ Test28
✅ Test3
✅ Test4
✅ Test5
✅ Test6
✅ Test7
✅ Test8
✅ Test9
✅ testSugar1
✅ testSugar2
✅ testSugar3

✅ UnitTest.StressTest

✅ StressTest1
✅ StressTest2
✅ StressTest3
✅ StressTest4