Comments (3)
So I discussed a plan forward with Roger (who contributed testing.TB.Cleanup to the stdlib) and we agree that a possible path forward for handling go 1.14 and leveraging the new cleanup functionality is:
- Make Defer use Cleanup if available.
- In which case, add a cleanup function that checks that Done is called (if not already added previously). This actually gives you better guarantees under go1.14 because it'll tell you when you've forgotten to call Done correctly on pre go 1.14 code. Of course Done is not required if you use Cleanup on go 1.14.
- Make it clear in the docs that you either use the new Cleanup (if you have it) or Defer/Done.
- New minor version release.
What do you think?
from quicktest.
This is now done, released v1.6.0.
from quicktest.
What do you think?
I don't use the Cleanup functionality (yet), but your suggestions look sensible at first glance. My main motivation behind this issue was to get *quicktest.C
to support the testing.TB
interface, as it does now ...
from quicktest.
Related Issues (20)
- stack trace's report of function+args can be unreasonably long for closures HOT 1
- All Auth HOT 2
- Add ErrorIs and ErrorAs checkers HOT 5
- assert: additional argument are not treated as comments HOT 1
- proposal: `Eventually` checker HOT 3
- confusing use of "unexpected success" when no errors are involved HOT 3
- Improve "negative" messages for standard checkers
- confusing failure when using qt.Equals with pointers HOT 2
- proposal: add Try and Recover HOT 8
- quicktest.Assert panics when called in a testscript command HOT 2
- Print verbose output (-v) on failures HOT 4
- Upgrade https://github.com/google/go-cmp HOT 1
- Omit package for types in current package
- LGPL license in checker.go HOT 3
- Not(DeepEquals) succeeds even though go-cmp panicked HOT 1
- name the package qt? HOT 6
- format uint64 differently. HOT 4
- add qt.IsNonNil HOT 6
- cmd/qtify HOT 6
- Improve README HOT 4
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 quicktest.