-
Notifications
You must be signed in to change notification settings - Fork 20
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
Parallel tests #44
Parallel tests #44
Conversation
f7fd3c2
to
475a609
Compare
Codecov Report
@@ Coverage Diff @@
## master #44 +/- ##
=========================================
Coverage 91.74% 91.74%
Complexity 58 58
=========================================
Files 8 8
Lines 666 666
Branches 3 3
=========================================
Hits 611 611
Misses 52 52
Partials 3 3 Continue to review full report at Codecov.
|
@ajs6f After pulling this down and running a Travis is passing though, so am I missing something? |
Hm, weird. I never saw anything like that. What's your setup? (OS, JDK, etc) |
@ajs6f it is my understanding that, if you use Camel's
|
@acoburn What is odd is that I specifically took the I'd like to get to the bottom of this, but I'm actually not at work today, so I won't be doing much with this today. |
@ajs6f it has been a while since I really dug into the details of how camel does this -- but as I recall, the camel superclasses do start the context, but they do so before the routes are "patched" with |
JDK 8 seems to work fine for me, but JDK 9 doesn't work so well with the tests (lots of |
@acoburn I think those are good ideas-- can you open two tickets for them, because I have two toddlers and by the time I get to the end of this sentence I will have already forgotten what the two good ideas were. What two good ideas? |
@ajs6f thanks for the nudge. Here are the tickets: Islandora/documentation#715 and Islandora/documentation#714 |
Okay, so I'm going to add in a bag of |
@ajs6f I think the parallelism is what's important here. The utility functions are great, but I wouldn't get too wrapped up in improvements to these tests. Now that Api-X installs and claw-playbook is settling down, I can finally issue PRs for Islandora/documentation#640, including https://github.com/dannylamb/Alpaca/tree/issue-640, which significantly reduces the scope of islandora-indexing-fcrepo and its tests. |
K, for expediency I'll back out that last commit, put in the |
475a609
to
923e85c
Compare
This reverts commit 923e85c.
@dannylamb That should do it, I hope. Give 'er a try! |
@ajs6f Travis seemed to hiccup there. I restarted it. Getting 1 test failure now due to a |
Weird, yeah. Every once in a while I've seen a |
Seems like we're running more tests now? |
TBH, I don't understand how Gradle is counting tests at all-- |
@ajs6f yes, it uses the |
daniel@daniel-Latitude-3560:~/Code/Java/Alpaca$ grep "@Test" islandora-indexing-fcrepo/src/test/java/ca/islandora/alpaca/indexing/fcrepo/*.java | wc -l
49 Looks like we're almost doubling up? |
Travis seems to have failed at |
@dannylamb @acoburn I have no idea about the "doubled" tests. Let me check and see if my test suite setup is running them, and then they are running by themselves. I should be able to fix that. |
@ajs6f you may also find some clues if you look at the Gradle test report. |
@acoburn++ I just dug through mine and can confirm the tests are getting run twice. |
k, I'll rework the test execution to fix that. |
Now I'm using Gradle's forking ability to run in parallel. Let's see how that goes. |
@ajs6f I'm running it now and it behaves like it's running in parallel. It's exhibiting long pauses followed by 4-5 successes at once. |
And is running exactly 49 tests. Think you got it this time. |
Indeed |
Parallelize Alpaca tests: (Islandora/documentation#712)
What does this Pull Request do?
Parallelizes the tests in
alpaca/islandora-indexing-fcrepo
by route.What's new?
Splits tests up into classes by route being tested and runs them in parallel.
An additional commit is included showing a possible shortening of test setup patterns. If it looks attractive, I can use it more widely.
How should this be tested?
This PR should not change the functional behavior of Alpaca at all. It should speed up build time by some small amount.
Interested parties
@Islandora-CLAW/committers