Comments (2)
While cleaning and testing the on_output
code of PropEr, I've noticed similar things (direct uses of io:format
and friends) but never the "f" prints. These happen only when doing parallel stateful testing at a specific place in proper_statem's code, and from some cursory glance in that code they may be there to indicate some special/unusual case which may require user attention.
It may be worthwhile to have some test case that shows these fffs so that we see whether there is some other code refactoring that is needed in proper_statem
instead of just io:format -> print
.
from proper.
@kostis yeah, those "other things" I was working on (mentioned in the original post) was my work stuff that uses parallel statem testing. Those "f"s are not important. They were just a thing which debugging led me to discover that PropEr uses io:format
in some cases, so I wouldn't go as far as writing a tests to force "f"s.
About the solution. If I'm not mistaken, all those io:format
s are used in generators where on_output
option is not available, so replacing them will require either a gen_server or some other way of handling a global config (maybe a parameter
could be used here). Though, you mentioned something about ongoing work on parallelization of PropEr which might collide together.
from proper.
Related Issues (20)
- ?FORALL_TARGETED does not work with ?TRAPEXIT
- No Shrink in TPBT
- run_parallel_commands doesn't handle exceptions in commands the same way run_commands does HOT 6
- PropEr map() generators
- Target server should update process dictionary
- Add proper examples to shrinking challenge
- New version and hex package HOT 13
- Generate a binary of variable size HOT 2
- Add more detailed installation instructions with Homebrew HOT 9
- Obtaining a PropEr rebar3 HOT 1
- use previous return value as parameter of new command in new state HOT 6
- Arguments shrinking is not working in stateful models. HOT 2
- {var,2} instead of the correct variable during shrink
- `proper_transformer` has unfavorable behavior for fine-grained compile dependencies HOT 4
- Generators inside maps
- Atom generator exhausts the atom limit HOT 4
- Substitute uses of `slave` with `peer` HOT 1
- {'EXIT', {badarg, [{erlang,atom_to_list, ...}]}} in proper_gen_next.erl
- Is there a new version to release? HOT 3
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 proper.