Repository navigation
runtests: fix -s option and various - #4765
Conversation
41570fe to
fd5b184
Compare
|
Looks good! Thanks for the fixes. I found a setting in my spellchecker, the errors where limited to 100. Next time, it should be better and it even found an issue... ;-) There are a few other places that could be optimized, which I figured to do later or not at all due to they are not that important vs. the speed benefit you get right now. Same for the Parallel tests swap the output compared to single threaded. The reason behind is that vs Just piping all trough stdout is also not nice, due to in this case Also runtests show the errors on stdout and the information on stderr. Looks not standard to me. |
You are right, there are some rough edges to smooth. But the basics hold up.
Running parallel always comes at a price. Same for make. However, the default is that parallel keeps the output of one process together by default (--group is the default) and doesn't mix it randomly (why you need -O in make). Other ordering is just the nature of running things concurrently. When you see problems, then you'd normally run the specific test separately if it is not a race related error.
Then you'd need to collect the output before outputting it to the "right" FD. |
|
BTW: With these tests: 1m31.553s I did not yet look in to them, but improving these could cut the runtime again by a factor of 3. |
Agreed, this was also my opinion. There would be some solutions but not worth the effort and adding to much code adds also effort for maintenance.
Indeed, would mean a lot of change, so I decided to just not touch it. |
|
@grandixximo one of these tests is yours. Can you look at speeding it up a bit 8-) BTW I also noted that the ui-smoke tests are slow. Even when started early in the series. It occurred to me that the tests need to be started in reverse time consumed order (slowest first) for the parallel jobs to run fastest with fewest jobs. |
|
It also came to my mind to create a run time list which can be updated by a command and then the tests can be run in reverse order and additionally create a "bad test list". And then fake the system time, so rtapi_app does no sleep at all or runs at 100x speed. :-D But let's not overdo it. ;-) 35s vs. 13m9.683s initially would be already 22x faster... Before, it was quite annoying to run the tests and now it is faster than the build. |
|
@BsAtHome Mostly waiting, not testing. Fixed in #4770:
workplane-retain 70 => 24 s, abort/g64 72 => 46 s, mdi-while-queuebuster-waitflag 65 => 24 s. Ordering, simulated from measured times: slowest first saves 8% at -j 4 up to 26% at -j 16, nothing at -j 32 where abort/g64 alone sets the floor. Starting the dirs with an .ini first gets most of that without a runtime list. I can send it after this PR, if wanted. |
6048dff to
446affe
Compare
|
I found a race created by me. The race was only visible when viewing the results file, the number of SUCCES words is correct, however, they where on the wrong line. Feel free to pull this commit in your PR: hdiethelm@6162f5d I can also create a PR later. |
…test runtests: Fix various typos and comment style problems runtests: Test availability of parallel and bwrap runtests: Fix and update usage message runtests: Fix results collection race
446affe to
2d7618e
Compare
Added it to this PR. Have a look. |
|
Looks good! |
Several issues are addressed in this PR:
-son a failed test. The remaining parallel jobs will run until done after which parallel exits.parallelandbwrap. Running with-jrequires bothparallelandbwrap. These commands are now tested to be available.@hdiethelm you may want to have a look at this too ;-)