jvm-streaming-0.4.0: src/test/haskell/Main.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
module Main where
import Control.Concurrent (runInBoundThread)
import Data.List (intersperse)
import qualified Data.Text as Text
import qualified Data.Text.Encoding as Text
import Foreign.JNI
import Language.Java.Inline (loadJavaWrappers)
import Language.Java.Streaming.Jars (getJars)
import qualified Spec
import Test.Hspec
main :: IO ()
main = do
jars <- getJars
let classpath = concat $ intersperse ":" jars
withJVM [Text.encodeUtf8 $ Text.pack $ "-Djava.class.path=" ++ classpath] $ do
loadJavaWrappers -- causes classes in jvm-batching.jar to be loaded
-- since they are used in java quotations
hspec $ around_ (runInBoundThread . runInAttachedThread) Spec.spec