mirror of
https://github.com/zap-proto/haskell.git
synced 2026-10-30 15:05:00 +00:00
Library + zapc-haskell already compiled; this finishes the test suite and CI: - SchemaGeneration.hs: import Control.Monad (replicateM) — mtl 2.3 stopped re-exporting Control.Monad from Control.Monad.State.Strict. - Module/Zap/Rpc.hs (expectException): GHC 9.6's stricter ambiguity check + waitPipeline's ReprFor a ~ 'Ptr pr rewrite broke the fundep-resolved Parse constraint. Pin the parsed type to and annotate the bound result (forall + ScopedTypeVariables) so GHC discharges Parse a (Parsed a) directly. - Regression.hs: regenerate the issue-#56 abort-message wire bytes — the rebrand find-replaced capnproto->zap INSIDE the binary literal, shortening the embedded text without updating the list-pointer length -> TraversalLimitError. Rebuilt via parsedToLBS of the expected Message. - zap-tests.cabal: drop the phantom 'benchmark bench' stanza (bench/Main.hs was never in the repo) and the broken examples/ test source dirs. - cabal.project: allow-newer lifetimes:transformers (stale upstream bound; GHC 9.4+ ships transformers 0.6 and lifetimes compiles against it). - ci.yml: build+install the zap schema front-end from cpp-core (the integration tests shell out to it), mirroring the Rust install-zap step. Local: cabal build all + cabal test all => 165 examples, 0 failures (GHC 9.6.7).
124 lines
3.9 KiB
Plaintext
124 lines
3.9 KiB
Plaintext
cabal-version: 2.2
|
|
name: zap-tests
|
|
version: 0.18.0.0
|
|
category: Data, Serialization, Network, Rpc
|
|
copyright: 2016-2023 haskell-zap contributors (see CONTRIBUTORS file).
|
|
author: Ian Denhardt
|
|
maintainer: [email protected]
|
|
license: MIT
|
|
license-file: LICENSE.md
|
|
homepage: https://github.com/zap-proto/haskell
|
|
bug-reports: https://github.com/zap-proto/haskell/issues
|
|
synopsis: Zap for Haskell
|
|
description:
|
|
A native Haskell implementation of the Zap cerialization format and
|
|
RPC protocol.
|
|
.
|
|
The library implements serialization and level 1 RPC.
|
|
.
|
|
The "Zap.Tutorial" module is the best place to start reading; the
|
|
reference documentation can seem bewildering without that context.
|
|
build-type: Simple
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
source-repository head
|
|
type: git
|
|
branch: master
|
|
location: https://github.com/zap-proto/haskell.git
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
common shared-opts
|
|
build-depends:
|
|
base >= 4.14 && < 5
|
|
, bytes >= 0.15.4 && <0.18
|
|
, bytestring >= 0.10 && <0.12
|
|
, containers >= 0.5.9 && <0.7
|
|
, data-default ^>= 0.7.1
|
|
, exceptions ^>= 0.10.0
|
|
, ghc-prim >= 0.6.1 && <0.11
|
|
, mtl >= 2.2.2 && <2.4
|
|
, primitive >= 0.6.3 && <0.9
|
|
, safe-exceptions ^>= 0.1.7
|
|
, text >= 1.2 && < 2.1
|
|
, transformers >= 0.5.2 && <0.7
|
|
, vector >= 0.12.0 && <0.14
|
|
, monad-stm ^>= 0.1
|
|
ghc-options:
|
|
-Wall
|
|
|
|
-- This warning is triggered by normal use of NamedFieldPuns, so it's a no-go
|
|
-- for us:
|
|
-Wno-name-shadowing
|
|
|
|
-- I(zenhack) find it rather odd that orphan instances are flagged when the
|
|
-- class and the type are in different modules but, the same *package*. We do
|
|
-- this in a number of places in the zap package, so we disable this
|
|
-- warning. It's not super easy to write a package-level orphan by accident,
|
|
-- so we're not losing much.
|
|
-Wno-orphans
|
|
default-language: Haskell2010
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
test-suite tests
|
|
import: shared-opts
|
|
type: exitcode-stdio-1.0
|
|
main-is: Main.hs
|
|
hs-source-dirs:
|
|
tests
|
|
gen/tests
|
|
ghc-options:
|
|
-threaded
|
|
other-modules:
|
|
-- Utilities
|
|
Util
|
|
, Instances
|
|
, SchemaGeneration
|
|
|
|
-- generated from tests/data/aircraft.zap
|
|
, Zap.Gen.Aircraft
|
|
, Zap.Gen.ById.X832bcc6686a26d56
|
|
|
|
-- generated from tests/data/generics.zap
|
|
, Zap.Gen.Generics
|
|
, Zap.Gen.ById.Xb6421fb8e478d144
|
|
|
|
-- Actual tests:
|
|
, Module.Zap.Gen.Zap.Schema
|
|
, Module.Zap.Gen.Zap.Schema.Pure
|
|
, Module.Zap.Rpc
|
|
, Module.Zap.Untyped
|
|
, Module.Zap.Untyped.Pure
|
|
, Module.Zap.Pointer
|
|
, Module.Zap.Bits
|
|
, Module.Zap.Basics
|
|
, Module.Zap.Canonicalize
|
|
, PointerOOB
|
|
, Regression
|
|
, WalkSchemaCodeGenRequest
|
|
, SchemaQuickCheck
|
|
, CalculatorExample
|
|
, Constants
|
|
, Rpc.Unwrap
|
|
build-depends:
|
|
zap
|
|
, zap-examples
|
|
, network
|
|
, network-simple
|
|
, stm
|
|
, async
|
|
, process
|
|
, process-extras
|
|
, QuickCheck
|
|
, quickcheck-io
|
|
, quickcheck-instances
|
|
, hspec
|
|
, directory
|
|
, resourcet
|
|
, heredoc
|
|
, deepseq
|
|
, pretty-show
|
|
, supervisors
|