module Main where
import Control.Concurrent
import Control.Monad
import qualified GI.Gtk as Gtk
import System.Exit
import System.IO
import qualified GI.Gtk.Declarative.CustomWidgetTest
as CustomWidget
import qualified GI.Gtk.Declarative.PatchTest as PatchTest
main :: IO ()
main = do
_ <- Gtk.init Nothing
pass <- newEmptyMVar
_ <- forkOS $ do
results <- sequence [CustomWidget.tests, PatchTest.tests]
Gtk.mainQuit
putMVar pass (and results)
Gtk.main
allPassed <- takeMVar pass
unless allPassed $ do
hPutStrLn stderr "Tests failed."
exitFailure