From 4cc6d2c3f818a432f4b2af801d15e8c726b4c325 Mon Sep 17 00:00:00 2001 From: Orestis Melkonian <melkon.or@gmail.com> Date: Sun, 4 Mar 2018 13:56:57 +0100 Subject: [PATCH] Tests: silence stderr --- test/Spec.hs | 2 +- test/TEquivalenceClasses.hs | 15 ++++++++------- test/TExamples.hs | 11 ++++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/test/Spec.hs b/test/Spec.hs index feafa3c..4baa535 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 388ea75..ed07077 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 8be3920..30ff8b5 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 -- GitLab