Skip to content

gpgsm tests don't pass with gpgsm<=2.4.3 #6467

Open
@dljsjr

Description

@dljsjr

Description

Possibly related to #6241, but I wanted to start off with a new issue since this isn't specific to openSUSE.

But I'm basically seeing the same two tests failing on main on a fresh clone. Specifically:

$ cargo nextest run --workspace --status-level fail --no-fail-fast
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
────────────
 Nextest run ID d016bdd5-79e0-45b6-a00d-98ed8396e98c with nextest profile: default
    Starting 1980 tests across 12 binaries
        FAIL [   0.021s] jj-lib::runner test_gpg::gpgsm_signing_roundtrip_explicit_key
  stdout ───

    running 1 test
    test test_gpg::gpgsm_signing_roundtrip_explicit_key ... FAILED

    failures:

    failures:
        test_gpg::gpgsm_signing_roundtrip_explicit_key

    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 455 filtered out; finished in 0.02s

  stderr ───

    thread 'test_gpg::gpgsm_signing_roundtrip_explicit_key' panicked at lib/tests/test_gpg.rs:362:69:
    called `Result::unwrap()` on an `Err` value: Backend(Command { exit_status: ExitStatus(unix_wait_status(256)), stderr: "gpgsm: WARNING: running with faked system time: 2025-03-20 13:25:10\ngpgsm: can't sign using 'someone@example.com': No public key" })
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

        FAIL [   0.023s] jj-lib::runner test_gpg::gpgsm_signing_roundtrip
  stdout ───

    running 1 test
    test test_gpg::gpgsm_signing_roundtrip ... FAILED

    failures:

    failures:
        test_gpg::gpgsm_signing_roundtrip

    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 455 filtered out; finished in 0.01s

  stderr ───

    thread 'test_gpg::gpgsm_signing_roundtrip' panicked at lib/tests/test_gpg.rs:335:31:
    called `Result::unwrap()` on an `Err` value: Backend(Command { exit_status: ExitStatus(unix_wait_status(256)), stderr: "gpgsm: WARNING: running with faked system time: 2025-03-20 13:25:10\ngpgsm: can't sign using 'someone@example.com': No public key" })
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

────────────
     Summary [  35.945s] 1980 tests run: 1978 passed, 2 failed, 0 skipped
        FAIL [   0.023s] jj-lib::runner test_gpg::gpgsm_signing_roundtrip
        FAIL [   0.021s] jj-lib::runner test_gpg::gpgsm_signing_roundtrip_explicit_key
error: test run failed

gpgsm is installed, the failure more seems oriented around this:

gpgsm: can't sign using 'someone@example.com': No public key"

Steps to Reproduce the Problem

  1. Follow the development environment setup instructions in the Contributing docs: https://jj-vcs.github.io/jj/v0.28.2/contributing/#setting-up-a-development-environment
  2. Invoke nextest using the commands from the docs: cargo nextest run --workspace (I added additional arguments in my repro above to downsample the output)

Expected Behavior

Tests should pass? Maybe not, since this isn't specifically a tagged release commit, but the failure itself (or its resolution) doesn't seem to be documented/tracked anywhere, so it feels like it's unexpected.

Actual Behavior

There are two failing tests.

Specifications

  • Platform:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy
$ uname -a
Linux <host-name> 5.15.0-138-generic #148-Ubuntu SMP Fri Mar 14 19:05:48 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
  • Version:
$ jj log --no-graph -r main@origin -T 'commit_id'
489f693c47ac317c55ee1840ba9bc0878b14374f

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions