mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
tests: Speed up the genkey1024.test by using not so strong random.
* agent/gpg-agent.c (oDebugQuickRandom): New. (opts): New option --debug-quick-random. (main): Use new option. * common/asshelp.c (start_new_gpg_agent): Add hack to pass an additional argument for the agent name. * tests/openpgp/defs.inc: Pass --debug-quick-random to the gpg-agent starting parameters. * tests/openpgp/version.test: Ditto. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
982a6e6e55
commit
9546aa3cc8
8 changed files with 72 additions and 17 deletions
|
@ -363,7 +363,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
|
|||
assuan_context_t ctx;
|
||||
int did_success_msg = 0;
|
||||
char *sockname;
|
||||
const char *argv[5];
|
||||
const char *argv[6];
|
||||
|
||||
*r_ctx = NULL;
|
||||
|
||||
|
@ -380,10 +380,31 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
|
|||
{
|
||||
char *abs_homedir;
|
||||
lock_spawn_t lock;
|
||||
char *program = NULL;
|
||||
const char *program_arg = NULL;
|
||||
char *p;
|
||||
const char *s;
|
||||
int i;
|
||||
|
||||
/* With no success start a new server. */
|
||||
if (!agent_program || !*agent_program)
|
||||
agent_program = gnupg_module_name (GNUPG_MODULE_NAME_AGENT);
|
||||
else if ((s=strchr (agent_program, '|')) && s[1] == '-' && s[2]=='-')
|
||||
{
|
||||
/* Hack to insert an additional option on the command line. */
|
||||
program = xtrystrdup (agent_program);
|
||||
if (!program)
|
||||
{
|
||||
gpg_error_t tmperr = gpg_err_make (errsource,
|
||||
gpg_err_code_from_syserror ());
|
||||
xfree (sockname);
|
||||
assuan_release (ctx);
|
||||
return tmperr;
|
||||
}
|
||||
p = strchr (program, '|');
|
||||
*p++ = 0;
|
||||
program_arg = p;
|
||||
}
|
||||
|
||||
if (verbose)
|
||||
log_info (_("no running gpg-agent - starting '%s'\n"),
|
||||
|
@ -404,6 +425,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
|
|||
log_error ("error building filename: %s\n",gpg_strerror (tmperr));
|
||||
xfree (sockname);
|
||||
assuan_release (ctx);
|
||||
xfree (program);
|
||||
return tmperr;
|
||||
}
|
||||
|
||||
|
@ -416,30 +438,32 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
|
|||
xfree (sockname);
|
||||
assuan_release (ctx);
|
||||
xfree (abs_homedir);
|
||||
xfree (program);
|
||||
return tmperr;
|
||||
}
|
||||
|
||||
/* If the agent has been configured for use with a standard
|
||||
socket, an environment variable is not required and thus
|
||||
we we can savely start the agent here. */
|
||||
|
||||
argv[0] = "--homedir";
|
||||
argv[1] = abs_homedir;
|
||||
argv[2] = "--use-standard-socket";
|
||||
argv[3] = "--daemon";
|
||||
argv[4] = NULL;
|
||||
i = 0;
|
||||
argv[i++] = "--homedir";
|
||||
argv[i++] = abs_homedir;
|
||||
argv[i++] = "--use-standard-socket";
|
||||
if (program_arg)
|
||||
argv[i++] = program_arg;
|
||||
argv[i++] = "--daemon";
|
||||
argv[i++] = NULL;
|
||||
|
||||
if (!(err = lock_spawning (&lock, homedir, "agent", verbose))
|
||||
&& assuan_socket_connect (ctx, sockname, 0, 0))
|
||||
{
|
||||
err = gnupg_spawn_process_detached (agent_program, argv,NULL);
|
||||
err = gnupg_spawn_process_detached (program? program : agent_program,
|
||||
argv, NULL);
|
||||
if (err)
|
||||
log_error ("failed to start agent '%s': %s\n",
|
||||
agent_program, gpg_strerror (err));
|
||||
else
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0; i < SECS_TO_WAIT_FOR_AGENT; i++)
|
||||
{
|
||||
if (verbose)
|
||||
|
@ -462,6 +486,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
|
|||
|
||||
unlock_spawning (&lock, "agent");
|
||||
xfree (abs_homedir);
|
||||
xfree (program);
|
||||
}
|
||||
xfree (sockname);
|
||||
if (err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue