Elektra๋ฅผ ์ปดํ์ผ ๋ฐ ์ค์นํ๊ณ ์์ค/๋น๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐ(๋๋ ์ด๋ฆ ๋ณ๊ฒฝ)ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ kdb run_all
๋ฅผ ์คํํฉ๋๋ค.
๋ชจ๋ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋์ด์ผ ํฉ๋๋ค.
Running testmod_gopts
GOPTS TESTS
==================
test empty
GOPTS TESTS
==================
test empty
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/gopts/testmod_gopts.c:78: error in run_test: child process test failed
test singleopt
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/tests/cframework/tests.c:523: error in clean_temp_home: Could not delete TMPHOME via nftw
GOPTS TESTS
==================
Running testmod_quickdump
QUICKDUMP TESTS
==================
test varint
test basics
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/quickdump/testmod_quickdump.c:111: error in test_basics: call to kdbSet was not successful
Program received signal SIGSEGV, Segmentation fault.
_IO_getc (fp=0x0) at getc.c:37
37 getc.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 _IO_getc (fp=0x0) at getc.c:37
#1 0x0000555555556bb7 in compare_binary_files (filename1=<optimized out>, filename2=<optimized out>) at ./src/plugins/quickdump/testmod_quickdump.c:31
#2 0x0000555555556f9a in test_basics () at ./src/plugins/quickdump/testmod_quickdump.c:113
#3 0x0000555555556807 in main (argc=1, argv=0x7fffffffe278) at ./src/plugins/quickdump/testmod_quickdump.c:332
Running testmod_specload
SPECLOAD TESTS
==================
test basics
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/specload/testmod_specload.c:63: error in test_basics: call to checkConfig was not successful
There are 1 warnings
buffer is: warnings/#00
number: C01330
description: Plugin Misbehavior
module: kdb
file: /home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/libs/elektra/plugin.c
line: 302
reason: Open of plugin returned unsuccessfully: specload. Reason contains plugin, see other warnings for details
reason:
reason:
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/specload/testmod_specload.c:65: error in test_basics: warnings in kdbOpen for plugin specload
number: C01100
description: : Resource
module: : specload
at: /home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/specload/specload.c:372
reason: : App '/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/obj-x86_64-linux-gnu/bin/elektra-specload-testapp' doesn't exist or is not executable
mountpoint: :
configfile: :
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/specload/testmod_specload.c:65: error in test_basics: error in kdbOpen for plugin specload
/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/specload/testmod_specload.c:65: fatal in test_basics: could not open specload plugin
error: testmod_specload
๋ํ ์์ค/๋น๋ ๋๋ ํ ๋ฆฌ๊ฐ ์ ๊ฑฐ๋ ํ ํ ์คํธ๋ฅผ ์คํํ๋ ๋น๋ ์๋ฒ์ ํ ์คํธ๋ฅผ ์ถ๊ฐํ์ญ์์ค.
specload
ํ
์คํธ ์คํจ๋ ๋งค์ฐ ๋ช
์์ ์
๋๋ค.
reason: : App '/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/obj-x86_64-linux-gnu/bin/elektra-specload-testapp' doesn't exist or is not executable
quickdump
์ ๊ฒฝ์ฐ ๋ฌด์์ด ์๋ชป๋์๋์ง ์ ํํ ๋งํ ์๋ ์์ง๋ง elektraQuickdumpSet
์ด๋๊ฐ์์ ์คํจํฉ๋๋ค. setKey
์ ์ค๋ฅ๊ฐ ์ค์ ๋์ด ์์ด์ผ ํ์ง๋ง ๊ธฐ๋ก๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค(๋ณ๊ฒฝ๋์ด์ผ ํจ).
gopts
๊ฐ ์คํจํ๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ค๋ฅ ๋ฉ์์ง๊ฐ ์ธ์๋์ง ์์๊ธฐ ๋๋ฌธ์ testapp elektra-gopts-testapp
์ ์คํํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค(์ค๋ฅ ๋ฉ์์ง๊ฐ ์ธ์๋์ง ์๋ ์ ์ผํ ๊ฒฝ์ฐ). specload
์ค๋ฅ์๋ ์ผ์นํฉ๋๋ค.
์คํ๋ก๋ ํ ์คํธ ์คํจ๋ ๋งค์ฐ ๋ช ์์ ์ ๋๋ค.
์, ํ์ง๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค์น๋ ํ ๋น๋ ๋๋ ํ ๋ฆฌ์ ๋ฐ์ด๋๋ฆฌ๊ฐ ์์ ๊ฒ์ผ๋ก ์์ํ๋ ๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ๋ฐ์ด๋๋ฆฌ๋ ๋น๋ ๋๋ ์ค์น ๋๋ ํ ๋ฆฌ์์ ์ค์น ๋ฐ ๊ฒ์๋์ด์ผ ํฉ๋๋ค.
์คํ๋ก๋ ํ ์คํธ ์คํจ๋ ๋งค์ฐ ๋ช ์์ ์ ๋๋ค.
์, ํ์ง๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค์น๋ ํ ๋น๋ ๋๋ ํ ๋ฆฌ์ ๋ฐ์ด๋๋ฆฌ๊ฐ ์์ ๊ฒ์ผ๋ก ์์ํ๋ ๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ๋ฐ์ด๋๋ฆฌ๋ ๋น๋ ๋๋ ์ค์น ๋๋ ํ ๋ฆฌ์์ ์ค์น ๋ฐ ๊ฒ์๋์ด์ผ ํฉ๋๋ค.
์, Elektra๋ฅผ ์ค์นํ์ ๊ฑธ ๋์ณค์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด quickdump
์คํจ๋ฅผ ์ค๋ช
ํ๋ ๊ฒ์ ์๋๋ฉฐ ํ
์คํธ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์์ต๋๋ค.
๋ํ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ฌผ๋ก ํ ์คํธ ์ฑ์ ์คํ ํ์ผ์ ์ค์นํ ์ ์์ง๋ง ์ค์ ํ ์คํธ ์คํ ํ์ผ์ ํ ์คํธ ์ฑ์ ์ฐพ๋ ์์น๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ค์น ์๊ฐ ๋์ ์์ ๋์ด์ผ ํฉ๋๋ค.
๋ฐ์ด๋๋ฆฌ(๋น๋ ๋๋ ์ค์น๋ ๋๋ ํ ๋ฆฌ์์)๋ฅผ ๊ฒ์ํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ์์ ์ด๋ฉฐ, ์ค์น์์ ํ ์คํธ๋ฅผ ์ ์ธํ ์๋ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋จ์ํ ์๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๊ณ ์ค์นํ๋ ๋์ ๋์ผํ๊ฒ ์ ์ง๋๋๋ก ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋์ผํ ๋๋ ํ ๋ฆฌ์ ๋ ๋ฐ์ด๋๋ฆฌ๊ฐ ์์ต๋๋ค.
๋ค, ์ข์ ์๊ฐ์ ๋๋ค.
๋ณด๋ค ์ผ๋ฐ์ ์ธ ์๋ฃจ์
์ ๋น๋ ๋๋ ํ ๋ฆฌ์์๋ kdb <command>
๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์
๋๋ค(ํ์ฌ Elektra๊ฐ ์ค์น๋ ๊ฒฝ์ฐ์๋ง ์๋ํจ). KDB_EXEC_PATH๋ ํ๋์ ๊ฒฝ๋ก๋ง ์ง์ํ์ง๋ง ๋ฐ์ด๋๋ฆฌ๋ ๋น๋ ๋๋ ํ ๋ฆฌ์ ์ฌ๋ฌ ๋ค๋ฅธ ๋ถ๋ถ์ ํฉ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ๊ฝค ๋ง์ ์์
์ด ๋ ๊ฒ์
๋๋ค.
์ฐ๋ฆฌ๋ kdb๊ฐ ์์ต๋๋ค
๋น๋ ๋๋ ํ ๋ฆฌ์์๋ ์ฌ์ฉ ๊ฐ๋ฅ
ํ
์คํธ๋ ctest
๋ฐ/๋๋ make
๋ฅผ ํตํด ์ฝ๊ฒ ์คํํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ๋ช
๋ น์ ๊ฒฝ์ฐ ๋๋ถ๋ถ์ ์ค์น๋ Elektra ๋ฒ์ ์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋จ์ํ ์๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๊ณ ์ค์น ์ค์ ๋์ผํ๊ฒ ์ ์ง๋๋๋ก ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋์ผํ ๋๋ ํ ๋ฆฌ์ ๋ ๋ฐ์ด๋๋ฆฌ๊ฐ ์์ต๋๋ค.
์ด๊ฒ์ ์์๋ณด๋ค ์ด๋ ต๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. stdlib๋ ์๋ ๊ฒฝ๋ก๋ฅผ ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ์ ๋ํ ์๋ ๊ฒฝ๋ก๋ก ์ฒ๋ฆฌํ๋ฏ๋ก ๋์์ด ๋์ง ์์ผ๋ฉฐ ํ์ฌ ์คํ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฒฝ๋ก๋ฅผ ํ์ธํ๋ ๊ฒ์ ํ๋ซํผ ๋ ๋ฆฝ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋ฐ๋ผ์ kdb <command>
๋ฐฉ์์ ์๋นํ ๋งค๋ ฅ์ ์
๋๋ค.
์ค์น๋ฅผ ์ํด์๋ TARGET_TOOL_EXEC_FOLDER์ ์ค์นํ๋ฉด ๋ฉ๋๋ค.
๋น๋ ์๊ฐ ๋์์๋ง build_dir/bin build_dir/scripts source_dir/scripts์ ํ์ฌ ๋๋ ํ ๋ฆฌ(๋ ๋ค ๋น๋+์์ค์ผ ์๋ ์์)๋ฅผ ๊ฒฐํฉํ๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
@kodebach ์์ง ์ด๋ ค ์์ต๋๊น? ๋ง์ ์ฌ๋๋ค์ด ์ด ์ํฉ์ ๊ฐ์งํ๊ณ ์ด ์ํฉ์์ ํ ์คํธ๊ฐ ์คํ๋์ง ์๋๋ก ํ ์ ์์ต๋๊น?
๋๋ ์์ ํฉ๋๋ค. ์ด์ KDB_EXEC_PATH๊ฐ ๋ค์ค ๊ฒฝ๋ก๋ฅผ ํ์ฉํ๋ฏ๋ก ๋น๋/์์ค ๋๋ ํ ๋ฆฌ์์ ํ์ํ ๋ชจ๋ ํด๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์คํ ํ์ผ์ ์ฐพ๋ ์์
์ kdb
์ ๋งก๊ธฐ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
AFAIK ์ด๊ฒ์ ์์ง ์ด๋ ค ์์ต๋๋ค. ์.
ํ
์คํธ๋ฅผ ์ํ srcdir_file
ํจ์๊ฐ ์ด๋ฏธ ์์ต๋๋ค. ๋น์ทํ bindir_file
๋ฅผ ์๊ฐํ ์ ์์ต๋๋ค. bindir
๋ ๊ธฐ๋ณธ์ ์ผ๋ก ${CMAKE_INSTALL_PREFIX}/${TARGET_TOOL_EXEC_FOLDER}
์ด์ง๋ง ์ฌ์ ์ํ๋ ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์
๋๋ค. CTest๋ ctest
$๋ฅผ ์ฌ์ฉํ ๋ bindir
๊ฐ ${CMAKE_BINARY_DIR}/bin
๋ก ์ค์ ๋๋๋ก (CMake์ add_test
๋ฅผ ํตํด) ์ค์ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋จ์ํ bindir๋ฅผ KDB_EXEC_PATH์ ์ถ๊ฐํ๊ณ kdb <bin>
๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ํ์ง ์์ต๋๊น?
์๋์, ๋ช ๊ฐ์ง ์ด์ ๊ฐ ์์ต๋๋ค.
testmod_
ํ
์คํธ์ด๋ฏ๋ก kdb
์ ์์กดํด์๋ ์ ๋ฉ๋๋ค.kdb
๋ฅผ ์ด๋ป๊ฒ ์ฐพ์ ์ ์์ต๋๊น? make run_all
๋ก ํ
์คํธ๋ฅผ ์คํํ๋ฉด ์ค์น๋ kdb
๊ฐ ์๋๋ผ ${CMAKE_BINARY_DIR}/bin
์ ์๋ ๊ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.kdb
๋ฅผ ์ค์นํ ํ์๋ KDB_EXEC_PATH
์๋ ${CMAKE_BINARY_DIR}/bin
ํด๋๊ฐ ํฌํจ๋์ด ์์ด ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.์ด๊ฒ์ testmod_ ํ ์คํธ์ด๋ฉฐ kdb์ ์์กดํด์๋ ์๋ฉ๋๋ค.
๊ทธ๋, ๋ ๋์. ๋ ๋ฆฝ ์คํํ์ผ๋ก ์๋ํ๋ฉด ์ข์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ kdb๋ฅผ ์ฐพ์ ์ ์์๊น์? make run_all๋ก ํ ์คํธ๋ฅผ ์คํํ๋ฉด ์ค์น๋ kdb๊ฐ ์๋๋ผ ${CMAKE_BINARY_DIR}/bin์ ์๋ kdb๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
Shellrecorder ํ ์คํธ๋ ์ด๋ฏธ kdb๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ค์น๋ Elektra์ ๋น๋ ๋๋ ํ ๋ฆฌ(Elektra๊ฐ ์ค์น๋ ๊ฒฝ์ฐ์๋) ๋ชจ๋์์ ์๋ํฉ๋๋ค.
KDB_EXEC_PATH์๋ kdb๋ฅผ ์ค์นํ ํ์๋ ์ฌ์ ํ ${CMAKE_BINARY_DIR}/bin ํด๋๊ฐ ํฌํจ๋์ด ์์ด ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์๋์, ์ค์น๋ kdb์ ๋ํด KDB_EXEC_PATH๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค(์ฌ์ฉ์๊ฐ ์ค์ ํ์ง ์๋ ํ)
Shellrecorder ํ ์คํธ๋ ์ด๋ฏธ kdb๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ค์น๋ Elektra์ ๋น๋ ๋๋ ํ ๋ฆฌ(Elektra๊ฐ ์ค์น๋ ๊ฒฝ์ฐ์๋) ๋ชจ๋์์ ์๋ํฉ๋๋ค.
์ ํ
์คํธ๋ ํญ์ "$KDB"
๋ฅผ ์คํํ๊ณ kdb
๋ ์คํํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ํฉ๋๋ค. ๋ํ make run_all
๋ฐ ctest
๋ testscr_check_meta.sh
์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐ๋ฉด kdb
๋ check_meta.sh
๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฒซ ๋ฒ์งธ์์ ์ฐ๋ฆฌ๋ $KDB
๋ฅผ ${CMAKE_BINARY_DIR}/bin/kdb
๋ก ์ค์ ํ๊ณ , ๋ ๋ฒ์งธ ๊ฒ์ ๋จ์ํ kdb
๋ก ์ค์ ํ์ต๋๋ค(๋ฐ๋ผ์ $PATH
๋ฅผ ํตํด ํด๊ฒฐ๋จ).
์๋์, ์ค์น๋ kdb์ ๋ํด KDB_EXEC_PATH๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค(์ฌ์ฉ์๊ฐ ์ค์ ํ์ง ์๋ ํ)
๋ฐฉ๊ธ Elektra์ ๋ง์คํฐ ๋ฒ์ ์ ๊ฐ์ ธ์ ์ค์นํ์ต๋๋ค. /usr/local/lib/elektra/tool_exec/check_meta
ํ์ผ์๋ ๋ค์ ์ค์ด ํฌํจ๋์ด ์์ต๋๋ค.
export KDB_EXEC_PATH="/home/klemens/libelektra/build/bin:$KDB_EXEC_PATH"
๋ฌผ๋ก ์ด๊ฒ์ testmod_*
ํ
์คํธ์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ง๋ง ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์๋ชป๋ ๊ฒ์
๋๋ค. ์๋ก์ด ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค.
@petermax2 @kodebach ์ด ๋ฌธ์ ์ ์ํ๋ ๋ฌด์์ ๋๊น? ์ง๊ธ #3246์ด ์์ ๋์์ผ๋ฏ๋ก(#3409๋ฅผ ํตํด) ์ด ๋ฌธ์ ์ ๋๋จธ์ง ๋ถ๋ถ์ ํจํค์ง ๋ฌธ์ ๋ฟ์ ๋๊น ์๋๋ฉด ๊ตฌํํด์ผ ํ ์ฌํญ์ด ๋จ์ ์์ต๋๊น?
AFAIK specload
์ ์๋ ๋ฌธ์ ๋ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. TBH ์ testmod_
ํ
์คํธ๋ฅผ ์ค์นํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ง๋ ์๋ผ. ๋จ์ผ ํ๋ฌ๊ทธ์ธ์ ๊ฒฉ๋ฆฌํ์ฌ ํ
์คํธํ๋ ๋
๋ฆฝ ์คํํ ํ
์คํธ์
๋๋ค. ์ค์ ๋ก ์คํํ๋ฉด ๋น๋ ๋๋ ํ ๋ฆฌ์์ ์คํํ๋ ์ค์น ๋๋ ํ ๋ฆฌ์์ ์คํํ๋ ๊ฒฐ๊ณผ๋ ๋์ผํฉ๋๋ค.
TBH ์ testmod_ ํ ์คํธ๋ฅผ ์ค์นํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
ํ์ฌ๋ก์๋ ํ
์คํธ ์ค์น๋ฅผ ๋นํ์ฑํํ๋ ์ต์
์ด ์์ง๋ง add_plugintest
์ด ํ
์คํธ๋ฅผ ์ค์นํ์ง ์๋๋ก ๋ก์ปฌ ์ฌ์ ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค(INSTALL_TESTING๊ณผ ๊ฐ์ง๋ง ๊ฐ๋ณ add_plugintest
).
๊ทธ๊ฒ์ ๋ง๋ ์๋ผ. ๋จ์ผ ํ๋ฌ๊ทธ์ธ์ ๊ฒฉ๋ฆฌํ์ฌ ํ ์คํธํ๋ ๋ ๋ฆฝ ์คํํ ํ ์คํธ์ ๋๋ค. ์ค์ ๋ก ์คํํ๋ฉด ๋น๋ ๋๋ ํ ๋ฆฌ์์ ์คํํ๋ ์ค์น ๋๋ ํ ๋ฆฌ์์ ์คํํ๋ ๊ฒฐ๊ณผ๋ ๋์ผํฉ๋๋ค.
:wink:, ๋ง์ ์ฐจ์ด์ ์ด ์์ง๋ง ๋๋ถ๋ถ์ ํ๋ฌ๊ทธ์ธ ์์คํ ์์ฒด์ ๊ด๋ จ์ด ์์ต๋๋ค(์ง๊ธ๊น์ง๋ ๋ชจ๋ ์์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค). ๊ทธ๋ฌ๋ ์ฌ์ ํ ๋ค์ํ ์ข ์์ฑ ๋ฌธ์ ์ ์ค์น ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ์ค์น๋ ์ํ์์ testmod ํ ์คํธ๋ฅผ ์คํํ๋ ๊ฒ์ด ์๋ฌด๊ฒ๋ ์คํํ์ง ์๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ ์ฝ๋ ํ ์คํธ๊ฐ ์์ผ๋ฉด testmod ํ ์คํธ๊ฐ ์ธ๋ชจ๊ฐ ์๋ค๋ ๊ฒ์ด ๋ง์ต๋๋ค.
@kodebach ์ด ํ ์คํธ๋ฅผ ์์ ํ๊ฒ ์ ์ธํ ์ ์๋์ง ํ์ธํ ์ ์์ต๋๊น?
@robaerd CI PR ์ค ํ๋์์ ์ ์ธํ ์ ์์ต๋๊น? (ํจํค์ง ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ์ด๋ ์์น.)
@markus2330 ํต ๋คํ ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๊น? AFAIK ์ฐ๋ฆฌ๋ ๊ฑฐ๊ธฐ์์ ๋ฌด์์ด ์๋ชป๋์๋์ง ๊ฒฐ์ฝ ์์๋ด์ง ๋ชปํ์ต๋๋ค. ์ ๋ ์ฌํํ ์ ์์์ต๋๋ค.
gopts ๋ฐ specload์ ๋ํด์๋ #3618์ ์ฐธ์กฐํ์ญ์์ค.
์, ์ฌ์ ํ ๋ฐ์ํฉ๋๋ค.
kdb testmod_quickdump
QUICKDUMP TESTS
==================
test varint
test basics
/home/jenkins/workspace/libelektra_master/libelektra/src/plugins/quickdump/testmod_quickdump.c:111: error in test_basics: call to kdbSet was not successful
zsh: segmentation fault (core dumped) noglob kdb testmod_quickdump
๋๋ ์์ค์์ ํธ์ถํ ๋:
ํ
์คํธ ๋ฐ๋ฆฐํธ
ํ
์คํธ ๊ธฐ๋ณธ
/home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:92: test_basics์ ์ค๋ฅ: kdbGet ํธ์ถ์ด ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค.
/home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:93: test_basics์ ์ค๋ฅ: mmks2์ ์ค์ ํฌ๊ธฐ๋ 0์ด์์ต๋๋ค.
/home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:93: test_basics์ ์ค๋ฅ: ํค ์ธํธ ๋น๊ต ์คํจ, ํค ์ธํธ์ ํฌ๊ธฐ๊ฐ ํฌ๊ธฐ(mmks1): 8, ํฌ๊ธฐ(mmks2)์ ๋์ผํ์ง ์์ต๋๋ค. 0
mmks1:
0x55a9efd438d0 ํค: dir:/tests/bench/__112, ๋ฌธ์์ด: gQHLlzB36CqIFlf, meta:/meta/_35: O6xNya6srhNhMFC, meta:/metaMHmeta/_39: ublVuvyh1DgfOKU/_5๋ฉํ:/:2 ZK2xlaRMfobquxp, ๋ฉํ:/๋ฉํ/_90: 0kCcc1pK7hOgY3F
0x55a9efd44250 ํค: ๋๋ ํ ๋ฆฌ:/tests/bench/__114, ๋ฌธ์์ด: , ๋ฉํ:/๋ฐ์ด๋๋ฆฌ:
0x55a9efd441a0 ํค: ๋๋ ํ ๋ฆฌ:/tests/bench/__333, ๋ฌธ์์ด: SxTUAjM6OIpUV6s
0x55a9efd440f0 ํค: ๋๋ ํ ๋ฆฌ:/tests/bench/__506, ๋ฌธ์์ด: cGqEvmXxUayNCf8
0x55a9efd44040 ํค: ๋๋ ํ ๋ฆฌ:/tests/bench/__859, ๋ฌธ์์ด: rOI5aVFGlnjPLYJ
0x55a9efd43f90 ํค: ๋๋ ํ ๋ฆฌ:/tests/bench/__863, ๋ฌธ์์ด: 8IBjbd5pzYBehrs
0x55a9efd43f20 ํค: dir:/tests/bench/__868, ๋ฌธ์์ด: UVM0OPTf68yNXij
0x55a9efd43d90 ํค: ๋๋ ํ ๋ฆฌ:/tests/bench/__911, ๋ฌธ์์ด: PgNbwPxfeqD30pH, ๋ฉํ:/๋ฉํ/_35: O6xNya6srhNhMFC
mmks2:
/home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:111: test_basics์ ์ค๋ฅ: kdbSet์ ๋ํ ํธ์ถ์ด ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค.
zsh: ๋ถํ ์ค๋ฅ(์ฝ์ด ๋คํ๋จ) LD_LIBRARY_PATH=lib bin/testmod_quickdump
Stacktrace:
at /home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:31
37 getc.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
at /home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:31
(gdb) bt ์ ์ฒด
result = <optimized out>
at /home/markus/Projekte/Elektra/current/src/plugins/quickdump/testmod_quickdump.c:31
f2 = 0x0
c1 = <optimized out>
f1 = 0x0
result = 0
c2 = <optimized out>
f1 = <optimized out>
f2 = <optimized out>
result = <optimized out>
c1 = <optimized out>
c2 = <optimized out>
end1 = <optimized out>
end2 = <optimized out>
conf = <optimized out>
modules = 0x55a9efd43a00
setKey = 0x55a9efd42bb0
errorKey = <optimized out>
plugin = 0x55a9efd43b00
ks = <optimized out>
infile = 0x55a9efd429e0 "/usr/local/share/elektra/test_data/quickdump/test.quickdump"
outfile = 0x55a9efd42a30 "/usr/local/share/elektra/test_data/quickdump/test.quickdump.out"
__func__ = "test_basics"
```
๋๋ ์์ค์์ ํธ์ถํ ๋:
ํ
์คํธ๋ฅผ ์ง์ ์คํํ ๋ ctest
(์: ctest -R testmod_quickdump --ouptut-on-failure
)๋ฅผ ์ฌ์ฉํ์ฌ ํ๊ฒฝ, ์ธ์ ๋ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์๋์ง ํ์ธํ์ญ์์ค.
์ด ๊ฒฝ์ฐ LD_LIBRARY_PATH=lib bin/testmod_quickdump ../src/plugins/quickdump
๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค(์: gdb
๋ก ๋๋ฒ๊ทธํ๋ ค๋ ๊ฒฝ์ฐ).
/usr/local/share/elektra/test_data/quickdump/test.quickdump
์ด ์์คํ
์ ์กด์ฌํ๊ณ ํ๋ก์ธ์ค์ /usr/local/share/elektra/test_data/quickdump/test.quickdump.out
์ ์ธ ์ ์๋ ๊ถํ์ด ์์ต๋๊น? (์๋ง๋ sudo kdb testmod_quickdump
๊ฐ ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค)
๊ทธ๋ ๋ค๋ฉด ์ถ๊ฐํ์ญ์์ค
output_error (setKey);
output_warnings (setKey);
testmod_quickdump.c:112
์ ์ถ๋ ฅ์ ๊ฒ์ํฉ๋๋ค.
elektraQuickdumpSet
๊ฐ ์คํจํ์ผ๋ฏ๋ก compare_binary_files
๊ฐ ์คํจํ๋ค๋ ์ฌ์ค์ ์์ ํ ์์๋ฉ๋๋ค. (์ค๋ฅ ๋ฉ์์ง๋ ๋ฌผ๋ก ๋ ๋์ ์ ์๊ณ segfault๋ฅผ ํผํ ์ ์์ง๋ง _failed_ ํ
์คํธ์ด๋ฏ๋ก ๊ทธ๋ค์ง ์ค์ํ์ง ์์ต๋๋ค)
๋ค, ๋ฌธ์ ๋ ํ
์คํธ ์ผ์ด์ค๊ฐ ์ ํฉํ์ง ์์ ํด๋์ ์์ ํ์ผ์ ์์ฑํ๋ ค๊ณ ํ๋ค๋ ๊ฒ์
๋๋ค. sudo kdb testmod_quickdump
๋ ๋ฌธ์ ์์ด ์คํ๋ฉ๋๋ค. ๋ฐ๋ผ์ "test_data/quickdump/test.quickdump.out"์ ์ฌ์ฉํ๋ ๋์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ์ผ์ ๋ง๋๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํด์ผ ํฉ๋๋ค.
์๋ผ๊ณ ๋ณ๊ฒฝํ ์ ์์ง๋ง ๋ง์ ํ
์คํธ๋ ์ด์จ๋ sudo
์์ด ์คํ๋์ง ์์ผ๋ฏ๋ก ์ค์ ๋ก ๋ฌธ์ ๋ก ๋ณด์ง ์์ต๋๋ค.
์ด๋ค ํ ์คํธ๋ฅผ ๋ง์ํ์๋ ๊ฑด๊ฐ์? ๋๋ ํญ์ sudo ์์ด ์ ์ฒด ์ ํ๊ตฐ์ ์คํํฉ๋๋ค(๊ทธ๋ฌ๋ Elektra์ ๊ฒฝ๋ก์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ์์). testmod_quickdump๋ ํด๋น ๋ฌธ์ ๊ฐ ์๋ ์ ์ผํ ํ ์คํธ์ ๋๋ค.
๊ทธ๋ฌ๋ Elektra์ ๊ฒฝ๋ก์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ์์ต๋๋ค.
๋ฌผ๋ก ์ ์๋ํ์ง๋ง ํ์ค ์์คํ ์์ ์ด๋ฌํ ๊ฒฝ๋ก๋ ๋ฃจํธ ์ก์ธ์ค ์ ์ฉ์ ๋๋ค.
๋๋ ์ฌ์ ํ ์ค์น๋ Elektra ๋ฒ์ ์์ ๋จ์ ํ ์คํธ๋ฅผ ์คํํ๋ ์ ์ฒด ๊ฐ๋ ์ด ์ด์ํ๊ณ ํต ๋คํ ๋ฌธ์ ๋ ๋ฒ๊ทธ๊ฐ ์๋๋ผ ์์ ํ ์ฌ์ฉ์ ๊ถํ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง๋ง #3618์์ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค.
์ด์ #3618์ ์ฝ๋๋ฅผ ์
๋ฐ์ดํธํ์ต๋๋ค. ๋ํ testmod_dump
์์ ์ ์ฌํ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์ ๋ณ๊ฒฝํ์ต๋๋ค. ์ ์คํจํ์ง ์์๋์ง ๋ชจ๋ฆ
๋๋ค. testmod_xmltool
๋น์ทํ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค(์ฝ๋๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝํ์ง ์์์ง๋ง).
testmod_quickdump
๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ ์ค ํ๋์ ๋ถ๊ณผํ๋ฏ๋ก compare_line_files
๋ฅผ ์ฌ์ฉํ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ๋ค๋ฅธ ๊ฒ๋ค์ segfault๊ฐ ์๋์ง๋ง ํ
์คํธ๋ ์ฌ์ ํ ์คํจํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํต๋คํ ๋ฌธ์ ๋ ๋ฒ๊ทธ๊ฐ ์๋๋ผ ์์ ํ ์ฌ์ฉ์ ๊ถํ ๋ฌธ์ ์ ๋๋ค.
FHS ์๋ฐ์ด๋ฉฐ ์์ฉ ํ๋ก๊ทธ๋จ์ /usr์ ์ธ ์ ์์ผ๋ฉฐ ์ฝ๊ธฐ ์ ์ฉ์ผ ์๋ ์์ต๋๋ค.
์ฐ๊ธฐ๋ฅผ ์ํด ์์ ํ์ผ๋ง ์ฌ์ฉํด์ผ ํ๋ฉฐ ํ ์คํธ๊ฐ ์๋ฃ๋ ํ์๋ ์ ๋ฆฌํด์ผ ํฉ๋๋ค.