-
Notifications
You must be signed in to change notification settings - Fork 1
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
Failing tests on non-x86 archs #8
Comments
Thanks for the report and pinpointing the wrong expectation. Do you know if the machines on which the test is failing have different big/little-endian conventions from the others? I am writing the comments below for myself but I would appreciate help, since I don't know the logic of
The second one is a variant of it and I am not showing it here. Note that the Author's name starts with Ü. The code giving the I traced the errors to Lines 383 to 386 in 5adeb50
So, the switch is on b1 but the if-else conditionals are on b2 . b1 and b2 may be bytes of a character (encoding?).On my machines (amd64/ubuntu 20.04) the offending entries call initial_ascii and b1 and b2 have values b1 = 0xc3 , b2 = 0x9c . This triggers the execution of the following line:Line 396 in 5adeb50
So, 'U' is returned. The UTF-8 hex code c39c is indeed U-umlaut (https://www.charset.org/utf-8).Also, c39a to c39c are UTF-8 points corresponding to U-accented (grave, etc).
So, one possible source of the bug is that the above depends on the big-endian/low-endian order. |
@GeoBosh thanks for replying!
All the machines where test is failing are little endian.
Actually, a very common phenomenon in these archs for autopkgtest is because of |
Thanks, that's a very sound explanation. I noticed that the function wants b1, b2 to be positive and less than 256 (just before the lines I printed above), so clearly adding 256 almost assumes they are negative. But it didn't occur to me that rbibutils passes the CRAN check on arm64 but that is on macos. It looks like a fix will be fairly straightforward. Finding a suitable platform to test it might be problematic. |
I committed a fix that I believe should solve the issue if the cause is the signed/unsigned char. |
Thank you, I have uploaded the package with that patch applied. I will report the status when the CI runs on it. |
@GeoBosh CI is green now. Thank you very much for fixing it so quickly! :) |
Hi,
In the latest version 2.2.7, one test is failing on archs other than amd64 and i386 in debian, as can be seen here
It chokes on
rbibutils/tests/testthat/test-convert.R
Line 338 in 5adeb50
more specifically, in the resultant bib file, the last
U
is missing on two lines:Could you please fix the problem?
====================================================================================================
CC: @GeoBosh
The text was updated successfully, but these errors were encountered: