packages feed

capnp-0.17.0.0: tests/Main.hs

module Main (main) where

import qualified CalculatorExample
import Module.Capnp.Basics (basicsTests)
import Module.Capnp.Bits (bitsTests)
import Module.Capnp.Canonicalize (canonicalizeTests)
import Module.Capnp.Gen.Capnp.Schema (schemaTests)
import Module.Capnp.Gen.Capnp.Schema.Pure (pureSchemaTests)
import Module.Capnp.Pointer (ptrTests)
import Module.Capnp.Rpc (rpcTests)
import Module.Capnp.Untyped (untypedTests)
import Module.Capnp.Untyped.Pure (pureUntypedTests)
import qualified PointerOOB
import Regression (regressionTests)
import Rpc.Unwrap (unwrapTests)
import SchemaQuickCheck (schemaCGRQuickCheck)
import Test.Hspec
import WalkSchemaCodeGenRequest (walkSchemaCodeGenRequestTest)

main :: IO ()
main = hspec $ parallel $ do
  describe "Tests for specific modules" $ do
    describe "Capnp.Basics" basicsTests
    describe "Capnp.Bits" bitsTests
    describe "Capnp.Pointer" ptrTests
    describe "Capnp.Rpc" rpcTests
    describe "Capnp.Untyped" untypedTests
    describe "Capnp.Untyped.Pure" pureUntypedTests
    describe "Capnp.Canonicalize" canonicalizeTests
  describe "Tests for generated output" $ do
    describe "low-level output" schemaTests
    describe "high-level output" pureSchemaTests
  describe "Tests relate to schema" $ do
    describe "tests using tests/data/schema-codegenreq" walkSchemaCodeGenRequestTest
    describe "property tests for schema" schemaCGRQuickCheck
  describe "Regression tests" regressionTests
  CalculatorExample.tests
  PointerOOB.tests
  describe "Tests for client unwrapping" unwrapTests