an integration testing library
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Jordan Orelli d5e30c26fe re-implementing the env system
the env system code is unecessarily fiddly. The current env system is
the second env system, so the layer system will be the third
implementation of the env system.

the environment in which we run our tests is a layered environment like
the scope in a programming language, but unlike with nested closures,
tea permits the user to supply match tags to skip what would be stack
frames in a system based on nested closures. It's more easily understood
as being a system of layers, and that we skip non-matching layers.

the env system also had the problem that it was a tree that was
dynamically constructed as a side-effect of the execution tree, but each
chain only needs to read its own ancestry in the environment tree.
Having a single tree poses challenges for parellelizing the execution of
different test chains, so instead, I would rather keep a list of layers
for each chain, instead of keeping a single environment tree that is
shared across all chains in the run. Additionally, the env system was
sparse; tests that save no data put no nodes in the env tree. I would
like to be able to display to users the layers available to their test
in certain error cases so that they can understand why a match may have
failed. Right now, in practice, encountering a match failure in a test
plan is confusing to understand.
4 years ago
examples sync examples 4 years ago
LICENSE add a license 4 years ago
README.md add a readme 4 years ago
assertions_test.go re-implementing the env system 4 years ago
chain.go re-implementing the env system 4 years ago
const_test.go testing selections a bit 4 years ago
doc.go env uses layers 4 years ago
env.go re-implementing the env system 4 years ago
env_test.go merging no longer mutates the env 4 years ago
error.go re-implementing the env system 4 years ago
gen_test.go re-implementing the env system 4 years ago
go.mod i guess i should have a module file 4 years ago
layer.go re-implementing the env system 4 years ago
layer_test.go re-implementing the env system 4 years ago
node.go clean up some redundant test code 4 years ago
node_test.go bit of refactoring 4 years ago
selection.go clean up some redundant test code 4 years ago
selection_test.go select the middle of a graph 4 years ago
test.go graph-building seems to be working 4 years ago
test_test.go we gettin crazy now 4 years ago
tree.go re-implementing the env system 4 years ago

README.md

tea

a testing library