packages feed

gi-gtk-declarative-0.6.3: test/Main.hs

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