aboutsummaryrefslogtreecommitdiff
path: root/bootstrap/unit_test/ModuleToCompileInfoTest.hs
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/unit_test/ModuleToCompileInfoTest.hs')
-rw-r--r--bootstrap/unit_test/ModuleToCompileInfoTest.hs73
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)