Open
Description
I created $HOME/.config/kryoptic/token.conf
with the following contents:
[[slots]]
slot = 1
dbtype = "sql"
dbargs = "/tmp/kryoptic/token.sql"
The database does not exist.
Now, running kryoptic
's test suite, most of the tests fail:
$ PATH=$HOME/bin:$HOME/.cargo/bin:$PATH && cargo --version && rustc --version\
&& cd ~/neal/work/pep/kryoptic \
&& export CARGO_TARGET_DIR=/tmp/kryoptic-build \
&& mkdir -p $CARGO_TARGET_DIR \
&& export RUST_BACKTRACE=1 \
&& export CONFDIR=/etc \
&& export KRYOPTIC_OPENSSL_SOURCES=.../openssl \
&& FEATURES="--no-default-features --features standard" \
&& cargo build --release $FEATURES \
&& cargo test $FEATURES \
&& cargo doc --no-deps $FEATURES
cargo 1.85.1 (d73d2caf9 2024-12-31)
rustc 1.85.1 (4eb161250 2025-03-15)
Finished `release` profile [optimized] target(s) in 0.04s
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
Running unittests src/lib.rs (/tmp/kryoptic-build/debug/deps/kryoptic_pkcs11-8db4a183e5615bd8)
running 83 tests
test kasn1::pkcs::tests::test_raw_tlv_can_parse ... ok
test kasn1::pkcs::tests::test_asn1_readable_or_writable_write_read_data ... ok
test kasn1::pkcs::tests::test_with_raw_tlv_can_parse ... ok
test kasn1::pkcs::tests::test_asn1_readable_or_writable_unwrap_read - should panic ... ok
test kasn1::pkcs::tests::test_unvalidated_visible_string_write - should panic ... ok
test tests::aes::test_aes_macs ... FAILED
test tests::aes::test_aes_operations ... FAILED
test tests::aes_kw_vectors::test_kw_ad_128_vector ... FAILED
test tests::aes_kw_vectors::test_kw_ad_256_vector ... FAILED
test tests::aes_kw_vectors::test_kw_ad_192_vector ... FAILED
test tests::aes_kw_vectors::test_kw_ae_128_vector ... FAILED
test tests::aes_kw_vectors::test_kwp_ad_128_vector ... FAILED
test tests::aes_kw_vectors::test_kwp_ad_192_vector ... FAILED
test tests::aes_kw_vectors::test_kwp_ad_256_vector ... FAILED
test tests::aes_kw_vectors::test_kwp_ae_128_vector ... FAILED
test tests::aes_kw_vectors::test_kwp_ae_256_vector ... FAILED
test tests::aes_kw_vectors::test_kw_ae_192_vector ... FAILED
test tests::aes_kw_vectors::test_kwp_ae_192_vector ... FAILED
test tests::aes_kw_vectors::test_kw_ae_256_vector ... FAILED
test tests::attrs::test_get_attr ... FAILED
test tests::combined::test_combined_sign_enc ... FAILED
test tests::combined::test_combined_dgst_enc ... FAILED
test tests::attrs::test_set_attr_rsa ... FAILED
test tests::ec_montgomery::test_create_ec_montgomery_objects ... FAILED
test tests::ec_montgomery::test_ec_montgomery_derive_x448 ... FAILED
test tests::ec_montgomery::test_ec_montgomery_derive_x25519 ... FAILED
test tests::ec_montgomery::test_ec_motgomery_key ... FAILED
test tests::ecc::test_create_ec_objects ... FAILED
test tests::eddsa::test_create_eddsa_objects ... FAILED
test tests::ecc::test_ecc_operations ... FAILED
test tests::ecdh::test_ecc_derive_nist ... FAILED
test tests::ecdh::test_ecc_derive_x963 ... FAILED
test tests::ecdh::test_ecc_derive_plain ... FAILED
test tests::ecdh_vectors::test_ecdh_vector ... FAILED
test tests::init::test_init_token ... FAILED
test tests::eddsa::test_eddsa_vector ... FAILED
test tests::hashes::test_hashes_digest ... FAILED
test tests::hashes::test_hashes_digest_key ... FAILED
test tests::eddsa::test_eddsa_operations ... FAILED
test tests::kdfs::test_pbkdf2 ... FAILED
test tests::kdfs::test_hkdf ... FAILED
test tests::kdfs::test_aes_enc_kdf ... FAILED
test tests::kdfs::test_hash_kdf ... FAILED
test tests::kdfs::test_sshkdf ... FAILED
test tests::keys::test_ecc_key ... FAILED
test tests::kdfs::test_sp800_kdf ... FAILED
test tests::keys::test_eddsa_key ... FAILED
test tests::keys::test_rsa_key ... FAILED
test tests::keys::test_secret_key ... FAILED
test tests::keys::test_secret_key_defaults ... FAILED
test tests::login::test_login ... FAILED
test tests::login::test_login_close ... FAILED
test tests::login::test_login_close_all ... FAILED
test tests::mac_vectors::test_cmac_aes_192_vector ... FAILED
test tests::kdf_vectors::test_kdf_ctr_vector ... FAILED
test tests::mac_vectors::test_cmac_aes_256_vector ... FAILED
test tests::mechs::test_get_mechs ... FAILED
test tests::objects::test_create_objects ... FAILED
test tests::objects::test_copy_objects ... FAILED
test tests::random::test_random ... FAILED
test tests::session::test_operations ... FAILED
test tests::mac_vectors::test_hmac_vector ... FAILED
test tests::session::test_session_objects ... FAILED
test tests::signatures::test_ecc_signatures ... FAILED
test tests::mac_vectors::test_cmac_aes_128_vector ... FAILED
test tests::rsa::test_rsa_operations ... FAILED
test tests::signatures::test_hmac_signatures ... FAILED
test tests::tls::test_tlsprf_vectors ... ok
test tests::token::test_interface_invalid_name ... ok
test tests::token::test_interface_invalid_version ... ok
test tests::tls::test_tls_mechanisms ... FAILED
test tests::token::test_interface_null ... FAILED
test tests::tls::test_tls_master_secret_vectors ... FAILED
test tests::signatures::test_rsa_signatures ... FAILED
test tests::kdf_vectors::test_kdf_feedback_vector ... FAILED
test tests::token::test_interface_pkcs11 ... FAILED
test tests::token::test_interface_pkcs11_version240 ... FAILED
test tests::token::test_interface_pkcs11_version3 ... FAILED
test tests::token::test_token_datadir ... FAILED
test tests::init::test_re_init_token_sql ... FAILED
test tests::token::test_token_sql ... FAILED
test tests::token::test_config_multiple_tokens ... FAILED
test tests::eddsa::test_create_eddsa_compat ... FAILED
failures:
...
---- tests::eddsa::test_create_eddsa_compat stdout ----
thread 'tests::eddsa::test_create_eddsa_compat' panicked at src/tests/mod.rs:219:9:
assertion `left == right` failed
left: 225
right: 0
stack backtrace:
0: rust_begin_unwind
at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:692:5
1: core::panicking::panic_fmt
at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:75:14
2: core::panicking::assert_failed_inner
3: core::panicking::assert_failed
at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:364:5
4: kryoptic_pkcs11::tests::TestToken::initialized
at ./src/tests/mod.rs:219:9
5: kryoptic_pkcs11::tests::eddsa::test_create_eddsa_compat::{{closure}}
at ./src/tests/eddsa.rs:588:9
6: core::ops::function::FnOnce::call_once
at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/ops/function.rs:250:5
7: serial_test::serial_code_lock::local_serial_core
at /home/us/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.2.0/src/serial_code_lock.rs:36:5
8: kryoptic_pkcs11::tests::eddsa::test_create_eddsa_compat
at ./src/tests/eddsa.rs:585:1
9: kryoptic_pkcs11::tests::eddsa::test_create_eddsa_compat::{{closure}}
at ./src/tests/eddsa.rs:586:30
10: core::ops::function::FnOnce::call_once
at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/ops/function.rs:250:5
11: core::ops::function::FnOnce::call_once
at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
failures:
tests::aes::test_aes_macs
tests::aes::test_aes_operations
tests::aes_kw_vectors::test_kw_ad_128_vector
tests::aes_kw_vectors::test_kw_ad_192_vector
tests::aes_kw_vectors::test_kw_ad_256_vector
tests::aes_kw_vectors::test_kw_ae_128_vector
tests::aes_kw_vectors::test_kw_ae_192_vector
tests::aes_kw_vectors::test_kw_ae_256_vector
tests::aes_kw_vectors::test_kwp_ad_128_vector
tests::aes_kw_vectors::test_kwp_ad_192_vector
tests::aes_kw_vectors::test_kwp_ad_256_vector
tests::aes_kw_vectors::test_kwp_ae_128_vector
tests::aes_kw_vectors::test_kwp_ae_192_vector
tests::aes_kw_vectors::test_kwp_ae_256_vector
tests::attrs::test_get_attr
tests::attrs::test_set_attr_rsa
tests::combined::test_combined_dgst_enc
tests::combined::test_combined_sign_enc
tests::ec_montgomery::test_create_ec_montgomery_objects
tests::ec_montgomery::test_ec_montgomery_derive_x25519
tests::ec_montgomery::test_ec_montgomery_derive_x448
tests::ec_montgomery::test_ec_motgomery_key
tests::ecc::test_create_ec_objects
tests::ecc::test_ecc_operations
tests::ecdh::test_ecc_derive_nist
tests::ecdh::test_ecc_derive_plain
tests::ecdh::test_ecc_derive_x963
tests::ecdh_vectors::test_ecdh_vector
tests::eddsa::test_create_eddsa_compat
tests::eddsa::test_create_eddsa_objects
tests::eddsa::test_eddsa_operations
tests::eddsa::test_eddsa_vector
tests::hashes::test_hashes_digest
tests::hashes::test_hashes_digest_key
tests::init::test_init_token
tests::init::test_re_init_token_sql
tests::kdf_vectors::test_kdf_ctr_vector
tests::kdf_vectors::test_kdf_feedback_vector
tests::kdfs::test_aes_enc_kdf
tests::kdfs::test_hash_kdf
tests::kdfs::test_hkdf
tests::kdfs::test_pbkdf2
tests::kdfs::test_sp800_kdf
tests::kdfs::test_sshkdf
tests::keys::test_ecc_key
tests::keys::test_eddsa_key
tests::keys::test_rsa_key
tests::keys::test_secret_key
tests::keys::test_secret_key_defaults
tests::login::test_login
tests::login::test_login_close
tests::login::test_login_close_all
tests::mac_vectors::test_cmac_aes_128_vector
tests::mac_vectors::test_cmac_aes_192_vector
tests::mac_vectors::test_cmac_aes_256_vector
tests::mac_vectors::test_hmac_vector
tests::mechs::test_get_mechs
tests::objects::test_copy_objects
tests::objects::test_create_objects
tests::random::test_random
tests::rsa::test_rsa_operations
tests::session::test_operations
tests::session::test_session_objects
tests::signatures::test_ecc_signatures
tests::signatures::test_hmac_signatures
tests::signatures::test_rsa_signatures
tests::tls::test_tls_master_secret_vectors
tests::tls::test_tls_mechanisms
tests::token::test_config_multiple_tokens
tests::token::test_interface_null
tests::token::test_interface_pkcs11
tests::token::test_interface_pkcs11_version240
tests::token::test_interface_pkcs11_version3
tests::token::test_token_datadir
tests::token::test_token_sql
test result: FAILED. 8 passed; 75 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
error: test failed, to rerun pass `--lib`
Compilation exited abnormally with code 101 at Wed Apr 30 10:38:59
If I remove the config file, the test suite passes. I think the test suite should ignore the configuration file.