32 lines
803 B
Haskell
32 lines
803 B
Haskell
|
|
import System.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 _ -> print "make failure"
|
|
|
|
;status <- make fp [] -- shouldn't make
|
|
;case status of
|
|
MakeSuccess c _ -> print c
|
|
MakeFailure _ -> print "make failure"
|
|
|
|
;removeFile "Foo.o" -- make test deterministic
|
|
}
|
|
|
|
|