chore(tvix/eval): Add deps on proptest+test_strategy

It's proptest time!

Add deps on the proptest and test_strategy crates, gated behind a
new (default-enabled) "arbitrary" feature flag so that they don't affect
dependencies of things like tvixbolt that depend on tvix.

These are going in dependencies, not dev-dependencies, so that we can
impl Arbitrary for stuff outside of test modules (which will be
important for integration suites which want to run proptests)

Change-Id: I1613bd3ea9a835e22986ad4e59700e8736007963
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6624
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
Griffin Smith 2022-09-17 13:52:02 -04:00 committed by grfn
parent da9e885e06
commit 84def7ef19
2 changed files with 151 additions and 2 deletions

View file

@ -21,6 +21,8 @@ tabwriter = "1.2"
rowan = "*" # pinned by rnix
codemap = "0.1.3"
codemap-diagnostic = "0.1.1"
proptest = { version = "1.0.0", default_features = false, features = ["std", "alloc", "break-dead-code", "tempfile"], optional = true }
test-strategy = { version = "0.2.1", optional = true }
# rnix has not been released in a while (as of 2022-09-01), we will
# use it from git.
@ -36,7 +38,7 @@ itertools = "0.10.3"
tempdir = "0.3.7"
[features]
default = [ "repl" ]
default = [ "repl", "arbitrary" ]
# Enables running the Nix language test suite from the original C++
# Nix implementation (at version 2.3) against Tvix.
@ -45,6 +47,9 @@ nix_tests = []
# Enables building the binary (tvix-eval REPL)
repl = [ "dep:rustyline" ]
# Enables Arbitrary impls for internal types (required to run tests)
arbitrary = [ "proptest", "test-strategy" ]
[[bench]]
name = "eval"
harness = false