module Main where import System.Environment (setEnv, getArgs, withArgs) import System.Directory (getCurrentDirectory) import Control.Concurrent.MVar (newMVar) import Test.Tasty import Test.Tasty.WebDriver import Test.Tasty.WebDriver.Config.Test import Web.Api.WebDriver.Assert.Test import Web.Api.WebDriver.Monad.Test import Web.Api.WebDriver.Types.Test main :: IO () main = do putStrLn "" putStrLn "\x1b[1;34m ___ __ __ __ ___ __ __ __ ___ ___ __ ___ \x1b[0;39;49m" putStrLn "\x1b[1;34m| | |__ |__) | \\ |__) | \\ / |__ |__) __ | | '__\\ / ` __ | |__ /__` | \x1b[0;39;49m" putStrLn "\x1b[1;34m|/\\| |___ |__) |__/ | \\ | \\/ |___ | \\ |/\\| .__/ \\__, | |___ .__/ | \x1b[0;39;49m" putStrLn "\x1b[1;34m \x1b[0;39;49m" setEnv "TASTY_NUM_THREADS" "2" -- needed for live tests testPagePath <- fmap (\path -> path ++ "/test/page") getCurrentDirectory lock <- newMVar () args <- getArgs withArgs (["--wd-remote-ends","geckodriver https://localhost:4444 https://localhost:4445 chromedriver https://localhost:9515 https://localhost:9516"] ++ args) $ defaultWebDriverMain $ (localOption $ NumRetries 1) $ testGroup "All Tests" [ Test.Tasty.WebDriver.Config.Test.tests , Web.Api.WebDriver.Assert.Test.tests lock , Web.Api.WebDriver.Types.Test.tests , Web.Api.WebDriver.Monad.Test.tests ("file://" ++ testPagePath) ]