-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorg runtime tests (3rd generation); mostly to use descriptor files for tests not annotations in *Descriptor.java files (supports later versions of java) #3407
Conversation
runtime-testsuite/test/org/antlr/v4/test/runtime/BaseRuntimeTest.java
Outdated
Show resolved
Hide resolved
There is something weird with Go runtime tests, they are hanging for now. |
Yeah. Can’t figure that out but it must be a small issue with input string
or something that’s causing an infinite Loop. It was performance issue. Go is too slow on some things and it highlighted that we need to add `[skip]` section to mimic `ignore()` function in previous mechanism.
|
…finish before timeout.
|
Easier to open files and .descr doesn't add much :) I think I might have this kinda working! I also split cpp so it finishes w/o timing out. |
I have broadened the scope of the PR to be a reorganization of the entire runtime test rig; changed the title.
Yeah, I don't know what the issue is there but I don't think it has something in the configuration I changed. Github is likely just pissed that we have so many actions coming in. |
There is something wrong with @ericvergnaud machine because GitHub CI uses |
Ok, i'm running some intellij code Analysis and cleaning up accordingly at moment then I think we can merge. Next step, maybe somebody smarter than me can figure out how to get this to compile with 11 but generate 7 (or 8) haha |
Looks like |
Let's see if it works for this PR. :) |
Looks like all unit tests pass except for swift-recursion due to timeout (works on my machine). I think it's time to merge!! |
Maven says it's not timeout but incorrect test: https://github.com/antlr/antlr4/runs/4612727990?check_suite_focus=true#step:6:542 |
Yes but if you look at this |
It's the elapsed time for the entire test group and it's not so much. For instance, here we have 27 min and green tests (also swift RECURSION group): https://github.com/antlr/antlr4/runs/4609645043?check_suite_focus=true I'll recheck on my machine. |
Hmm... Interesting. OK well it passes elsewhere so I'm not sure why would fail over there. Let me see if it fails here locally on an identical box to @ericvergnaud's. |
All TestLeftRecursion tests pass on my identical M1 mac to the test box. (13min8s.) So, the only difference would be the number of threads as I keep it single threaded here. That's could mean there's an issue with Swift testing in parallel. |
My experience is that GitHub runners do not behave consistently. The exact same commit will sometimes pass the tests in 5ms, other times in 10 mns, and other times timeout. This is not specific to Swift. |
Very interesting. So even if we bought a bigger mac or hosted at Amazon, we could still have problems communicating with GitHub |
Have you checked if it depends on simultaneous running pipelines? For instance, there are 6 running pipelines, it's many: https://github.com/antlr/antlr4/actions Maybe it would be much faster with a single pipeline. I'm not sure communication is the problem. |
These 6 pipelines are queued, not running. We have 4 runners so can only run 4 pipelines simultaneously. Initially I implemented 8, but that turned out to be disastrous, so scaled down to 4. |
What if scale down to 1 and try several runs? |
Not sure what that means tbh |
Wow. swift-build, driver, etc... all running in Intel mode on my M1. I'm playing with threads. Ok, this creates lots of processes/threads that are transient but seem a bit out of hand:
I've seen 40 builds simultaneously. Ok, it completed much faster than single threaded: |
FYI, some runtime tests were lost during transformation, for instance |
Now I'm running with methods not classes:
Almost nothing being done in parallel. not sure why. |
was worried about that. i have a todo on my list to count :) but thanks |
Maybe it related to some bug with test inheritance (PredFromAltTestedInLoopBack_1 and PredFromAltTestedInLoopBack_2 had common base). |
yeah, i saw a few that didn't get translated but was usually a missed ignored() result or something. could be inheritance yep. |
Yes, looks weird, most part of them should be killed. |
The goal is to remove dependence on tools.jar for annotation processing.