Libelektra: テストは特定の環境debianパッケヌゞで奇劙に動䜜したす

䜜成日 2018幎05月11日  Â·  35コメント  Â·  ゜ヌス: ElektraInitiative/libelektra

bc804c207df391c339d880d3487ea3c16eb4ee4eより前は、Debianパッケヌゞをビルドするずきに、䞀郚の環境で次のテストが倱敗したした。

  • testmod_blockresolver
  • testmod_crypto_openssl
  • testmod_crypto_gcrypt
  • testmod_crypto_botan
  • testmod_fcrypt

マルクスの線集HOMEずTMPDIRを操䜜しお、blockresolverずfcryptの問題を再珟するこずもできたす。 パッケヌゞを䜜成する必芁はありたせん。

゚ラヌログ

ブロックリゟルバヌ

[package/stretch]  42/118 Test  #48: testmod_blockresolver ............***Failed    0.00 sec
[package/stretch] BLOCKRESOLVER     TESTS
[package/stretch] ==================
[package/stretch] 
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/blockresolver/testmod_blockresolver.c:70: error in test_BlockresolverWrite: blockresolver->kdbSet failed
[package/stretch] Compare <key = only the inside has changed
[package/stretch] >, with <key = inside block
[package/stretch] >
[package/stretch] in file /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/blockresolver/blockresolver/compare.block, line 5.
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/tests/cframework/tests.c:157: error in compare_line_files: comparing lines failed
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/blockresolver/testmod_blockresolver.c:72: error in test_BlockresolverWrite: files do not match as expected
[package/stretch] 
[package/stretch] testmod_blockresolver Results: 15 Tests done — 3 errors.

crypto_openssl

[package/stretch]  48/118 Test  #60: testmod_crypto_openssl ...........***Failed    5.32 sec
[package/stretch] CYPTO        TESTS
[package/stretch] ==================
[package/stretch] 
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/crypto/test_internals.h:263: error in test_gpg: failed to install the GPG test key
[package/stretch] 
[package/stretch] crypto_openssl Results: 65 Tests done — 1 error.

crypto_gcrypt

[package/stretch]  49/118 Test  #61: testmod_crypto_gcrypt ............***Failed    5.18 sec
[package/stretch] CYPTO        TESTS
[package/stretch] ==================
[package/stretch] 
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/crypto/test_internals.h:263: error in test_gpg: failed to install the GPG test key

crypto_botan

[package/stretch]  50/118 Test  #62: testmod_crypto_botan .............***Failed    5.41 sec
[package/stretch] CYPTO        TESTS
[package/stretch] ==================
[package/stretch] 
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/crypto/test_internals.h:263: error in test_gpg: failed to install the GPG test key

fcrypt

[package/stretch]  57/118 Test  #73: testmod_fcrypt ...................***Failed   15.03 sec
[package/stretch] FCRYPT       TESTS
[package/stretch] ==================
[package/stretch] 
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:159: error in test_gpg: failed to install the GPG test key
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:187: error in test_file_crypto_operations: kdb set failed
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:188: error in test_file_crypto_operations: file content did not change during encryption
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:191: error in test_file_crypto_operations: kdb get (pregetstorage) failed
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:195: error in test_file_crypto_operations: kdb get (postgetstorage) failed
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:196: error in test_file_crypto_operations: postgetstorage did not encrypt the file again
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:231: error in test_file_signature_operations: kdb set failed
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:232: error in test_file_signature_operations: file content did not change during encryption
[package/stretch] /home/jenkins/workspace/elektra-jenkinsfile/libelektra/src/plugins/fcrypt/testmod_fcrypt.c:235: error in test_file_signature_operations: kdb get failed
[package/stretch] 

蚎論

1965では、゚ラヌが衚瀺されるコミットずしお、最終的にhttps://github.com/ElektraInitiative/libelektra/commit/356317a6ab811f524ebaa1dbf40f19477b966fc1を指すバグ発芋の議論がありたした。 ただし、環境をクリヌンアップしおも、テストに合栌するずいう副䜜甚はありたせん。
テストに特定の環境蚭定が必芁な堎合は、それらを蚭定する必芁がありたす。

最も参考になるコメント

@ petermax2 Vagrantfileず再珟手順は2211にありたす。 これが問題のデバッグをより簡単にするのに圹立぀こずを願っおいたす。 倚分それは本圓にただのENVの問題です。

党おのコメント35件

別途ご報告いただきありがずうございたす

副䜜甚ずしおhttps://build.libelektra.org/jenkins/job/elektra-git-buildpackage-jessie/は昚日から再び機胜しおいるようです...

GPGは、クリアされた環境に問題があるようです。 GNUPGHOME倉数を/tmpたす。 GPGは、キヌチェヌンを怜玢するためにこのディレクトリデフォルトは~/.gnupg/ に䟝存しおいたす。 gpg-agent情報もこのディレクトリに保存されおいるず思いたす。 すべおのテストで同じディレクトリに蚭定するず、テストの実行ごずに耇数のgpg-agents生成されるずいう゚ラヌも修正される可胜性がありたす1928を参照。

はい、倱敗したクリプトスポリゞりムテストケヌスは1928に関連しおいるずも思いたした。 gpgはTMPDIRの䞋で.gnupgを䜿甚しおいるようです。 少なくずも、 TMPDIR=`pwd`/x ctest --output-on-failure -R fcrypt実行した埌に.gnupgが残っおいるのがわかりたす。

倱敗したfcryptテストケヌスは、TMPDIRにも関連する䞀時ファむルの凊理にバグを瀺しおいる可胜性がありたす。

gpgはTMPDIRの䞋で.gnupgを䜿甚しおいるようです

これは間違った仮定です。 gpgはデフォルトずしお〜/ .gnupgを䜿甚するため、TMPDIRではなくHOMEに関連しおいたす。

たた、すべおのテストでGNUPGHOMEを同じディレクトリに蚭定するず、䞊列テストの実行に圱響を䞎える可胜性があるこずに泚意しおください。

これは間違った仮定です

どのような仮定を意味したすか 私は、TMPDIR内に.gnupgフォルダヌを取埗するこずだけを蚀及しおいたした。

mkdir x && env TMPDIR=`pwd`/x ctest --output-on-failure -R fcrypt; find x
Test project /home/markus/Projekte/Elektra/build
    Start 64: testmod_fcrypt
1/1 Test #64: testmod_fcrypt ...................***Failed    0.02 sec
FCRYPT       TESTS
==================

/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:187: error in test_file_crypto_operations: kdb set failed
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:188: error in test_file_crypto_operations: file content did not change during encryption
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:191: error in test_file_crypto_operations: kdb get (pregetstorage) failed
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:195: error in test_file_crypto_operations: kdb get (postgetstorage) failed
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:196: error in test_file_crypto_operations: postgetstorage did not encrypt the file again
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:231: error in test_file_signature_operations: kdb set failed
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:232: error in test_file_signature_operations: file content did not change during encryption
/home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:235: error in test_file_signature_operations: kdb get failed

fcrypt Results: 39 Tests done — 8 errors.


0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.03 sec

The following tests FAILED:
         64 - testmod_fcrypt (Failed)
Errors while running CTest
x
x/elektra-test.qPoz5P
x/elektra-test.qPoz5P/.gnupg
x/elektra-test.qPoz5P/.gnupg/random_seed
x/elektra-test.qPoz5P/.gnupg/trustdb.gpg
x/elektra-test.qPoz5P/.gnupg/pubring.kbx~
x/elektra-test.qPoz5P/.gnupg/pubring.kbx

これは、testsctestの䜕かが、各テストスむヌトのホヌムディレクトリをTMPDIRのtmpdirに蚭定するためです。
GPGはHOMEにファむルを䜜成したすが、HOMEはテストスむヌトによっおTMPDIR / randomdir /に蚭定されたす。
したがっお、私のポむントは、それがtmpdirの唯䞀の障害ではなく、デバッグ䜜業をそれに限定すべきではないずいうこずです。

テストごずに別々のホヌムディレクトリを甚意しお、盞互に圱響を䞎えないようにする䞊列化こずをお勧めしたす。したがっお、gpgディレクトリをオヌバヌラむドしお単䞀のディレクトリを共有するこずは良い考えではないず思いたす。

はい私は同意する。

1977は意味がありたすか それずも、 ctestが完党に終了した埌に実行する必芁がありたすか

たたは別の質問gpg-agentは単䞀のテストスむヌトの実行に耐えたすか、それずもすべおのテストスむヌトに察しお再生成されたすか

@ markus2330 2040で述べたように。 Dockerむメヌゞの構築に関する指瀺に埓いたした。 私が実行したDockerコンテナ内

# cmake -DBUILD_DOCUMENTATION=OFF -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
# make -j16
# mkdir x
# TMPDIR=`pwd`/x ctest -R crypt .
Test project /elektra/build
    Start 46: testmod_crypto_openssl
1/3 Test #46: testmod_crypto_openssl ...........   Passed    1.32 sec
    Start 47: testmod_crypto_gcrypt
2/3 Test #47: testmod_crypto_gcrypt ............   Passed    1.16 sec
    Start 48: testmod_crypto_botan
3/3 Test #48: testmod_crypto_botan .............   Passed    1.52 sec

100% tests passed, 0 tests failed out of 3

Label Time Summary:
memleak    =   1.16 sec (1 test)

Total Test time (real) =   4.01 sec

したがっお、問題の䞀郚は、テストケヌスがTMPDIRが存圚するず想定しおいるこずです。 たた、テストを実行する前に垞にディレクトリを䜜成しおいたため、再珟できたせんでしたsmile

しかし、私にずっおは、xが存圚する堎合でもfcryptは倱敗したすfcryptを実行しおいたせん。 しかし、他のメッセヌゞずずもに

64: FCRYPT       TESTS
64: ==================
64: 
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:187: error in test_file_crypto_operations: kdb set failed
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:188: error in test_file_crypto_operations: file content did not change during encryption
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:191: error in test_file_crypto_operations: kdb get (pregetstorage) failed
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:195: error in test_file_crypto_operations: kdb get (postgetstorage) failed
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:196: error in test_file_crypto_operations: postgetstorage did not encrypt the file again
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:231: error in test_file_signature_operations: kdb set failed
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:232: error in test_file_signature_operations: file content did not change during encryption
64: /home/markus/Projekte/Elektra/current/src/plugins/fcrypt/testmod_fcrypt.c:235: error in test_file_signature_operations: kdb get failed
64: 
64: fcrypt Results: 39 Tests done — 8 errors.
1/1 Test #64: testmod_fcrypt ...................***Failed    0.02 sec

しかし、それは私のコンテナで機胜したす私はその行を削陀するのを長い間埅っおいたした笑い...

jenkins<strong i="6">@924c627f07b8</strong>:/elektra/build$ ctest --output-on-failure -R fcrypt
Test project /elektra/build
    Start 59: testmod_fcrypt
1/1 Test #59: testmod_fcrypt ...................   Passed    1.07 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   1.08 sec
jenkins<strong i="7">@924c627f07b8</strong>:/elektra/build$ TMPDIR=`pwd`/x ctest --output-on-failure -R fcrypt
Test project /elektra/build
    Start 59: testmod_fcrypt
1/1 Test #59: testmod_fcrypt ...................***Failed    0.01 sec
FCRYPT       TESTS
==================

/elektra/tests/cframework/tests.c:80: error in init: mkdtemp failed
/elektra/tests/cframework/tests.c:90: error in init: mkstemp failed
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:159: error in test_gpg: failed to install the GPG test key
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:71: error in writeTestFile: can not write to temporary file
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:187: error in test_file_crypto_operations: kdb set failed
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:99: error in isTestFileCorrect: can not read from temporary file
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:191: error in test_file_crypto_operations: kdb get (pregetstorage) failed
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:99: error in isTestFileCorrect: can not read from temporary file
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:192: error in test_file_crypto_operations: file content could not be restored during decryption
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:195: error in test_file_crypto_operations: kdb get (postgetstorage) failed
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:99: error in isTestFileCorrect: can not read from temporary file
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:71: error in writeTestFile: can not write to temporary file
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:231: error in test_file_signature_operations: kdb set failed
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:99: error in isTestFileCorrect: can not read from temporary file
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:235: error in test_file_signature_operations: kdb get failed
/elektra/src/plugins/fcrypt/testmod_fcrypt.c:80: error in writeFaultySignatureFile: can not write to temporary file

fcrypt Results: 32 Tests done — 16 errors.


0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.02 sec

The following tests FAILED:
        59 - testmod_fcrypt (Failed)
Errors while running CTest
jenkins<strong i="8">@924c627f07b8</strong>:/elektra/build$ mkdir x
jenkins<strong i="9">@924c627f07b8</strong>:/elektra/build$ TMPDIR=`pwd`/x ctest --output-on-failure -R fcrypt
Test project /elektra/build
    Start 59: testmod_fcrypt
1/1 Test #59: testmod_fcrypt ...................   Passed    1.06 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   1.07 sec
jenkins<strong i="10">@924c627f07b8</strong>:/elektra/build$

さらに興味深いもの

  • mkdtempが倱敗するのはなぜですか
  • clean_temp_homeは、gnupgのものをクリヌンアップするためにすでに䜜成されおいるようです。 なぜ機胜しないのですか

    • 名前が倉わったようです

  • TMPDIRのディレクトリが存圚する堎合でも、fcryptが倱敗したす他のテストは合栌です

    • TMPDIRfcryptパスを指定しない堎合

さお... tests.cの譊告を確認するず、すべおがはるかに明確になりたす...

私はそれのためにPRを準備しおいたすが、それはいく぀かの問題を解決するはずです。

fcryptのどこかにハヌドパスが指定されおいお、テストが倱敗する可胜性があるかどうかを誰かが知るこずができれば、それは玠晎らしいこずです。

Ìn2056生成されたTMPDIRを適切にクリヌンアップしたす。 これにより、長匕くgpg-agentの問題が解決されたす。
たた、mkdtempをアクティブ化しない新しいバヌゞョンのglibcの問題も修正されおいたす。

ただし、TMPDIRを手動で蚭定するずすぐに、fcryptテストは倱敗したす。コヌドのどこかに、実際のバグがある可胜性があるず思いたす。

jenkins<strong i="8">@0585a86e6f5f</strong>:~/workspace/build$ pidof gpg-agent
jenkins<strong i="9">@0585a86e6f5f</strong>:~/workspace/build$ TMPDIR=`pwd`/tmp ctest --output-on-failure -R crypt
Test project /home/jenkins/workspace/build
    Start 51: testmod_crypto_openssl
1/4 Test #51: testmod_crypto_openssl ...........   Passed    1.58 sec
    Start 52: testmod_crypto_gcrypt
2/4 Test #52: testmod_crypto_gcrypt ............   Passed    1.34 sec
    Start 53: testmod_crypto_botan
3/4 Test #53: testmod_crypto_botan .............   Passed    1.83 sec
    Start 64: testmod_fcrypt
4/4 Test #64: testmod_fcrypt ...................***Failed    1.17 sec
FCRYPT       TESTS
==================

/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:187: error in test_file_crypto_operations: kdb set failed
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:188: error in test_file_crypto_operations: file content did not change during encryption
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:191: error in test_file_crypto_operations: kdb get (pregetstorage) failed
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:195: error in test_file_crypto_operations: kdb get (postgetstorage) failed
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:196: error in test_file_crypto_operations: postgetstorage did not encrypt the file again
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:231: error in test_file_signature_operations: kdb set failed
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:232: error in test_file_signature_operations: file content did not change during encryption
/home/jenkins/workspace/src/plugins/fcrypt/testmod_fcrypt.c:235: error in test_file_signature_operations: kdb get failed

fcrypt Results: 39 Tests done — 8 errors.


75% tests passed, 1 tests failed out of 4

Label Time Summary:
memleak    =   1.34 sec (1 test)

Total Test time (real) =   5.98 sec

The following tests FAILED:
     64 - testmod_fcrypt (Failed)
Errors while running CTest
jenkins<strong i="10">@0585a86e6f5f</strong>:~/workspace/build$ pidof gpg-agent
jenkins<strong i="11">@0585a86e6f5f</strong>:~/workspace/build$ ls -l tmp
total 0

ただし、TMPDIRを手動で蚭定するずすぐに、fcryptテストは倱敗したす。コヌドのどこかに、実際のバグがある可胜性があるず思いたす。

あなたが正しいです

getTemporaryFileNameでfcrypt.c環境をチェックしたせん。 したがっお、プラグむン構成でtmpdirが指定されおいない堎合、デフォルトのフォヌルバックずしお/tmpが䜿甚されたす。

正しい優先順䜍は次のようになるず思いたす。

  1. プラグむン蚭定
  2. 環境$TMPDIR
  3. デフォルトのフォヌルバック/tmp

同意したすか

ISO / IEC 9945POSIXリストTMPDIR、TMP、TEMP、TEMPDIRで最初に芋぀かった環境倉数によっお提䟛されるパス。 これらのいずれも芋぀からない堎合は、「/ tmp」。

ずにかくmkdtempPOSIX 2008を䜿甚しおいるので、おそらくそれも䜿甚しお、いく぀かのコヌドを取り陀くこずができたす。

情報ありがずうございたす 2090で提案された修正により、ビルドサヌバヌでのfcryptテストの問題が修正されるこずを確認できたしたか

TMPDIR = dir / that / exits ctest -R fcryptを䜿甚しおシステムで機胜する堎合は、ビルドサヌバヌでも機胜するはずです。

この問題は今すぐ修正する必芁がありたす。

私は同意したす

テストにはただある皮の奇劙な点があるようです。 ハむパヌスレッディングを行わなくなったため、マスタヌのビルドをいく぀か実行しお、䞻に゚グれキュヌタヌず䞊列蚭定を埮調敎したす。 そしお、あるケヌスでは、同じ「キヌをむンストヌルできたせんでした」ずいう問題でテストが突然倱敗したした。
https://build.libelektra.org/jenkins/blue/organizations/jenkins/libelektra/detail/master/122/pipeline/410

ここに山積みしお申し蚳ありたせんが、私もfailed to install the GPG test key゚ラヌに遭遇したした。 私はvagrantartful32 vmを䜿甚しおおり、これらの゚ラヌを䞀貫しお再珟できたすマスタヌブランチ。

 55/198 Test  #55: testmod_crypto_gcrypt ....................***Failed    0.60 sec
CYPTO        TESTS
==================

/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/crypto/test_internals.h:273: error in test_gpg: failed to install the GPG test key

crypto_gcrypt Results: 65 Tests done — 1 error.
 66/198 Test  #66: testmod_fcrypt ...........................***Failed    0.03 sec
FCRYPT       TESTS
==================

/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:160: error in test_gpg: failed to install the GPG test key
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:188: error in test_file_crypto_operations: kdb set failed
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:189: error in test_file_crypto_operations: file content did not change during encryption
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:192: error in test_file_crypto_operations: kdb get (pregetstorage) failed
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:196: error in test_file_crypto_operations: kdb get (postgetstorage) failed
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:197: error in test_file_crypto_operations: postgetstorage did not encrypt the file again
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:232: error in test_file_signature_operations: kdb set failed
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:233: error in test_file_signature_operations: file content did not change during encryption
/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/fcrypt/testmod_fcrypt.c:236: error in test_file_signature_operations: kdb get failed

fcrypt Results: 39 Tests done — 9 errors.

゚ラヌの再珟に圹立぀堎合は、PRを介しおvagrantfileを提䟛できたす。

報告ありがずうございたす TMPDIRずHOMEを教えおください。 env -i再珟しおみおください。

@ petermax2それを芋る時間はありたすか

䞊蚘の゚ラヌの堎合
TMPDIR空
ホヌム /home/jenkins/workspace/elektra-master-full-artful32/user

env -i 、もう1぀のテストが倱敗したす。

 54/198 Test  #54: testmod_crypto_openssl ...................***Failed    0.31 sec
CYPTO        TESTS
==================

/home/jenkins/workspace/elektra-master-full-artful32/src/plugins/crypto/test_internals.h:273: error in test_gpg: failed to install the GPG test key

crypto_openssl Results: 65 Tests done — 1 error.

これが偶然かどうかはわかりたせんが、このテストが倱敗したのはこれが初めおでした。

週末に調査できたす。 @mpranjvagrantファむルを送っお

@ petermax2 Vagrantfileず再珟手順は2211にありたす。 これが問題のデバッグをより簡単にするのに圹立぀こずを願っおいたす。 倚分それは本圓にただのENVの問題です。

$HOMEDIRはテストケヌスの実行埌に削陀されないため、 gpg-agentは実行を続け、問題が発生したす。 GNUPGHOMEが別のディレクトリに蚭定されおいる堎合、テストケヌスは再び成功したす。

線集 $HOMEDIRは適切に削陀されおいたすが、 gpgagentは期埅どおりに終了したせん。

v2の線集

vagrant@ubuntu-artful:~/libelektra/build$ gpg --list-key
gpg: directory '/home/vagrant/.gnupg' created
gpg: new configuration file '/home/vagrant/.gnupg/dirmngr.conf' created
gpg: new configuration file '/home/vagrant/.gnupg/gpg.conf' created
gpg: keybox '/home/vagrant/.gnupg/pubring.kbx' created
gpg: /home/vagrant/.gnupg/trustdb.gpg: trustdb created
vagrant@ubuntu-artful:~/libelektra/build$ pgrep agent
3630
vagrant@ubuntu-artful:~/libelektra/build$ rm -rf /home/vagrant/.gnupg
vagrant@ubuntu-artful:~/libelektra/build$ pgrep agent
3630
vagrant@ubuntu-artful:~/libelektra/build$

調査ありがずうございたす

どのバヌゞョンのenvvarsが䜕を実行し、ファむルが削陀されたずきにgpg゚ヌゞェントが閉じたずきからの抂芁はありたすか

これを修正する最良の方法は䜕ですか

遅れお申し蚳ありたせんが、これたでさらに調査する時間がありたせんでした。

どのバヌゞョンのenvvarsが䜕を実行し、ファむルが削陀されたずきにgpg゚ヌゞェントが閉じたずきからの抂芁はありたすか

私が芋぀けたすべおのドキュメントは

_GNUPGHOME「〜/ .gnupg」の代わりにディレクトリを蚭定した堎合。_ [1]

これを修正する最良の方法は䜕ですか

私はわかりたせん。 GnuPGで盎面しおいるすべおの問題を解決する単䞀の゜リュヌションがあるようには芋えたせん。 startetd GnuPG゚ヌゞェントのPIDを保存しようずしたこずがありたすが、うたくいきたせんでした。

あなたはなにか考えはありたすか

゜ヌス

  • [1] [https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration.html](https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration.html

考えられるすべおの問題を解決しようずするのではなく、gnupgの䞀郚のバヌゞョンのみをサポヌトする必芁があるのではないでしょうか。

ファむルを削陀した埌、gnupgのどのバヌゞョンが自分自身をクリヌンアップしたせんか それらはただそれらをサポヌトするのに十分に関連しおいたすか たぶん、単にそれらのテストを無効にしたすか

ファむルを削陀した埌、gnupgのどのバヌゞョンが自分自身をクリヌンアップしたせんか

Ubuntu Artful17.10のバヌゞョンのgpgは、これたでのずころ、 GNUPGHOME削陀した埌に゚ヌゞェントが終了しない唯䞀のバヌゞョンです。 他のバヌゞョンのgpgではこの動䜜は芋られたせんでした。

UbuntuArtfulのGPGは2.1.15です。 Ubuntu 18.04.1では、gpgバヌゞョン2.2.4が䜿甚されたす。 最新バヌゞョンは2.2.10です。

gpgバヌゞョン> = 2.2が必芁であるずいう䟝存関係の泚蚘を远加する堎合がありたす。

リリヌスノヌトを正しく理解しおいれば、終了はgpgバヌゞョン2.1.16に実装されおいたす。 リリヌスノヌトを参照しおください。

線集リリヌスノヌトには、終了はLinuxにのみ実装されおいるず蚘茉されおいたす。 ぀たり、他のOSでも同じ問題が発生するはずです。 FreeBSDでテストしたす。

FreeBSDでテストしたす。

はい、 gpg-agent GNUPGHOMEが削陀された埌も、 gpg-agentはただ実行されおいたす。

ATM別の゜リュヌションをテストしおいたす。 gpg-connect-agent KILLAGENT実行するず、gpgバヌゞョン2.2.4で゚ヌゞェントがシャットダりンしたす。 単䜓テストの完了埌にこのコマンドをexecv 、 gpg-agentはシャットダりンするはずです。 LinuxずFreeBSDでこの゜リュヌションをテストしたす。 コメントたたはできればPRをお埅ちください

問題が再床発生する堎合は、この問題を再床開いおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡