tango
tango copied to clipboard
Comprehensive tests for step graphs
Test cases:
- [ ] Direct step dependency
- [ ] Step dependency through a list/dict/set/tuple
- [ ] Step dependency through a complex (
FromParams) object - [ ] Anonymous step dependency (i.e., when the dependency doesn't have a name and is just specified directly)
- [ ] Reference to a step by unique id instead of name
- [ ] Reference to a step by unique id which is also an anonymous step dependency
- [ ] Circular dependencies (should fail cleanly)
- [ ] Dependency where the types don't match (should fail cleanly)
All of these should work
- [ ] with a config file
- [ ] with Tango-as-a-library (where it makes sense)
All of these should work with steps that are
- [ ] cacheable
- [ ] not cacheable
- [ ] deterministic
- [ ] not deterministic
In the deterministic case, we should make sure the generated unique ids are identical when the same thing runs a second time. In the non-deterministic case, we should make sure they are not.