1-- SPDX-FileCopyrightText: 2025-2026 Sören Tempel <soeren+git@soeren-tempel.net>2--3-- SPDX-License-Identifier: GPL-3.0-only45module Main (main) where67import BV (bvTests)8import Backend (backendTests)9import Concolic qualified as CE10import Control.Exception (IOException, try)11import Data.Either (isLeft)12import Explorer (exploreTests)13import Golden (goldenTests)14import Language.QBE.Simulator.Explorer (defSolver)15import SimpleBV qualified as SMT16import Symbolic qualified as SE17import System.IO (hPutStrLn, stderr)18import Test.Tasty1920main :: IO ()21main = do22 solver <- try defSolver :: IO (Either IOException SMT.Solver)23 if isLeft solver24 then hPutStrLn stderr "WARNING: No solver found, skipping tests!"25 else defaultMain tests2627tests :: TestTree28tests =29 testGroup30 "Tests"31 [ SE.exprTests,32 CE.exprTests,33 backendTests,34 exploreTests,35 goldenTests,36 bvTests37 ]