1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

tests: Restrict the use of gpgconf.ctl to make check.

* common/homedir.c (unix_rootdir): Add ".enable" statement to
gpgconf.ctl
* tests/gpgconf.ctl.in: Use this statement.
* tests/cms/Makefile.am (OLD_TESTS_ENVIRONMENT): Enable .enable.
(TESTS_ENVIRONMENT): Ditto.
* tests/gpgme/Makefile.am (TESTS_ENVIRONMENT): Ditto.
* tests/migrations/Makefile.am (TESTS_ENVIRONMENT): Ditto.
* tests/openpgp/Makefile.am (TESTS_ENVIRONMENT): Ditto.
* tests/pkits/Makefile.am (TESTS_ENVIRONMENT): Ditto.
* tests/tpm2dtests/Makefile.am (TESTS_ENVIRONMENT): Ditto.
--

Without that it was required to delete the gpgconf.ctl to run manual
tests.

What a hack.
This commit is contained in:
Werner Koch 2022-09-14 11:58:35 +02:00
parent e70e09c3d5
commit 50d12860ef
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
8 changed files with 39 additions and 1 deletions

View file

@ -473,6 +473,7 @@ unix_rootdir (int want_sysconfdir)
char *rootdir;
char *sysconfdir;
const char *name;
int ignoreall = 0;
for (;;)
{
@ -590,6 +591,16 @@ unix_rootdir (int want_sysconfdir)
name = "sysconfdir";
p = line + 12;
}
else if (!strncmp (line, ".enable=", 8))
{
name = ".enable";
p = line + 8;
}
else if (!strncmp (line, ".enable =", 9))
{
name = ".enable";
p = line + 9;
}
else
continue;
trim_spaces (p);
@ -600,6 +611,17 @@ unix_rootdir (int want_sysconfdir)
log_info ("error getting %s from gpgconf.ctl: %s\n",
name, gpg_strerror (err));
}
else if (!strcmp (name, ".enable"))
{
if (atoi (p)
|| !ascii_strcasecmp (p, "yes")
|| !ascii_strcasecmp (p, "true")
|| !ascii_strcasecmp (p, "fact"))
; /* Yes, this file shall be used. */
else
ignoreall = 1; /* No, this file shall be ignored. */
xfree (p);
}
else if (!strcmp (name, "sysconfdir"))
{
xfree (sysconfdir);
@ -627,7 +649,13 @@ unix_rootdir (int want_sysconfdir)
xfree (buffer);
xfree (line);
if (!rootdir || !*rootdir || *rootdir != '/')
if (ignoreall)
{
xfree (rootdir);
xfree (sysconfdir);
sdir = dir = NULL;
}
else if (!rootdir || !*rootdir || *rootdir != '/')
{
log_info ("invalid rootdir '%s' specified in gpgconf.ctl\n", rootdir);
xfree (rootdir);