libelektra: Failing tests with kdb run_all in Docker container

Steps to Reproduce the Problem

When running the tests inside a Docker container like described in run_all_tests_with_docker.md

kdb run_all

2 tests are failing.

Expected Result

The tests should not fail

Actual Result

Running testmod_lua

LUA         TESTS
==================

Testing simple variable passing...
There are 1 warnings
buffer is: warnings/#00
number: 11
description: open of plugin returned unsuccessfully (reason contains plugin, see other warnings for details)
module: 
file: /home/jenkins/workspace/src/libs/elektra/plugin.c
line: 296
reason: lua
reason: 
reason: 
/home/jenkins/workspace/src/plugins/lua/testmod_lua.c:24: error in test_variable_passing: warnings in kdbOpen for plugin lua
number: 131
description: : lua error
module: : lua
at: /home/jenkins/workspace/src/plugins/lua/lua.cpp:172
reason: : module 'kdb' not found:
        no field package.preload['kdb']
        no file '/usr/local/share/lua/5.3/kdb.lua'
        no file '/usr/local/share/lua/5.3/kdb/init.lua'
        no file '/usr/local/lib/lua/5.3/kdb.lua'
        no file '/usr/local/lib/lua/5.3/kdb/init.lua'
        no file '/usr/share/lua/5.3/kdb.lua'
        no file '/usr/share/lua/5.3/kdb/init.lua'
        no file './kdb.lua'
        no file './kdb/init.lua'
        no file '/usr/local/lib/lua/5.3/kdb.so'
        no file '/usr/lib/x86_64-linux-gnu/lua/5.3/kdb.so'
        no file '/usr/lib/lua/5.3/kdb.so'
        no file '/usr/local/lib/lua/5.3/loadall.so'
        no file './kdb.so'
mountpoint: : 
configfile: : 
/home/jenkins/workspace/src/plugins/lua/testmod_lua.c:24: error in test_variable_passing: error in kdbOpen for plugin lua
/home/jenkins/workspace/src/plugins/lua/testmod_lua.c:24: fatal in test_variable_passing: could not open lua plugin
error: testmod_lua
Running testkdb_ensure

Running main() from /opt/gtest/googletest/src/gtest_main.cc
[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from Ensure
[ RUN      ] Ensure.GlobalUnmount
[       OK ] Ensure.GlobalUnmount (62 ms)
[ RUN      ] Ensure.Unmount
/home/jenkins/workspace/tests/kdb/testkdb_ensure.cpp:102: Failure
Expected equality of these values:
  root.getMeta<std::string> ("warnings/#00/number")
    Which is: "79"
  "3"
error plugin didn't run
[  FAILED  ] Ensure.Unmount (76 ms)
[ RUN      ] Ensure.GlobalMount
tracer: open(0x5575e48c6b30, spec/tests/kdb/ensure = ): 0
tracer: close(0x5575e48c6b30,  = )
[       OK ] Ensure.GlobalMount (64 ms)
[----------] 3 tests from Ensure (203 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test case ran. (203 ms total)
[  PASSED  ] 2 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] Ensure.Unmount

 1 FAILED TEST
error: testkdb_ensure

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (17 by maintainers)

Most upvoted comments

Just looked at doc/tutorials/run_all_tests_with_docker.md. It says to pull the images from our repository. So my guess is the problem here is that those images use a uid/gid suitable for our Jenkins setup. If you pull the image from the repository you should only run them with --user $(id -u):$(id -g).

Thank you all for your support! The problem has been solved. The solution is described in the tutorial. I close the issue.