diff options
Diffstat (limited to 'bootstrap/unit_test/ModuleToCompileInfoTest.hs')
-rw-r--r-- | bootstrap/unit_test/ModuleToCompileInfoTest.hs | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/bootstrap/unit_test/ModuleToCompileInfoTest.hs b/bootstrap/unit_test/ModuleToCompileInfoTest.hs deleted file mode 100644 index 08cd67c..0000000 --- a/bootstrap/unit_test/ModuleToCompileInfoTest.hs +++ /dev/null @@ -1,73 +0,0 @@ -module ModuleToCompileInfoTest - ( test - ) -where - -import BuildModel ( AvailableModule(..) - , CompileTimeInfo(..) - , Source(..) - , constructCompileTimeInfo - ) -import Hedge ( Result - , Test - , assertEquals - , givenInput - , then' - , whenTransformed - ) -import System.FilePath ( (</>) ) - -test :: IO (Test ()) -test = return $ givenInput - "a module and available modules" - (exampleModule, availableModules) - [ whenTransformed - "its compileTimeInfo is determined" - doCompileTimeTransformation - [ then' "it stil knows the original source file" checkSourceFileName - , then' "it knows what object file will be produced" checkObjectFileName - , then' "the mod and smod files are also produced" checkOtherFilesProduced - , then' "the direct dependencies are only the available modules used" - checkDirectDependencies - ] - ] - -exampleModule :: Source -exampleModule = Module - { moduleSourceFileName = moduleSourceFileName' - , moduleObjectFileName = \bd -> bd </> "some_file_somewhere.f90.o" - , moduleModulesUsed = ["module1", "module2", "module3"] - , moduleName = "some_module" - , moduleProducesSmod = True - } - -moduleSourceFileName' :: FilePath -moduleSourceFileName' = "some" </> "file" </> "somewhere.f90" - -availableModules :: [AvailableModule] -availableModules = [ AvailableModule {availableModuleName = "module1", availableModuleFile = "build_dir" </> "module1.mod"} - , AvailableModule {availableModuleName = "module3", availableModuleFile = "build_dir" </> "module3.mod"} - ] - -doCompileTimeTransformation :: (Source, [AvailableModule]) -> CompileTimeInfo -doCompileTimeTransformation (programSource, otherSources) = - constructCompileTimeInfo programSource otherSources "build_dir" - -checkSourceFileName :: CompileTimeInfo -> Result -checkSourceFileName cti = - assertEquals moduleSourceFileName' (compileTimeInfoSourceFileName cti) - -checkObjectFileName :: CompileTimeInfo -> Result -checkObjectFileName cti = assertEquals - ("build_dir" </> "some_file_somewhere.f90.o") - (compileTimeInfoObjectFileProduced cti) - -checkOtherFilesProduced :: CompileTimeInfo -> Result -checkOtherFilesProduced cti = assertEquals - ["build_dir" </> "some_module.mod", "build_dir" </> "some_module.smod"] - (compileTimeInfoOtherFilesProduced cti) - -checkDirectDependencies :: CompileTimeInfo -> Result -checkDirectDependencies cti = assertEquals - ["build_dir" </> "module1.mod", "build_dir" </> "module3.mod"] - (compileTimeInfoDirectDependencies cti) |