-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a randomized test for the variable-looping-vus requirements #1413
Add a randomized test for the variable-looping-vus requirements #1413
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have some readability comments, but otherwise looks Okay ;)
I was thinking of doing it by adding up all the segments steps .. but this is probably better and seems simpler then what I thought adding up will be :D
This would definitely be more complicated. I was going to refactor |
@mstoykov I think we should first merge this in your branch, despite the unrelated failing CDNJS test, and then you can rebase on |
ci++ | ||
} | ||
} | ||
t.Logf("Subtracting %d VUs (out of %d) at t=%s", sub, p.PlannedVUs, p.TimeOffset) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test is very noisy when run with -v
, which I usually enable to see the full output, but now this test prints ~80K lines, forcing me to use tee
, etc. :-/
Can we use a debug logger here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am for commenting all the Logf
lines and leaving only the random seed one as that is needed to get it reproduced - if you get an error on this, trust me you would want to be able to reproduce it ... the size of the output is way too big to just read it in circleci for example
I gave up on completely understanding all of the corner cases of #1392, or on simplifying it... for now... 馃槄 But here's an extra test that hopefully validates that however we segment a
variable-looping-vus
executor, it will always execute what it would have executed if it was running on a single machine.Whether that execution is completely correct is another topic 馃槃 My manual tests didn't find any issues there, but I would still want some easier to follow implementation eventually, maybe when we adapt it to data partitioning.