mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-08-14 07:10:57 +00:00
add retry around removing tmp dir
This commit is contained in:
@@ -762,7 +762,6 @@ testDuplicateMessage t = do
|
||||
get bob2 =##> \case ("", c, Msg "hello 3") -> c == aliceId; _ -> False
|
||||
disconnectAgentClient alice2
|
||||
disconnectAgentClient bob2
|
||||
threadDelay 1000000
|
||||
|
||||
testSkippedMessages :: HasCallStack => ATransport -> IO ()
|
||||
testSkippedMessages t = do
|
||||
@@ -1280,7 +1279,6 @@ testAsyncCommandsRestore t = do
|
||||
("1", _, INV _) <- get alice'
|
||||
pure ()
|
||||
disconnectAgentClient alice'
|
||||
threadDelay 1000000
|
||||
|
||||
testAcceptContactAsync :: IO ()
|
||||
testAcceptContactAsync =
|
||||
|
||||
+15
-1
@@ -1,8 +1,11 @@
|
||||
{-# LANGUAGE TypeApplications #-}
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
|
||||
import AgentTests (agentTests)
|
||||
import AgentTests.SchemaDump (schemaDumpTest)
|
||||
import CLITests
|
||||
import Control.Concurrent (threadDelay)
|
||||
import qualified Control.Exception as E
|
||||
import Control.Logger.Simple
|
||||
import CoreTests.BatchingTests
|
||||
import CoreTests.CryptoFileTests
|
||||
@@ -13,6 +16,8 @@ import CoreTests.RetryIntervalTests
|
||||
import CoreTests.UtilTests
|
||||
import CoreTests.VersionRangeTests
|
||||
import FileDescriptionTests (fileDescriptionTests)
|
||||
import GHC.IO.Exception (IOException (..))
|
||||
import qualified GHC.IO.Exception as IOException
|
||||
import NtfServerTests (ntfServerTests)
|
||||
import RemoteControl (remoteControlTests)
|
||||
import ServerTests
|
||||
@@ -36,7 +41,7 @@ main = do
|
||||
setEnv "APNS_KEY_FILE" "./tests/fixtures/AuthKey_H82WD9K9AQ.p8"
|
||||
hspec
|
||||
. before_ (createDirectoryIfMissing False "tests/tmp")
|
||||
. after_ (removeDirectoryRecursive "tests/tmp")
|
||||
. after_ (eventuallyRemove "tests/tmp" 3)
|
||||
$ do
|
||||
describe "Agent SQLite schema dump" schemaDumpTest
|
||||
describe "Core tests" $ do
|
||||
@@ -59,3 +64,12 @@ main = do
|
||||
describe "XFTP agent" xftpAgentTests
|
||||
describe "XRCP" remoteControlTests
|
||||
describe "Server CLIs" cliTests
|
||||
|
||||
eventuallyRemove :: FilePath -> Int -> IO ()
|
||||
eventuallyRemove path retries = case retries of
|
||||
0 -> action
|
||||
n -> action `E.catch` \ioe@IOError {ioe_type, ioe_filename} -> case ioe_type of
|
||||
IOException.UnsatisfiedConstraints | ioe_filename == Just path -> threadDelay 1000000 >> eventuallyRemove path (n - 1)
|
||||
_ -> E.throwIO ioe
|
||||
where
|
||||
action = removeDirectoryRecursive path
|
||||
|
||||
Reference in New Issue
Block a user