morloc-0.33.0: test-suite/Main.hs
import Test.Tasty
import qualified System.Directory as SD
import PropertyTests (propertyTests)
import UnitTypeTests
import GoldenMakefileTests (goldenMakefileTest)
main = do
wd <- SD.getCurrentDirectory >>= SD.makeAbsolute
let golden = \msg f -> goldenMakefileTest msg (wd ++ "/test-suite/golden-tests/" ++ f)
defaultMain $
testGroup
"Morloc tests"
[ packerTests
, unitTypeTests
, typeOrderTests
, typeAliasTests
, propertyTests
, jsontype2jsonTests
, recordAccessTests
, golden "import-1" "import-1"
, golden "argument-form-1-c" "argument-form-1-c"
, golden "argument-form-1-py" "argument-form-1-py"
, golden "argument-form-1-r" "argument-form-1-r"
, golden "argument-form-2-c" "argument-form-2-c"
, golden "argument-form-2-py" "argument-form-2-py"
, golden "argument-form-2-r" "argument-form-2-r"
-- see github issue #7
, golden "argument-form-3-c" "argument-form-3-c"
, golden "argument-form-3-py" "argument-form-3-py"
, golden "argument-form-3-r" "argument-form-3-r"
, golden "argument-form-4-c" "argument-form-4-c"
, golden "argument-form-4-py" "argument-form-4-py"
, golden "argument-form-4-r" "argument-form-4-r"
, golden "argument-form-5-c" "argument-form-5-c"
, golden "argument-form-5-py" "argument-form-5-py"
, golden "argument-form-5-r" "argument-form-5-r"
, golden "argument-form-6-c" "argument-form-6-c"
, golden "argument-form-6-py" "argument-form-6-py"
, golden "argument-form-6-r" "argument-form-6-r"
, golden "argument-form-7-c" "argument-form-7-c"
, golden "argument-form-7-py" "argument-form-7-py"
, golden "argument-form-7-r" "argument-form-7-r"
, golden "argument-form-8-c" "argument-form-8-c"
, golden "argument-form-8-py" "argument-form-8-py"
, golden "argument-form-8-r" "argument-form-8-r"
, golden "defaults-1-py" "defaults-1-py"
, golden "interop-1-py" "interop-1-py"
, golden "interop-1-r" "interop-1-r"
, golden "interop-2" "interop-2"
, golden "manifold-form-0" "manifold-form-0"
, golden "manifold-form-0x" "manifold-form-0x"
, golden "manifold-form-1" "manifold-form-1"
, golden "manifold-form-2" "manifold-form-2"
, golden "manifold-form-2x" "manifold-form-2x"
, golden "manifold-form-3" "manifold-form-3"
, golden "manifold-form-3x" "manifold-form-3x"
, golden "manifold-form-4_c" "manifold-form-4_c"
, golden "manifold-form-4_py" "manifold-form-4_py"
, golden "manifold-form-4_r" "manifold-form-4_r"
, golden "manifold-form-5_c" "manifold-form-5_c"
, golden "manifold-form-5_py" "manifold-form-5_py"
, golden "manifold-form-5_r" "manifold-form-5_r"
, golden "manifold-form-6_c" "manifold-form-6_c"
, golden "manifold-form-6_py" "manifold-form-6_py"
, golden "manifold-form-6_r" "manifold-form-6_r"
-- see github issue #9
, golden "manifold-form-7_c" "manifold-form-7_c"
, golden "manifold-form-7_py" "manifold-form-7_py"
, golden "manifold-form-7_r" "manifold-form-7_r"
, golden "records-1-py" "records-1-py"
, golden "records-1-r" "records-1-r"
-- see github issue #8
, golden "records-1-c" "records-1-c"
, golden "selection-1" "selection-1"
, golden "selection-2" "selection-2"
, golden "selection-3" "selection-3"
, golden "selection-4" "selection-4"
-- import two instances in one languages for a function
-- this is also a test of a function that is defind in a local file
, golden "multiple-instances-1-c" "multiple-instances-1-c"
, golden "multiple-instances-1-py" "multiple-instances-1-py"
, golden "multiple-instances-1-r" "multiple-instances-1-r"
-- multiple sources and a declaration
, golden "multiple-instances-2-c" "multiple-instances-2-c"
, golden "multiple-instances-2-py" "multiple-instances-2-py"
, golden "multiple-instances-2-r" "multiple-instances-2-r"
-- tests of module forms
-- where *-sid
-- s - number of sourced instances
-- i - number of imported instances
-- d - number of declared instances
, golden "module-form-00n" "module-form-00n"
, golden "module-form-011" "module-form-011"
, golden "module-form-01n" "module-form-01n"
, golden "module-form-0n0" "module-form-0n0"
, golden "module-form-0n1" "module-form-0n1"
, golden "module-form-101" "module-form-101"
, golden "module-form-10n" "module-form-10n"
, golden "module-form-110" "module-form-110"
, golden "module-form-111" "module-form-111"
, golden "module-form-1n0" "module-form-1n0"
, golden "module-form-n00" "module-form-n00"
, golden "module-form-n01" "module-form-n01"
, golden "module-form-n10" "module-form-n10"
-- tests of serialization
-- , golden "c S" "serial-form-1-c"
-- , golden "py S" "serial-form-1-py"
-- , golden "r S" "serial-form-1-r"
, golden "C serial-form-2-c" "serial-form-2-c"
, golden "C serial-form-2-py" "serial-form-2-py"
, golden "C serial-form-2-r" "serial-form-2-r"
-- , golden "c R" "serial-form-3-c"
-- , golden "py R" "serial-form-3-py"
-- , golden "r R" "serial-form-3-r"
-- outer simple type
, golden "S(S) serial-form-4-c" "serial-form-4-c"
, golden "S(S) serial-form-4-py" "serial-form-4-py"
, golden "S(S) serial-form-4-r" "serial-form-4-r"
, golden "S(C) serial-form-5-c" "serial-form-5-c"
, golden "S(C) serial-form-5-py" "serial-form-5-py"
, golden "S(C) serial-form-5-r" "serial-form-5-r"
, golden "S(R) serial-form-6-c" "serial-form-6-c"
, golden "S(R) serial-form-6-py" "serial-form-6-py"
, golden "S(R) serial-form-6-r" "serial-form-6-r"
-- outer constructed type
, golden "C(S) serial-form-7-c" "serial-form-7-c"
, golden "C(S) serial-form-7-py" "serial-form-7-py"
, golden "C(S) serial-form-7-r" "serial-form-7-r"
, golden "C(C) serial-form-8-c" "serial-form-8-c"
, golden "C(C) serial-form-8-py" "serial-form-8-py"
, golden "C(C) serial-form-8-r" "serial-form-8-r"
, golden "C(R) serial-form-9-c" "serial-form-9-c"
, golden "C(R) serial-form-9-py" "serial-form-9-py"
, golden "C(R) serial-form-9-r" "serial-form-9-r"
-- outer record type
, golden "R(S) serial-form-10-c" "serial-form-10-c"
, golden "R(S) serial-form-10-py" "serial-form-10-py"
, golden "R(S) serial-form-10-r" "serial-form-10-r"
, golden "R(C) serial-form-11-c" "serial-form-11-c"
, golden "R(C) serial-form-11-py" "serial-form-11-py"
, golden "R(C) serial-form-11-r" "serial-form-11-r"
, golden "R(R) serial-form-12-c" "serial-form-12-c"
, golden "R(R) serial-form-12-py" "serial-form-12-py"
, golden "R(R) serial-form-12-r" "serial-form-12-r"
-- table handling
, golden "C++ table default" "table-1-c"
, golden "py3 table default" "table-1-py"
, golden "R table default" "table-1-r"
, golden "C++ table object" "table-2-c"
, golden "py3 table object" "table-2-py"
, golden "R table object" "table-2-r"
-- object handling
, golden "C++ object handling" "object-1-c"
, golden "py3 object handling" "object-1-py"
, golden "R object handling" "object-1-r"
-- record access
, golden "record-access-gen" "record-access-gen"
, golden "record-access-c" "record-access-c"
, golden "record-access-py" "record-access-py"
, golden "record-access-r" "record-access-r"
-- type identities
, golden "type-identities-c" "type-identities-c"
]