On Wed, Aug 3, 2016, at 19:26, James Aylett wrote:> On Wed, Aug 03, 2016 at 06:54:32PM +0200, rsto at paranoia.at wrote: > > Oddly enough, the pull request causes Travis to break for clang but not > > for gcc [1]. That's because the clang build process fails for the test > > 'querypairwise1' [2], which AFAIK I didn't touch at all. Is that a > > known issue or did I break anything? > > > > [1] https://travis-ci.org/xapian/xapian/builds/149512190 > > [2] https://travis-ci.org/xapian/xapian/jobs/149512191#L15051 > > Hmm, it's been running okay on recent PRs as far as I > know. That's...weird :-(I see that querypairwise1 tests for the running time of a test case. Could there be a glitch with high loads on the Travis build machine causing inconsistent runtime performance? The error message for clang reads: Running test: querypairwise1... FAILED Test with 50 repetitions took 0.003521 secs Test with 500 repetitions took 0.055811 secs Whereas the same test succeeded for the g++ build. I'll retry to build tomorrow.> Do you think it's safe to detect libicu using headers? I'm not > convinced it's simple enough to do reliably (hence the old icuconfig > system before moving to pkg-config).Thanks, I'll see how autoconf checks for libuuid and zlib. Use of icuconfig is indeed discouraged by the ICU maintainers . If I can't get the PR build properly without pkgconfig, I'll make both libicu and pkg-config optional. To do so, I'll try to get Travis build with 14.04 LTS, which might require a few build runs. I'll notify you when the CJK pull request passes Travis. Cheers, Robert
On Wed, Aug 03, 2016 at 08:17:05PM +0200, rsto at paranoia.at wrote:> I see that querypairwise1 tests for the running time of a test case. > Could there be a glitch with high loads on the Travis build machine > causing inconsistent runtime performance? The error message for clang > reads: > > Running test: querypairwise1... FAILED > Test with 50 repetitions took 0.003521 secs > Test with 500 repetitions took 0.055811 secs > > Whereas the same test succeeded for the g++ build. I'll retry to build > tomorrow.Yeah, looking at the code what it does is to increase the number of repetitions until it's "measurable", then times by ten and check it isn't too much more than the previous pass. querypairwise1 should scale O(n); it just OP_ORs two single-term queries together. The threshold for O(n) is 14.1, so there's a fair amount of leeway. Probably just an overly-loaded system. (Travis is apparently better during Europe morning than Europe afternoon, by which time the US has woken up and started using it more :-)> > Do you think it's safe to detect libicu using headers? I'm not > > convinced it's simple enough to do reliably (hence the old icuconfig > > system before moving to pkg-config). > > Thanks, I'll see how autoconf checks for libuuid and zlib. Use of > icuconfig is indeed discouraged by the ICU maintainers . If I can't get > the PR build properly without pkgconfig, I'll make both libicu and > pkg-config optional. To do so, I'll try to get Travis build with 14.04 > LTS, which might require a few build runs.Cool, hopefully something along those lines will yield fruit.> I'll notify you when the CJK pull request passes Travis.That's great, thanks! J -- James Aylett, occasional trouble-maker xapian.org
On Thu, Aug 04, 2016 at 02:08:41PM +0100, James Aylett wrote:> The threshold for O(n) is 14.1, so there's a fair amount of > leeway. Probably just an overly-loaded system. (Travis is apparently > better during Europe morning than Europe afternoon, by which time the > US has woken up and started using it more :-)If you set (and export) AUTOMATED_TESTING in the environment, then testcases which rely on timing operations should be skipped. That's probably sensible to do for the travis build - we're likely to quickly notice if a patch is merged which genuinely regresses one of these testcases. Cheers, Olly