diff options
author | Brad Richardson <everythingfunctional@protonmail.com> | 2020-10-14 12:51:29 -0500 |
---|---|---|
committer | Brad Richardson <everythingfunctional@protonmail.com> | 2020-10-14 12:51:29 -0500 |
commit | 29356ac6da1a94dbcc0c50c157e8dcb353213793 (patch) | |
tree | e7f307adb296de89b13f7d592a81354304fb2571 /bootstrap/unit_test/SourceConstructionTest.hs | |
parent | ed529804fc47d64f78bdbd3b4e366ff9f632c8d3 (diff) | |
download | fpm-29356ac6da1a94dbcc0c50c157e8dcb353213793.tar.gz fpm-29356ac6da1a94dbcc0c50c157e8dcb353213793.zip |
Add test for program object file name
Diffstat (limited to 'bootstrap/unit_test/SourceConstructionTest.hs')
-rw-r--r-- | bootstrap/unit_test/SourceConstructionTest.hs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/bootstrap/unit_test/SourceConstructionTest.hs b/bootstrap/unit_test/SourceConstructionTest.hs index 18a66de..2cee008 100644 --- a/bootstrap/unit_test/SourceConstructionTest.hs +++ b/bootstrap/unit_test/SourceConstructionTest.hs @@ -7,6 +7,7 @@ import BuildModel ( RawSource(..) , Source(..) , processRawSource ) +import System.FilePath ( (</>) ) import Hedge ( Result , Test , assertEquals @@ -27,6 +28,9 @@ test = return $ givenInput [ then' "it is a Program" checkIsProgram , then' "its source file name is the same as the original" checkProgramSourceFileName + , then' + "its object file name is the 'flattened' path of the source file with '.o' appended" + checkProgramObjectFileName ] ] @@ -39,15 +43,21 @@ exampleProgram = RawSource programSourceFileName' $ unlines ] programSourceFileName' :: String -programSourceFileName' = "some/file/somewhere.f90" +programSourceFileName' = "some" </> "file" </> "somewhere.f90" checkIsProgram :: Source -> Result checkIsProgram s = assertThat $ case s of Program{} -> True - _ -> False + _ -> False checkProgramSourceFileName :: Source -> Result checkProgramSourceFileName s = case s of p@(Program{}) -> assertEquals programSourceFileName' $ programSourceFileName p _ -> fail' "wasn't a Program" + +checkProgramObjectFileName :: Source -> Result +checkProgramObjectFileName s = case s of + p@(Program{}) -> assertEquals ("." </> "some_file_somewhere.f90.o") + $ (programObjectFileName p) "." + _ -> fail' "wasn't a Program" |