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 Control.Monad (unless)8import Data.Maybe (isJust)9import Golden10import Parser11import System.Directory (findExecutable)12import System.IO (hPutStrLn, stderr)13import Test.Tasty14import Types1516main :: IO ()17main = do18 hasQBE <- isJust <$> findExecutable "qbe"19 unless hasQBE $20 hPutStrLn stderr "WARNING: qbe(1) not installed, skipping Golden tests!"21 defaultMain $ tests hasQBE2223-- Golden tests require qbe(1) to be installed, which is not available on Hackage.24tests :: Bool -> TestTree25tests hasQBE =26 let testTree =27 if hasQBE28 then baseTests ++ [goldenTests]29 else baseTests30 in testGroup "Tests" testTree31 where32 baseTests = [mkParser, typesTests]