Skip to content

Commit

Permalink
test-gpg-verify-result: Show what the result was before asserting abo…
Browse files Browse the repository at this point in the history
…ut it

Helps: ostreedev#3386
Signed-off-by: Simon McVittie <smcv@debian.org>
  • Loading branch information
smcv committed Feb 26, 2025
1 parent 364e22f commit 3bdcf24
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions tests/test-gpg-verify-result.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ test_attribute_basics (TestFixture *fixture, gconstpointer user_data)
gboolean key_missing;

tuple = ostree_gpg_verify_result_get_all (fixture->result, ii);
g_autofree gchar *pretty = g_variant_print (tuple, TRUE);
g_test_message ("Signature #%u: %s", ii, pretty);

type_string = g_variant_get_type_string (tuple);
g_assert_cmpstr (type_string, ==, "(bbbbbsxxsssssxx)");
Expand Down Expand Up @@ -257,6 +259,12 @@ test_valid_signature (TestFixture *fixture, gconstpointer user_data)
g_variant_get (tuple, "(bbbbbx)", &valid, &sig_expired, &key_expired, &key_revoked, &key_missing,
&key_exp_timestamp);

g_test_message ("Verify result (should be valid): "
"valid=%c sig_expired=%c key_expired=%c key_revoked=%c "
"key_missing=%c key_exp_timestamp=%" G_GINT64_FORMAT,
valid ? 'y' : 'n', sig_expired ? 'y' : 'n', key_expired ? 'y' : 'n',
key_revoked ? 'y' : 'n', key_missing ? 'y' : 'n', key_exp_timestamp);

g_assert_true (valid);
g_assert_false (sig_expired);
g_assert_false (key_expired);
Expand All @@ -283,6 +291,12 @@ test_expired_key (TestFixture *fixture, gconstpointer user_data)
g_variant_get (tuple, "(bbbbbx)", &valid, &sig_expired, &key_expired, &key_revoked, &key_missing,
&key_exp_timestamp);

g_test_message ("Verify result (should be expired): "
"valid=%c sig_expired=%c key_expired=%c key_revoked=%c "
"key_missing=%c key_exp_timestamp=%" G_GINT64_FORMAT,
valid ? 'y' : 'n', sig_expired ? 'y' : 'n', key_expired ? 'y' : 'n',
key_revoked ? 'y' : 'n', key_missing ? 'y' : 'n', key_exp_timestamp);

g_assert_false (valid);
g_assert_false (sig_expired);
g_assert_true (key_expired);
Expand All @@ -309,6 +323,12 @@ test_revoked_key (TestFixture *fixture, gconstpointer user_data)
g_variant_get (tuple, "(bbbbbx)", &valid, &sig_expired, &key_expired, &key_revoked, &key_missing,
&key_exp_timestamp);

g_test_message ("Verify result (should be revoked): "
"valid=%c sig_expired=%c key_expired=%c key_revoked=%c "
"key_missing=%c key_exp_timestamp=%" G_GINT64_FORMAT,
valid ? 'y' : 'n', sig_expired ? 'y' : 'n', key_expired ? 'y' : 'n',
key_revoked ? 'y' : 'n', key_missing ? 'y' : 'n', key_exp_timestamp);

g_assert_false (valid);
g_assert_false (sig_expired);
g_assert_false (key_expired);
Expand All @@ -335,6 +355,12 @@ test_missing_key (TestFixture *fixture, gconstpointer user_data)
g_variant_get (tuple, "(bbbbbx)", &valid, &sig_expired, &key_expired, &key_revoked, &key_missing,
&key_exp_timestamp);

g_test_message ("Verify result (should be missing): "
"valid=%c sig_expired=%c key_expired=%c key_revoked=%c "
"key_missing=%c key_exp_timestamp=%" G_GINT64_FORMAT,
valid ? 'y' : 'n', sig_expired ? 'y' : 'n', key_expired ? 'y' : 'n',
key_revoked ? 'y' : 'n', key_missing ? 'y' : 'n', key_exp_timestamp);

g_assert_false (valid);
g_assert_false (sig_expired);
g_assert_false (key_expired);
Expand All @@ -361,6 +387,12 @@ test_expired_signature (TestFixture *fixture, gconstpointer user_data)
g_variant_get (tuple, "(bbbbbx)", &valid, &sig_expired, &key_expired, &key_revoked, &key_missing,
&key_exp_timestamp);

g_test_message ("Verify result (should be expired sig): "
"valid=%c sig_expired=%c key_expired=%c key_revoked=%c "
"key_missing=%c key_exp_timestamp=%" G_GINT64_FORMAT,
valid ? 'y' : 'n', sig_expired ? 'y' : 'n', key_expired ? 'y' : 'n',
key_revoked ? 'y' : 'n', key_missing ? 'y' : 'n', key_exp_timestamp);

g_assert_false (valid);
g_assert_true (sig_expired);
g_assert_false (key_expired);
Expand All @@ -384,6 +416,8 @@ test_require_valid_signature_expired_key (TestFixture *fixture, gconstpointer us
GError *error = NULL;
gboolean res = ostree_gpg_verify_result_require_valid_signature (fixture->result, &error);
g_assert_false (res);
g_test_message ("Expected expired key, got: %s %d %s", g_quark_to_string (error->domain),
error->code, error->message);
g_assert_error (error, OSTREE_GPG_ERROR, OSTREE_GPG_ERROR_EXPIRED_KEY);
assert_str_contains (error->message, "Key expired");
}
Expand All @@ -394,6 +428,8 @@ test_require_valid_signature_revoked_key (TestFixture *fixture, gconstpointer us
GError *error = NULL;
gboolean res = ostree_gpg_verify_result_require_valid_signature (fixture->result, &error);
g_assert_false (res);
g_test_message ("Expected revoked key, got: %s %d %s", g_quark_to_string (error->domain),
error->code, error->message);
g_assert_error (error, OSTREE_GPG_ERROR, OSTREE_GPG_ERROR_REVOKED_KEY);
assert_str_contains (error->message, "Key revoked");
}
Expand Down Expand Up @@ -424,6 +460,8 @@ test_require_valid_signature_expired_missing_key (TestFixture *fixture, gconstpo
GError *error = NULL;
gboolean res = ostree_gpg_verify_result_require_valid_signature (fixture->result, &error);
g_assert_false (res);
g_test_message ("Expected expired and missing key, got: %s %d %s",
g_quark_to_string (error->domain), error->code, error->message);

/*
* The error will be for the last signature, which is for a missing key, but
Expand Down

0 comments on commit 3bdcf24

Please sign in to comment.