Comments (5)
/cc @brson @Little-Wallace @lucab
from fail-rs.
@BusyJay nice! A bunch of high-level questions:
- can the thread-group logic be folded into
FailScenario
?register_current
doesn't seem to be very different from threadgroup-boundsetup
. - would it be better for the API to take a
ThreadId
argument instead? - I have no idea how this would actually work at the low level; how do you intend to plug this into the
eval
logic?
from fail-rs.
can the thread-group logic be folded into
FailScenario
?
FailGroup
can be accessed via a global fuction, so it may not be appropriate to use FailScenario
directly. But I think it can be defined as a field of FailScenario
if necessary.
would it be better for the API to take a ThreadId argument instead?
I'm not sure. I find it more convenient to just register current thread instead of others. For example, thread pool generally provides after_start
, before_stop
hooks to allow do work in a thread, but generally won't provide thread ID directly.
plug this into the
eval
logic?
When evaluating, it uses current thread ID to find out which thread group it belongs to, and then check the rules of the group.
from fail-rs.
It seems complex. Why can not we launch multiple process and each process runs some test with a single thread?
from fail-rs.
Process isn't compatible with the default test runner.
from fail-rs.
Related Issues (15)
- Upgrade to Rust 2018 HOT 4
- Release fail 1.0 HOT 6
- Add the global failpoint lock pattern directly to the library
- Thread-local failpoints HOT 1
- Clean up crate docs HOT 2
- need a tag for release 0.3 HOT 5
- cargo feature should be opt-in, not opt-out HOT 4
- crater fails to test fail-rs HOT 2
- API docs mention `no_fail` feature HOT 2
- Support dependency wait HOT 3
- "Put test cases exercising fail points into their own test crate" — is 'crate' right? HOT 1
- Cannot use `fail_point!` 3 arguments macro without importing it HOT 4
- Support enabling conditionally fail_points without the third lambda argument
- default to injecting crate name in failpoints
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 fail-rs.