sandwich-webdriver-0.4.0.0: src/Test/Sandwich/WebDriver/Internal/StartWebDriver.hs
{-# LANGUAGE CPP #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
module Test.Sandwich.WebDriver.Internal.StartWebDriver (
stopWebDriver
) where
import Control.Monad.Catch (MonadMask)
import Control.Monad.IO.Unlift
import Control.Monad.Logger
import GHC.Stack
import Test.Sandwich.WebDriver.Internal.Types
import qualified Test.WebDriver as W
#ifndef mingw32_HOST_OS
import Test.Sandwich.WebDriver.Internal.StartWebDriver.Xvfb
#endif
type Constraints m = (
HasCallStack, MonadLoggerIO m, MonadUnliftIO m, MonadMask m, MonadFail m
)
stopWebDriver :: (Constraints m, W.WebDriverBase m) => TestWebDriverContext -> m ()
stopWebDriver (TestWebDriverContext {wdContext}) = do
W.teardownWebDriverContext wdContext
-- whenJust maybeXvfbSession $ \(XvfbSession {..}) -> do
-- whenJust xvfbFluxboxProcess $ \p' -> do
-- gracefullyStopProcess p' gracePeriod
-- gracefullyStopProcess xvfbProcess gracePeriod