aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2003-11-19 15:15:33 +0000
committerWerner Koch <[email protected]>2003-11-19 15:15:33 +0000
commit82cb03cc834a911ad626435a1236bfb9a9241bb0 (patch)
treee72490c1327cf2c4b5dd52e244dc7a2796201fcc
parent* conversion.c (_gpgme_parse_timestamp): New. (diff)
downloadgpgme-82cb03cc834a911ad626435a1236bfb9a9241bb0.tar.gz
gpgme-82cb03cc834a911ad626435a1236bfb9a9241bb0.zip
* gpg/t-support.h (DIM): Added.
* gpg/t-verify.c (check_result): Rewrote test for notations because the order of notaions is not guaranteed. * gpgsm/t-support.h (fail_if_err): Also print the numeric values.
Diffstat (limited to '')
-rw-r--r--tests/ChangeLog9
-rw-r--r--tests/gpg/t-support.h4
-rw-r--r--tests/gpg/t-verify.c73
-rw-r--r--tests/gpgsm/t-support.h5
-rw-r--r--tests/gpgsm/t-verify.c6
5 files changed, 73 insertions, 24 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 8f6a2d7e..1ca2e37b 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,12 @@
+2003-11-19 Werner Koch <[email protected]>
+
+ * gpg/t-support.h (DIM): Added.
+
+ * gpg/t-verify.c (check_result): Rewrote test for notations
+ because the order of notaions is not guaranteed.
+
+ * gpgsm/t-support.h (fail_if_err): Also print the numeric values.
+
2003-10-06 Marcus Brinkmann <[email protected]>
* gpg/t-eventloop.c: Include <sys/types.h> for old systems.
diff --git a/tests/gpg/t-support.h b/tests/gpg/t-support.h
index 929a5d13..54880557 100644
--- a/tests/gpg/t-support.h
+++ b/tests/gpg/t-support.h
@@ -25,6 +25,10 @@
#include <gpgme.h>
+#ifndef DIM
+#define DIM(v) (sizeof(v)/sizeof((v)[0]))
+#endif
+
#define fail_if_err(err) \
do \
{ \
diff --git a/tests/gpg/t-verify.c b/tests/gpg/t-verify.c
index 83e942f0..0df8991d 100644
--- a/tests/gpg/t-verify.c
+++ b/tests/gpg/t-verify.c
@@ -85,8 +85,9 @@ check_result (gpgme_verify_result_t result, unsigned int summary, char *fpr,
}
if (sig->summary != summary)
{
- fprintf (stderr, "%s:%i: Unexpected signature summary: 0x%x\n",
- __FILE__, __LINE__, sig->summary);
+ fprintf (stderr, "%s:%i: Unexpected signature summary: "
+ "want=0x%x have=0x%x\n",
+ __FILE__, __LINE__, summary, sig->summary);
exit (1);
}
if (strcmp (sig->fpr, fpr))
@@ -103,24 +104,56 @@ check_result (gpgme_verify_result_t result, unsigned int summary, char *fpr,
}
if (notation)
{
- if (!sig->notations
- || strcmp (sig->notations->name, "bar")
- || strcmp (sig->notations->value, "\xc3\xb6\xc3\xa4\xc3\xbc\xc3\x9f"
- " das waren Umlaute und jetzt ein prozent%-Zeichen")
- || !sig->notations->next
- || strcmp (sig->notations->next->name, "foobar.1")
- || strcmp (sig->notations->next->value,
- "this is a notation data with 2 lines")
- || !sig->notations->next->next
- || sig->notations->next->next->name != NULL
- || strcmp (sig->notations->next->next->value,
- "http://www.gu.org/policy/")
- || sig->notations->next->next->next)
- {
- fprintf (stderr, "%s:%i: Unexpected notation data\n",
- __FILE__, __LINE__);
- exit (1);
- }
+ static struct {
+ const char *name;
+ const char *value;
+ int seen;
+ } expected_notations[] = {
+ { "bar",
+ "\xc3\xb6\xc3\xa4\xc3\xbc\xc3\x9f"
+ " das waren Umlaute und jetzt ein prozent%-Zeichen" },
+ { "foobar.1",
+ "this is a notation data with 2 lines" },
+ { NULL,
+ "http://www.gu.org/policy/" }
+ };
+ int i;
+ gpgme_sig_notation_t r;
+
+ for (i=0; i < DIM(expected_notations); i++ )
+ expected_notations[i].seen = 0;
+
+ for (r = sig->notations; r; r = r->next)
+ {
+ int any = 0;
+ for (i=0; i < DIM(expected_notations); i++)
+ {
+ if ( ((r->name && expected_notations[i].name
+ && !strcmp (r->name, expected_notations[i].name))
+ || (!r->name && !expected_notations[i].name))
+ && r->value
+ && !strcmp (r->value, expected_notations[i].value))
+ {
+ expected_notations[i].seen++;
+ any++;
+ }
+ }
+ if (!any)
+ {
+ fprintf (stderr, "%s:%i: Unexpected notation data\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+ }
+ for (i=0; i < DIM(expected_notations); i++ )
+ {
+ if (expected_notations[i].seen != 1)
+ {
+ fprintf (stderr, "%s:%i: Missing or duplicate notation data\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+ }
}
if (sig->wrong_key_usage)
{
diff --git a/tests/gpgsm/t-support.h b/tests/gpgsm/t-support.h
index 3199b056..32a7b19e 100644
--- a/tests/gpgsm/t-support.h
+++ b/tests/gpgsm/t-support.h
@@ -30,9 +30,10 @@
{ \
if (err) \
{ \
- fprintf (stderr, "%s:%d: %s: %s\n", \
+ fprintf (stderr, "%s:%d: %s: %s (%d.%d)\n", \
__FILE__, __LINE__, gpg_strsource (err), \
- gpg_strerror (err)); \
+ gpg_strerror (err), \
+ gpg_err_source (err), gpg_err_code (err)); \
exit (1); \
} \
} \
diff --git a/tests/gpgsm/t-verify.c b/tests/gpgsm/t-verify.c
index 304fc2c6..6fb32a94 100644
--- a/tests/gpgsm/t-verify.c
+++ b/tests/gpgsm/t-verify.c
@@ -57,8 +57,9 @@ check_result (gpgme_verify_result_t result, int summary, char *fpr,
}
if (sig->summary != summary)
{
- fprintf (stderr, "%s:%i: Unexpected signature summary: 0x%x\n",
- __FILE__, __LINE__, sig->summary);
+ fprintf (stderr, "%s:%i: Unexpected signature summary: "
+ "want=0x%x have=0x%x\n",
+ __FILE__, __LINE__, summary, sig->summary);
exit (1);
}
if (strcmp (sig->fpr, fpr))
@@ -119,6 +120,7 @@ main (int argc, char **argv)
fail_if_err (err);
err = gpgme_data_new_from_mem (&sig, test_sig1, strlen (test_sig1), 0);
fail_if_err (err);
+
err = gpgme_op_verify (ctx, sig, text, NULL);
fail_if_err (err);
result = gpgme_op_verify_result (ctx);