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
test/ec: build the libs only when 'make check' #7755
Conversation
8d06635
to
7250297
Compare
7250297
to
4b2856a
Compare
The latest update just modified the commit message. This should supersede PR #7637. |
010b248
to
3d61ed4
Compare
It looks like I'm hitting mostly random fails jenkins runs. The latest one failed in test/osd/osd-markdown.sh which afaics should be in no relation to this patch. As for the -rpath /nowhere part of the patch. I got it from here. I'm not entirely sure it is necessary for our purporse but it should not hurt anything. I'm currently waiting for the results of gitbuilders and fedora (koji) builds to see if the libec_test libs are indeed not being packaged. |
This passed the gituilders, see the latest packages (there is no libec_test libs in the ceph-base package): http://gitbuilder.ceph.com/ceph-rpm-centos7-x86_64-basic/ref/wip-ec-test-check/x86_64/ |
loic, does this look ok? |
@BRANTO1 I don't think that works, IIRC the tests won't pass if we do that. That's because automake does different things when check_ is used instead of something_. I don't remember precisely why. However, if make check does work with that change, I'm all for it. |
@dachary: Actually, the jenkins run says they passed PASS: unittest_erasure_code_plugin but it is hitting a fail in FAIL: test/osd/osd-markdown.sh which looks like a time-out in the jenkins logs. |
I attempted to do this in #7701 using the same approach except without |
@smithfarm: There is one crucial difference to your approach. Namely, I initialize the check_LTLIBRARIES in src/erasure-code/Makefile.am which (at least as far as I understand it) puts the libraries inside the src/erasure-code directory -- the directory that the unit tests are looking at for these libraries. The -rpath bits might not actually be necessary at all and maybe, they are even the ones responsible for the random failures I'm hitting -- I ran it three times and I always hit one FAIL (per run) in one of the tests and each time, the test was outside the scope of the ec test libraries. Not sure what to think about it. Maybe, I was just unlucky. |
Hmm. But I was doing this too - see 081bf1b |
In that case, it might be the combination of all of those bits and the -rpath hack as described in https://lists.gnu.org/archive/html/automake/2005-10/msg00107.html |
@BRANTO1 it looks like it needs rebasing or fixing to pass make check |
2678360
to
29cab62
Compare
@dachary rebased on top of latest jewel, we will see if it helps. |
Currently, we are always building the erasure code libraries while we need them only when 'make check' is run. Moving the test libraries to check_LTLIBRARIES should fix this for us. We no longer need to remove the libec libs manually, remove the lines that do that. Signed-off-by: Boris Ranto <branto@redhat.com>
29cab62
to
7c65b9d
Compare
@dachary Sure, thanks, done. Hopefully, it will pass jenkins, now. |
test this please |
@BRANTO1 we're past jewel now, would you mind re-targeting this to master ? |
Currently, we are always building the erasure code libraries while we
need them only when 'make check' is run. Moving the test libraries
to check_LTLIBRARIES should fix this for us.
See the autotools documentation on this for more details:
https://www.gnu.org/software/automake/manual/html_node/Libtool-Convenience-Libraries.html
So far, I've managed to build this in fedora and confirmed the libec_ test libs are gone. I'm not sure about the other part -- to check whether it did not break anything for 'make check'.