From f038a093bc0259bf7d72d86fb95f4a2aebf1a8df Mon Sep 17 00:00:00 2001 From: Brad Richardson Date: Mon, 19 Oct 2020 15:52:45 -0500 Subject: Add test for modules a submodule uses --- bootstrap/unit_test/SubmoduleSourceConstructionTest.hs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'bootstrap/unit_test') diff --git a/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs b/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs index 5295a97..956d782 100644 --- a/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs +++ b/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs @@ -31,12 +31,18 @@ test = return $ givenInput , then' "its object file name is the 'flattened' path of the source file with '.o' appeneded" checkSubmoduleObjectFileName + , then' "it knows what modules it uses directly" checkSubmoduleModulesUsed ] ] exampleSubmodule :: RawSource -exampleSubmodule = RawSource submoduleSourceFileName' - $ unlines ["submodule (some_module:parent) child", "end submodule"] +exampleSubmodule = RawSource submoduleSourceFileName' $ unlines + [ "submodule (some_module:parent) child" + , " use module1" + , " USE MODULE2" + , " implicit none" + , "end submodule" + ] submoduleSourceFileName' :: String submoduleSourceFileName' = "some" "file" "somewhere.f90" @@ -55,3 +61,8 @@ checkSubmoduleObjectFileName s@(Submodule{}) = assertEquals ("." "some_file_somewhere.f90.o") $ (submoduleObjectFileName s) "." checkSubmoduleObjectFileName _ = fail' "wasn't a Submodule" + +checkSubmoduleModulesUsed :: Source -> Result +checkSubmoduleModulesUsed s@(Submodule{}) = + assertEquals ["module1", "module2"] $ submoduleModulesUsed s +checkSubmoduleModulesUsed _ = fail' "wasn't a Submodule" -- cgit v1.2.3