tjb1982 / linen Goto Github PK
View Code? Open in Web Editor NEWtesting framework
License: Eclipse Public License 1.0
testing framework
License: Eclipse Public License 1.0
We currently have something like
checkpoint:
nodes:
- out: VAR1
err: VAR2
source: echo foo
but it might be interesting to have something like
checkpoint:
nodes:
- out: VAR1
in: |
foo
bar
baz
quux
source: grep "^b"
where this would be functionally equivalent to
echo "..." | grep "^b"
Right now there's a single key called throw
which is used to indicate whether a test should be counted among the failures at the end of the test. There needs to be a way to actually throw the test (i.e., not continue, clean-up, etc.) upon some condition. In conjunction with that there needs to be a separate key that indicates whether the process should be considered a failure or ignored. And I think this key will need to be a function that takes out
err
exit
as parameters.
# means that flax should stop and cleanup if the checkpoint fails
throw: boolean
assert:
~(fn:
- [ out, err, exit ]
- ~(zero?: [ exit ]
If throw
is true
and no assert
key is set, it should just check the exit code for non-zero, otherwise it should throw based on the pass/fail of the assertion.
Since the source code is known ahead of time we should run a pre-check-modules function or something like that that would report errors due to non-well-formed structures immediately instead of doing it at runtime, when it could potentially be a very long time before you find out that your source code is bad.
Currently there isn't even really a way to destroy a process. I've read here and here that Java 9 has some nice new process api changes that would help with this.
At a minimum, the node manager needs to be able to catch a ThreadInterrupted exception and kill any running processes, ensuring that they are actually killed. I'm sure there are some best practices around this.
e.g.,
invocation: |
#!/usr/bin/env python2
import sys
from __future__ import print_function
print("FAIL", file=sys.stderr)
sys.exit(1)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.