Commit a21710bf authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Move tests from testsuite/tests/libraries

parent 4a669405
......@@ -2,3 +2,5 @@
test('readFloat', exit_code(1), compile_and_run, [''])
test('enumDouble', normal, compile_and_run, [''])
test('enumRatio', normal, compile_and_run, [''])
test('tempfiles', normal, compile_and_run, [''])
test('fixed', normal, compile_and_run, [''])
{-# OPTIONS_GHC -Wall -Werror #-}
module Main where
import Data.Fixed
nums :: Fractional a => [a]
nums = [0,7,7.1,7.01,7.9,7.09,5 + 7,3.2 - 7.8,5.75 * (-2)]
main :: IO ()
main = do mapM_ putStrLn $ doit (nums :: [Micro])
mapM_ putStrLn $ doit (nums :: [Pico])
doit :: HasResolution a => [Fixed a] -> [String]
doit xs = [ showFun (signFun x)
| showFun <- [show, showFixed True]
, signFun <- [id, negate]
, x <- xs ]
0.000000
7.000000
7.100000
7.010000
7.900000
7.090000
12.000000
-4.600000
-11.500000
0.000000
-7.000000
-7.100000
-7.010000
-7.900000
-7.090000
-12.000000
4.600000
11.500000
0
7
7.1
7.01
7.9
7.09
12
-4.6
-11.5
0
-7
-7.1
-7.01
-7.9
-7.09
-12
4.6
11.5
0.000000000000
7.000000000000
7.100000000000
7.010000000000
7.900000000000
7.090000000000
12.000000000000
-4.600000000000
-11.500000000000
0.000000000000
-7.000000000000
-7.100000000000
-7.010000000000
-7.900000000000
-7.090000000000
-12.000000000000
4.600000000000
11.500000000000
0
7
7.1
7.01
7.9
7.09
12
-4.6
-11.5
0
-7
-7.1
-7.01
-7.9
-7.09
-12
4.6
11.5
import Control.Exception
import Data.List
import System.FilePath
import System.Directory
import System.IO
-- Checks that openTempFile returns filenames with the right structure
main :: IO ()
main = do
fp0 <- otf ".no_prefix.hs"
print (".hs" `isSuffixOf` fp0)
print (".no_prefix" `isPrefixOf` takeFileName fp0)
fp1 <- otf "no_suffix"
print (not ('.' `elem` fp1))
print ("no_suffix" `isPrefixOf` takeFileName fp1)
fp2 <- otf "one_suffix.hs"
print (".hs" `isSuffixOf` fp2)
print ("one_suffix" `isPrefixOf` takeFileName fp2)
fp3 <- otf "two_suffixes.hs.blah"
print (".blah" `isSuffixOf` fp3)
print ("two_suffixes.hs" `isPrefixOf` takeFileName fp3)
otf :: FilePath -> IO FilePath
otf fp = do putStrLn fp
bracket (openTempFile "." fp)
(\(fp', h) -> do hClose h
removeFile fp')
(\(fp', _) -> case fp' of
'.' : '/' : fp'' -> return fp''
'.' : '\\' : fp'' -> return fp''
_ -> return fp')
.no_prefix.hs
True
True
no_suffix
True
True
one_suffix.hs
True
True
two_suffixes.hs.blah
True
True
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment