Skip to content

Commit

Permalink
Fix parallel tests (#47)
Browse files Browse the repository at this point in the history
  • Loading branch information
TheAngryByrd authored Apr 24, 2024
1 parent 4e28ff8 commit 722aa5d
Show file tree
Hide file tree
Showing 6 changed files with 103 additions and 78 deletions.
31 changes: 18 additions & 13 deletions tests/IcedTasks.Tests/CancellablePoolingValueTaskTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -975,14 +975,7 @@ module CancellablePoolingValueTaskTests =

// Have earlier tasks take longer to complete
// so we can see if they are sequenced or not
let fakeWork1 l =
cancellablePoolingValueTask {
do! Task.Delay 15
let! x = fakeWork 1 10000 l
do! Task.Delay 15
return x
}

let fakeWork1 = fakeWork 1 10000
let fakeWork2 = fakeWork 2 750
let fakeWork3 = fakeWork 3 500
let fakeWork4 = fakeWork 4 250
Expand All @@ -1008,8 +1001,10 @@ module CancellablePoolingValueTaskTests =
]
}

let! paralleled =
let executeParallel =

cancellablePoolingValueTask {
parallelList.Clear()
let! a = fakeWork1 parallelList
and! b = fakeWork2 parallelList
and! c = fakeWork3 parallelList
Expand All @@ -1031,7 +1026,7 @@ module CancellablePoolingValueTaskTests =
sequencedList
|> Seq.toList

let parallelEntrances =
let parallelEntrances () =
parallelList
|> Seq.toList

Expand All @@ -1051,9 +1046,19 @@ module CancellablePoolingValueTaskTests =
6
]

let parallelNotSequenced =
parallelEntrances
<> sequencedEntrances
let! parallelNotSequenced =
cancellablePoolingValueTask {
let mutable result = false

while not result do
let! _ = executeParallel

result <-
parallelEntrances ()
<> sequencedEntrances

return result
}

return
sequencedAlwaysOrdered
Expand Down
30 changes: 17 additions & 13 deletions tests/IcedTasks.Tests/CancellableTaskTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -935,14 +935,7 @@ module CancellableTaskTests =

// Have earlier tasks take longer to complete
// so we can see if they are sequenced or not
let fakeWork1 l =
cancellableTask {
do! Task.Delay 15
let! x = fakeWork 1 10000 l
do! Task.Delay 15
return x
}

let fakeWork1 = fakeWork 1 10000
let fakeWork2 = fakeWork 2 750
let fakeWork3 = fakeWork 3 500
let fakeWork4 = fakeWork 4 250
Expand All @@ -968,8 +961,9 @@ module CancellableTaskTests =
]
}

let! paralleled =
let executeParallel =
cancellableTask {
parallelList.Clear()
let! a = fakeWork1 parallelList
and! b = fakeWork2 parallelList
and! c = fakeWork3 parallelList
Expand All @@ -991,7 +985,7 @@ module CancellableTaskTests =
sequencedList
|> Seq.toList

let parallelEntrances =
let parallelEntrances () =
parallelList
|> Seq.toList

Expand All @@ -1011,9 +1005,19 @@ module CancellableTaskTests =
6
]

let parallelNotSequenced =
parallelEntrances
<> sequencedEntrances
let! parallelNotSequenced =
cancellableTask {
let mutable result = false

while not result do
let! _ = executeParallel

result <-
parallelEntrances ()
<> sequencedEntrances

return result
}

return
sequencedAlwaysOrdered
Expand Down
30 changes: 17 additions & 13 deletions tests/IcedTasks.Tests/CancellableValueTaskTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -972,14 +972,7 @@ module CancellableValueTaskTests =

// Have earlier tasks take longer to complete
// so we can see if they are sequenced or not
let fakeWork1 l =
cancellableValueTask {
do! Task.Delay 15
let! x = fakeWork 1 10000 l
do! Task.Delay 15
return x
}

let fakeWork1 = fakeWork 1 10000
let fakeWork2 = fakeWork 2 750
let fakeWork3 = fakeWork 3 500
let fakeWork4 = fakeWork 4 250
Expand All @@ -1005,8 +998,9 @@ module CancellableValueTaskTests =
]
}

let! paralleled =
let executeParallel =
cancellableValueTask {
parallelList.Clear()
let! a = fakeWork1 parallelList
and! b = fakeWork2 parallelList
and! c = fakeWork3 parallelList
Expand All @@ -1028,7 +1022,7 @@ module CancellableValueTaskTests =
sequencedList
|> Seq.toList

let parallelEntrances =
let parallelEntrances () =
parallelList
|> Seq.toList

Expand All @@ -1048,9 +1042,19 @@ module CancellableValueTaskTests =
6
]

let parallelNotSequenced =
parallelEntrances
<> sequencedEntrances
let! parallelNotSequenced =
cancellableValueTask {
let mutable result = false

while not result do
let! _ = executeParallel

result <-
parallelEntrances ()
<> sequencedEntrances

return result
}

return
sequencedAlwaysOrdered
Expand Down
30 changes: 17 additions & 13 deletions tests/IcedTasks.Tests/PoolingValueTaskTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -699,14 +699,7 @@ module PoolingValueTaskTests =

// Have earlier tasks take longer to complete
// so we can see if they are sequenced or not
let fakeWork1 l =
poolingValueTask {
do! Task.Delay 15
let! x = fakeWork 1 10000 l
do! Task.Delay 15
return x
}

let fakeWork1 = fakeWork 1 10000
let fakeWork2 = fakeWork 2 750
let fakeWork3 = fakeWork 3 500
let fakeWork4 = fakeWork 4 250
Expand All @@ -732,8 +725,9 @@ module PoolingValueTaskTests =
]
}

let! paralleled =
let executeParallel () =
poolingValueTask {
parallelList.Clear()
let! a = fakeWork1 parallelList
and! b = fakeWork2 parallelList
and! c = fakeWork3 parallelList
Expand All @@ -755,7 +749,7 @@ module PoolingValueTaskTests =
sequencedList
|> Seq.toList

let parallelEntrances =
let parallelEntrances () =
parallelList
|> Seq.toList

Expand All @@ -775,9 +769,19 @@ module PoolingValueTaskTests =
6
]

let parallelNotSequenced =
parallelEntrances
<> sequencedEntrances
let! parallelNotSequenced =
poolingValueTask {
let mutable result = false

while not result do
let! _ = executeParallel ()

result <-
parallelEntrances ()
<> sequencedEntrances

return result
}

return
sequencedAlwaysOrdered
Expand Down
30 changes: 17 additions & 13 deletions tests/IcedTasks.Tests/TaskTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -704,14 +704,7 @@ module TaskTests =

// Have earlier tasks take longer to complete
// so we can see if they are sequenced or not
let fakeWork1 l =
task {
do! Task.Delay 15
let! x = fakeWork 1 10000 l
do! Task.Delay 15
return x
}

let fakeWork1 = fakeWork 1 10000
let fakeWork2 = fakeWork 2 750
let fakeWork3 = fakeWork 3 500
let fakeWork4 = fakeWork 4 250
Expand All @@ -737,8 +730,9 @@ module TaskTests =
]
}

let! paralleled =
let executeParallel () =
task {
parallelList.Clear()
let! a = fakeWork1 parallelList
and! b = fakeWork2 parallelList
and! c = fakeWork3 parallelList
Expand All @@ -760,7 +754,7 @@ module TaskTests =
sequencedList
|> Seq.toList

let parallelEntrances =
let parallelEntrances () =
parallelList
|> Seq.toList

Expand All @@ -780,9 +774,19 @@ module TaskTests =
6
]

let parallelNotSequenced =
parallelEntrances
<> sequencedEntrances
let! parallelNotSequenced =
task {
let mutable result = false

while not result do
let! _ = executeParallel

result <-
parallelEntrances ()
<> sequencedEntrances

return result
}

return
sequencedAlwaysOrdered
Expand Down
30 changes: 17 additions & 13 deletions tests/IcedTasks.Tests/ValueTaskTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -701,14 +701,7 @@ module ValueTaskTests =

// Have earlier tasks take longer to complete
// so we can see if they are sequenced or not
let fakeWork1 l =
valueTask {
do! Task.Delay 15
let! x = fakeWork 1 10000 l
do! Task.Delay 15
return x
}

let fakeWork1 = fakeWork 1 10000
let fakeWork2 = fakeWork 2 750
let fakeWork3 = fakeWork 3 500
let fakeWork4 = fakeWork 4 250
Expand All @@ -734,8 +727,9 @@ module ValueTaskTests =
]
}

let! paralleled =
let executeParallel () =
valueTask {
parallelList.Clear()
let! a = fakeWork1 parallelList
and! b = fakeWork2 parallelList
and! c = fakeWork3 parallelList
Expand All @@ -757,7 +751,7 @@ module ValueTaskTests =
sequencedList
|> Seq.toList

let parallelEntrances =
let parallelEntrances () =
parallelList
|> Seq.toList

Expand All @@ -777,9 +771,19 @@ module ValueTaskTests =
6
]

let parallelNotSequenced =
parallelEntrances
<> sequencedEntrances
let! parallelNotSequenced =
valueTask {
let mutable result = false

while not result do
let! _ = executeParallel ()

result <-
parallelEntrances ()
<> sequencedEntrances

return result
}

return
sequencedAlwaysOrdered
Expand Down

0 comments on commit 722aa5d

Please sign in to comment.