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

239.1 test failures #85

Closed
udeved opened this Issue Oct 18, 2018 · 8 comments

Comments

Projects
None yet
2 participants
@udeved
Copy link

udeved commented Oct 18, 2018

The freshly released 239.1 produces test check fails, 238.2 is fine.

Here are the logs...

meson-log.txt

the relevant 3 tests thats fail from testlog.txt

 86/134 test-format-table                       FAIL     0.01 s (killed by signal 6 SIGABRT)

--- command ---
PATH='/build/elogind/src/build:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl' /build/elogind/src/build/test-format-table
--- stderr ---
Assertion 'streq(formatted, "ONE TWO THR…\n" "xxx yyy  yes\n" "a … yyy   no\n")' failed at ../elogind-239.1/src/test/test-format-table.c:58, function main(). Aborting.
-------


 97/134 test-string-util                        FAIL     0.01 s (killed by signal 6 SIGABRT)

--- command ---
PATH='/build/elogind/src/build:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl' /build/elogind/src/build/test-string-util
--- stderr ---
Assertion 'streq(cellescape(buf, 4, "\020"), "…")' failed at ../elogind-239.1/src/test/test-string-util.c:115, function test_cellescape(). Aborting.
-------

101/134 test-process-util                       FAIL     0.01 s (killed by signal 6 SIGABRT)

--- command ---
PATH='/build/elogind/src/build:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl' /build/elogind/src/build/test-process-util
--- stderr ---
Failed to read $container of PID 1, ignoring: Permission denied
Found container virtualization none.
PID2101 comm: 'test-process-ut'
PID2101 cmdline: '/build/elogind/src/build/test-process-util'
PID2101 cmdline truncated to 8: '/bui...'
PID2101 cmdline truncated to 1: ''
PID2101 exe: '/build/elogind/src/build/test-process-util'
PID2101 $PATH: '/build/elogind/src/build:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
input: <> — output: <>
got: <>
input: <foo> — output: <foo>
got: <foo>
input: <012345678901234> — output: <012345678901234>
got: <012345678901234>
input: <0123456789012345> — output: <012345678901234>
got: <012345678901234>
input: <äöüß> — output: <\303\244\303…>
got: <\303\244\303...>
Assertion 'streq_ptr(n, output)' failed at ../elogind-239.1/src/test/test-process-util.c:104, function test_get_process_comm_escape_one(). Aborting.
-------

@Yamakuzure

This comment has been minimized.

Copy link
Collaborator

Yamakuzure commented Oct 18, 2018

Interesting. I had everything checked and all tests where fine after issue #81 was solved.

Well, there haven't been many commits since then, so a quick git bisect tonight should do it.

@Yamakuzure

This comment has been minimized.

Copy link
Collaborator

Yamakuzure commented Oct 18, 2018

Odd... Something is wrong with my machine! I get this:

[0/1] Running all tests.
usage: meson [-h]
             [--buildtype {plain,debug,debugoptimized,release,minsize,custom}]
             [--strip] [--unity {on,off,subprojects}] [--prefix PREFIX]
             [--libdir LIBDIR] [--libexecdir LIBEXECDIR] [--bindir BINDIR]
             [--sbindir SBINDIR] [--includedir INCLUDEDIR] [--datadir DATADIR]
             [--mandir MANDIR] [--infodir INFODIR] [--localedir LOCALEDIR]
             [--sysconfdir SYSCONFDIR] [--localstatedir LOCALSTATEDIR]
             [--sharedstatedir SHAREDSTATEDIR] [--werror]
             [--warnlevel {1,2,3}] [--layout {mirror,flat}]
             [--default-library {shared,static,both}]
             [--backend {ninja,vs,vs2010,vs2015,vs2017,xcode}] [--stdsplit]
             [--errorlogs] [--install-umask INSTALL_UMASK]
             [--auto-features {enabled,disabled,auto}]
             [--optimization {0,g,1,2,3,s}] [--debug] [-D option]
             [--cross-file CROSS_FILE] [-v]
             [--wrap-mode {default,nofallback,nodownload,forcefallback}]
             [--fatal-meson-warnings] [--reconfigure]
             [builddir] [sourcedir]
meson: error: unrecognized arguments: -u --no-rebuild --print-errorlogs
FAILED: meson-test 
/usr/lib64/python-exec/python3.6/meson -u test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.

Haven't seen something like that before. Have to investigate...

@Yamakuzure

This comment has been minimized.

Copy link
Collaborator

Yamakuzure commented Oct 18, 2018

Ok, I had to sync and update mson and ninja. Seems like I had a buggy version.

However, the result is a bit disappointing:

sed@sed-notebook ~/pryde/PrydeWorX/elogind [v239.1] $ make test
ninja -C build test
ninja: Entering directory `build'
[0/1] Running all tests.
 (...)
 86/135 test-format-table                       OK       0.02 s 
 (...)
 97/135 test-string-util                        OK       0.01 s 
(...)
101/135 test-process-util                       OK       2.36 s 
(...)

OK:       135
FAIL:       0
SKIP:       0
TIMEOUT:    0

Full log written to /home/sed/pryde/PrydeWorX/elogind/build/meson-logs/testlog.txt
@udeved

This comment has been minimized.

Copy link
Author

udeved commented Oct 18, 2018

@Yamakuzure

What meson version do you use, what glibc and gcc?

@udeved

This comment has been minimized.

Copy link
Author

udeved commented Oct 18, 2018

I found the error.
Its a chroot issue. It sources /etc/profile.d/* which sets LANG, however, this doesn't seem to work, ie the chroot has still C locale. If I export LANG=en_US.UTF8 in chroot, the tests succeed.
But why do the tests fail with 239.1 but not with 238.x amd earlier?

@Yamakuzure

This comment has been minimized.

Copy link
Collaborator

Yamakuzure commented Oct 18, 2018

@udeved : All three tests play around with UTF-8 codes.

  • test-format-table.c did not exist in v238,
  • test-process-util.c::test_get_process_comm_escape() utilizing UTF-8 was added in v239 and
  • test-string-util.c::test_cellescape() utilizing UTF-8 was added in v239, too.

Why the systemd devs completely ignore the fact that *nix systems might be on "C" locale is riddles to me.
Maybe we can remedy this for elogind at least...

@Yamakuzure Yamakuzure self-assigned this Oct 18, 2018

@Yamakuzure

This comment has been minimized.

Copy link
Collaborator

Yamakuzure commented Oct 23, 2018

@udeved : Artoo, all tests should work now as expected. At least they do here with LC_ALL="C". Hopefully I did this correct and your issues are gone, too.

@udeved

This comment has been minimized.

Copy link
Author

udeved commented Oct 23, 2018

@Yamakuzure

I will simply make a test build in chroot and see, but if it works for you, I suspect it will work for me too. :)

Yamakuzure added a commit that referenced this issue Nov 8, 2018

Prep v240: Fix tests running on systems with non-UTF-8 locales.
Bug: #85
Closes: #85
Signed-off-by: Sven Eden <sven.eden@prydeworx.com>

@udeved udeved referenced this issue Nov 23, 2018

Closed

239.2 test fail #99

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment