37 lines
827 B
Haskell
37 lines
827 B
Haskell
|
--
|
||
|
-- expected output:
|
||
|
-- $ ./a.out
|
||
|
-- True
|
||
|
-- False
|
||
|
-- True
|
||
|
-- False
|
||
|
--
|
||
|
|
||
|
import Plugins
|
||
|
import System.Directory
|
||
|
|
||
|
main = do
|
||
|
status <- make "Foo.hs" [] -- should make
|
||
|
print status
|
||
|
|
||
|
status <- make "Foo.hs" [] -- shouldn't make
|
||
|
print status
|
||
|
|
||
|
status <- merge "Foo.hs" "Bar.hs"
|
||
|
case status of
|
||
|
MergeFailure e -> error $ show e
|
||
|
MergeSuccess _ _ fp -> do {
|
||
|
|
||
|
;status <- make fp [] -- should make
|
||
|
;() <- case status of
|
||
|
MakeSuccess c _ -> print c
|
||
|
MakeFailure e -> error $ show e
|
||
|
|
||
|
;status <- make fp [] -- shouldn't make
|
||
|
;case status of
|
||
|
MakeSuccess c _ -> print c
|
||
|
MakeFailure e -> error $ show e
|
||
|
;removeFile "Foo.o"
|
||
|
}
|
||
|
|