packages feed

grenade-0.1.0: test/test.hs

import           Control.Monad

import qualified Test.Grenade.Network

import qualified Test.Grenade.Layers.Pooling
import qualified Test.Grenade.Layers.Convolution
import qualified Test.Grenade.Layers.FullyConnected
import qualified Test.Grenade.Layers.Nonlinear
import qualified Test.Grenade.Layers.PadCrop

import qualified Test.Grenade.Layers.Internal.Convolution
import qualified Test.Grenade.Layers.Internal.Pooling

import qualified Test.Grenade.Recurrent.Layers.LSTM

import           System.Exit
import           System.IO

main :: IO ()
main =
  disorderMain [
      Test.Grenade.Network.tests

    , Test.Grenade.Layers.Pooling.tests
    , Test.Grenade.Layers.Convolution.tests
    , Test.Grenade.Layers.FullyConnected.tests
    , Test.Grenade.Layers.Nonlinear.tests
    , Test.Grenade.Layers.PadCrop.tests

    , Test.Grenade.Layers.Internal.Convolution.tests
    , Test.Grenade.Layers.Internal.Pooling.tests

    , Test.Grenade.Recurrent.Layers.LSTM.tests

    ]

disorderMain :: [IO Bool] -> IO ()
disorderMain tests = do
  lineBuffer
  rs <- sequence tests
  unless (and rs) exitFailure


lineBuffer :: IO ()
lineBuffer = do
  hSetBuffering stdout LineBuffering
  hSetBuffering stderr LineBuffering