mirror of
https://github.com/anoma/juvix.git
synced 2024-12-02 10:47:32 +03:00
f1bb0e50d9
* Closes #2841 * Moves the `vampir` compilation target under `dev`. * Removes VampIR tests that require the external `vamp-ir` executable.
71 lines
1.7 KiB
Haskell
71 lines
1.7 KiB
Haskell
module Main (main) where
|
|
|
|
import Anoma qualified
|
|
import Asm qualified
|
|
import BackendMarkdown qualified
|
|
import Base
|
|
import Casm qualified
|
|
import Compilation qualified
|
|
import Core qualified
|
|
import Examples qualified
|
|
import Format qualified
|
|
import Formatter qualified
|
|
import Internal qualified
|
|
import Isabelle qualified
|
|
import Juvix.Config qualified as Config
|
|
import Nockma qualified
|
|
import Package qualified
|
|
import Parsing qualified
|
|
import Reg qualified
|
|
import Repl qualified
|
|
import Resolver qualified
|
|
import Runtime qualified
|
|
import Rust qualified
|
|
import Scope qualified
|
|
import Termination qualified
|
|
import Tree qualified
|
|
import Typecheck qualified
|
|
|
|
slowTests :: IO TestTree
|
|
slowTests =
|
|
sequentialTestGroup
|
|
"Juvix slow tests"
|
|
AllFinish
|
|
<$> sequence
|
|
[ return Runtime.allTests,
|
|
return Reg.allTests,
|
|
return Asm.allTests,
|
|
return Tree.allTests,
|
|
return Core.allTests,
|
|
return Internal.allTests,
|
|
return Compilation.allTests,
|
|
return Examples.allTests,
|
|
Casm.allTests,
|
|
return Anoma.allTests,
|
|
return Repl.allTests
|
|
]
|
|
<> sequence (if Config.config ^. Config.configRust then [Rust.allTests] else [])
|
|
|
|
fastTests :: IO TestTree
|
|
fastTests =
|
|
return $
|
|
testGroup
|
|
"Juvix fast tests"
|
|
[ Parsing.allTests,
|
|
Resolver.allTests,
|
|
Scope.allTests,
|
|
Termination.allTests,
|
|
Typecheck.allTests,
|
|
Format.allTests,
|
|
Formatter.allTests,
|
|
Package.allTests,
|
|
BackendMarkdown.allTests,
|
|
Isabelle.allTests,
|
|
Nockma.allTests
|
|
]
|
|
|
|
main :: IO ()
|
|
main = do
|
|
tests <- sequence [fastTests, slowTests]
|
|
defaultMain (testGroup "Juvix tests" tests)
|