Comments (8)
Yeah, this should probably be explained better in the doc.
from sharness.
I think this behavior is intended. At least the git test suite does the same thing.
from sharness.
@jluebbe I think what you want is implemented in Git upstream with test_atexit
. That's called truly unconditionally when the tests are done. Even if the test crashes.
from sharness.
Stumbled over the same thing. Documentation mismatches behavior! What fix would you prefer in a PR?
from sharness.
@LeSpocky What explained in my previous comment: port test_atexit
from Junio's git so that can be used to specify actions that should be done at the end regardless if tests fail or not.
from sharness.
You mean this one? https://github.com/git/git/blob/master/t/test-lib-functions.sh#L1364
Thing is: final_cleanup
is not present in upstream Git test suite, but according to sharness docs it serves the same purpose as test_atexit
as far as I understand both docs. Or let me ask the other way round: what would be the purpose of final_cleanup
after adding test_atexit
in sharness? How would both differ and would it really be necessary to have two of them? The problem at hand for sharness here is: documentation mismatches behaviour. Either one has to be fixed.
from sharness.
You mean this one? https://github.com/git/git/blob/master/t/test-lib-functions.sh#L1364
No, this one: https://github.com/git/git/blob/master/t/test-lib-functions.sh#L1397
Thing is: final_cleanup is not present in upstream Git test suite, but according to sharness docs it serves the same purpose as test_atexit as far as I understand both docs.
I don't think so. One says it runs at unconditionally at the end of the test script, and the other unconditionally after all the tasks have been run. It's not the same.
Or let me ask the other way round: what would be the purpose of final_cleanup after adding test_atexit in sharness?
I don't know.
How would both differ and would it really be necessary to have two of them?
It's probably not necessary to have both of them. But I believe test_atexit
can be added without removing final_cleanup
.
Eventually we probably should get rid of final_cleanup
as most people would want to use test_atexit
instead. But we could live with both for a while.
from sharness.
Related Issues (20)
- SHARNESS_TEST_SRCDIR and extensions HOT 3
- Sharness self-test fails HOT 2
- Can't locate object method "follower" via package "IO::Pty"
- test_expect_failure test 2 = 2 does not fail with prove HOT 4
- trash dir as home dir when run on Windows HOT 1
- testing scripts with sourced functions HOT 1
- Make a release v1.2 HOT 1
- Usage with `prove` would need more documentation HOT 6
- Calling functions from Git submodule fails with v1.2.0 release (Regression) HOT 8
- make test fails with unliked SHELL_PATH HOT 9
- add --tee option from git test-lib.sh HOT 1
- sharness.sh is executable? HOT 3
- Release tarballs are not signed HOT 4
- Clarify purpose of "aggregate-results.sh" HOT 12
- Additional test function for string comparison? HOT 5
- Document usage of "trash" directory HOT 2
- Document how to release a new Sharness version HOT 2
- Line feed regression HOT 3
- Lots of dangling branches HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sharness.