diff --git a/test/Spec.hs b/test/Spec.hs index feafa3cea996b6d15f7d0fcc4fc875e9880292ff..4baa53534870c3a914274de4f758b085538c0adf 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -10,8 +10,8 @@ main = defaultMain [ constructTestSuite testName testSuite | (testName, testSuite) <- [ ("LIR_PARSER", parserTests) - , ("EXAMPLES", examples) , ("MODEL_PARSER", modelParserTests) + , ("EXAMPLES", examples) , ("EQUIV_REAL", genEquivTests "examples/test_equiv/Reals.java") , ("EQUIV_ARRAY", genEquivTests "examples/test_equiv/Arrays.java") ] diff --git a/test/TEquivalenceClasses.hs b/test/TEquivalenceClasses.hs index 388ea75ca61b94d901b94be548508f882c4f4c6d..ed070777bae62990d321f1179bee0ea29e347869 100644 --- a/test/TEquivalenceClasses.hs +++ b/test/TEquivalenceClasses.hs @@ -1,20 +1,21 @@ module TEquivalenceClasses where import Control.Monad -import Data.List (elemIndex) -import Data.List.Split (splitOn) +import Data.List (elemIndex) +import Data.List.Split (splitOn) import Data.Maybe -import System.IO.Silently (silence) -import System.IO.Unsafe (unsafePerformIO) +import System.IO (stderr, stdout) +import System.IO.Silently (hSilence) +import System.IO.Unsafe (unsafePerformIO) import Test.HUnit +import API import Javawlp.Engine.HelperFunctions (parseMethodIds) import Model -import API testEquiv :: Response -> String -> String -> String -> Assertion testEquiv b src s s' = - (case unsafePerformIO (silence $ compareSpec Debug File (src, s) (src, s')) of + (case unsafePerformIO (hSilence [stdout, stderr] $ compareSpec Debug File (src, s) (src, s')) of NotEquivalent x -> NotEquivalent emptyModel x -> x ) @?= b @@ -22,7 +23,7 @@ testEquiv b src s s' = (.!=) = testEquiv $ NotEquivalent emptyModel genEquivTests edslSrc = - let methodIds = unsafePerformIO (silence $ parseMethodIds edslSrc) + let methodIds = unsafePerformIO (hSilence [stdout, stderr] $ parseMethodIds edslSrc) getClass = last . splitOn "_" tailFrom :: Eq a => [a] -> a -> [a] tailFrom xs x = case elemIndex x xs of Just i -> snd $ splitAt i xs diff --git a/test/TExamples.hs b/test/TExamples.hs index 8be3920c087591f6edd0457da5bfb1f8d0d27c94..30ff8b5a9841d5c5b6914614e1a5c6fc497a3350 100644 --- a/test/TExamples.hs +++ b/test/TExamples.hs @@ -1,18 +1,19 @@ module TExamples where -import System.IO.Unsafe (unsafePerformIO) -import System.IO.Silently (silence) +import System.IO (stderr, stdout) +import System.IO.Silently (hSilence) +import System.IO.Unsafe (unsafePerformIO) import Test.HUnit -import Model import API +import Model src = "examples/javawlp_edsl/src/nl/uu/javawlp_edsl/Main.java" testEquiv :: Response -> String -> String -> Assertion testEquiv b s s' = - (case unsafePerformIO (silence $ compareSpec Debug File (src, s) (src, s')) of + (case unsafePerformIO (hSilence [stdout, stderr] $ compareSpec Debug File (src, s) (src, s')) of NotEquivalent _ -> NotEquivalent emptyModel - x -> x + x -> x ) @?= b (.==) = testEquiv Equivalent (.!=) = testEquiv $ NotEquivalent emptyModel