testsuite: Ensure that posix005 output is normalized
authorBen Gamari <ben@smart-cactus.org>
Thu, 17 Nov 2016 21:37:41 +0000 (16:37 -0500)
committerBen Gamari <ben@smart-cactus.org>
Thu, 17 Nov 2016 21:41:02 +0000 (16:41 -0500)
The order in which getEnvironment returns its result is platform dependent. Sort
the output to ensure consistent output across platforms.

tests/libposix/posix005.hs

index 4365eb5..2988f4c 100644 (file)
@@ -2,20 +2,23 @@
 import System.IO
 import System.Posix.Env
 
+printEnv :: IO ()
+printEnv = getEnvironment >>= print . sort
+
 main = do
     hSetBuffering stdout NoBuffering
     term <- getEnv "TERM"
     maybe (return ()) putStrLn term
     setEnvironment [("one","1"),("two","2")]
-    getEnvironment >>= print
+    printEnv
     setEnv "foo" "bar" True
-    getEnvironment >>= print
+    printEnv
     setEnv "foo" "baz" True
-    getEnvironment >>= print
+    printEnv
     setEnv "fu" "bar" True
-    getEnvironment >>= print
+    printEnv
     unsetEnv "foo"
-    getEnvironment >>= print
+    printEnv
     clearEnv
-    getEnvironment >>= print
+    printEnv