summaryrefslogtreecommitdiff
path: root/testsuite/tests/codeGen/should_run/cgrun025.hs
blob: f9633ee20473bfe4f3d38d8570659eba4876c32d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{-# LANGUAGE ScopedTypeVariables #-}
-- !!! test various I/O Requests
--
--
import Control.Exception
import System.Environment
import System.IO
import Debug.Trace (trace)
import Text.Regex
import Data.Maybe

main = do
    prog <- getProgName
    let Just (name:_) = matchRegex (mkRegex ".*(cgrun025)") prog
    hPutStr stderr (shows name "\n")
    args <- getArgs
    hPutStr stderr (shows args "\n")
    path <- getEnv "PATH"
    hPutStr stderr ("GOT PATH\n")
    stdin_txt <- getContents
    putStr stdin_txt
    file_cts <- readFile (head args)
    hPutStr  stderr file_cts
    trace "hello, trace" $
      catch (getEnv "__WURBLE__" >> return ()) (\ (e :: SomeException) -> error "hello, error")