Skip to content

Tests use .config/kryoptic/token.conf but shouldn't #226

Open
@nwalfield

Description

@nwalfield

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions