chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.76k stars 414 forks source link

Chapel should have property-based testing as well as example-based testing #15488

Open russel opened 4 years ago

russel commented 4 years ago

Copying from #13098

"Just wondering if people have thought about property-based testing rather than example-based testing. unit_threaded allows for check in D. proptest and quickcheck are available for Rust. testing/quick is available for Go. Quickcheck in Haskell is the place where all this started. Hypothesis is the Python way of doing the right thing."

russel commented 4 years ago

Adding some references to the above:

D, unit_threaded: https://github.com/atilaneves/unit-threaded Rust: https://docs.rs/proptest/0.9.5/proptest/index.html and https://docs.rs/quickcheck/0.9.2/quickcheck/ Go: https://godoc.org/github.com/leanovate/gopter, https://github.com/flyingmutant/rapid, and https://golang.org/pkg/testing/quick/ Haskell: https://hackage.haskell.org/package/QuickCheck Python: https://hypothesis.readthedocs.io/en/latest/

There is a belief that if a property-based testing framework does not include shrinking then it is not worth using.