940251b87f
Instead of going through Vec/BTreeMap for generating our internal types, use the proptest strategies from imbl. The one thing I couldn't figure out in the previous implementation is where the ranges/sizes of generated collections came from. The strategies in proptest use different types (Range, with an unknown default value, and SizeRange with 0..100). I've opted to specify 0..100 directly, but we can probably make it configurable. Change-Id: I749bc4c703fe424099240cab822b1642e5216361 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7791 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
60 lines
1.8 KiB
TOML
60 lines
1.8 KiB
TOML
[package]
|
|
name = "tvix-eval"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
name = "tvix_eval"
|
|
|
|
[dependencies]
|
|
backtrace-on-stack-overflow = { version = "0.2.0", optional = true }
|
|
builtin-macros = { path = "./builtin-macros", package = "tvix-eval-builtin-macros" }
|
|
codemap = "0.1.3"
|
|
codemap-diagnostic = "0.1.1"
|
|
dirs = "4.0.0"
|
|
imbl = { version = "2.0", features = [ "serde" ] }
|
|
path-clean = "0.1"
|
|
proptest = { version = "1.0.0", default_features = false, features = ["std", "alloc", "break-dead-code", "tempfile"], optional = true }
|
|
regex = "1.6.0"
|
|
rnix = "0.11.0"
|
|
rowan = "*" # pinned by rnix
|
|
serde = { version = "1.0", features = [ "rc", "derive" ] }
|
|
serde_json = "1.0"
|
|
smol_str = "0.1"
|
|
tabwriter = "1.2"
|
|
test-strategy = { version = "0.2.1", optional = true }
|
|
xml-rs = "0.8.4"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.4"
|
|
pretty_assertions = "1.2.1"
|
|
itertools = "0.10.3"
|
|
tempdir = "0.3.7"
|
|
|
|
[dev-dependencies.test-generator]
|
|
# This fork of test-generator adds support for cargo workspaces, see
|
|
# also https://github.com/frehberg/test-generator/pull/14
|
|
git = "https://github.com/JamesGuthrie/test-generator.git"
|
|
rev = "82e799979980962aec1aa324ec6e0e4cad781f41"
|
|
|
|
[features]
|
|
default = [ "impure", "arbitrary", "nix_tests", "backtrace_overflow" ]
|
|
|
|
# Enables running the Nix language test suite from the original C++
|
|
# Nix implementation (at version 2.3) against Tvix.
|
|
nix_tests = []
|
|
|
|
# Enables operations in the VM which depend on the ability to perform I/O
|
|
impure = []
|
|
|
|
# Enables Arbitrary impls for internal types (required to run tests)
|
|
arbitrary = [ "proptest", "test-strategy", "imbl/proptest" ]
|
|
|
|
# For debugging use only; not appropriate for production use.
|
|
backtrace_overflow = [ "backtrace-on-stack-overflow" ]
|
|
|
|
[[bench]]
|
|
name = "eval"
|
|
harness = false
|