tests: implement --xtrace in complete-run.pl
This commit is contained in:
parent
1b3435807a
commit
077e021e26
|
@ -46,6 +46,7 @@ my @displays = ();
|
||||||
my %options = (
|
my %options = (
|
||||||
valgrind => 0,
|
valgrind => 0,
|
||||||
strace => 0,
|
strace => 0,
|
||||||
|
xtrace => 0,
|
||||||
coverage => 0,
|
coverage => 0,
|
||||||
restart => 0,
|
restart => 0,
|
||||||
);
|
);
|
||||||
|
@ -54,6 +55,7 @@ my $result = GetOptions(
|
||||||
"coverage-testing" => \$options{coverage},
|
"coverage-testing" => \$options{coverage},
|
||||||
"valgrind" => \$options{valgrind},
|
"valgrind" => \$options{valgrind},
|
||||||
"strace" => \$options{strace},
|
"strace" => \$options{strace},
|
||||||
|
"xtrace" => \$options{xtrace},
|
||||||
"display=s" => \@displays,
|
"display=s" => \@displays,
|
||||||
"parallel=i" => \$parallel,
|
"parallel=i" => \$parallel,
|
||||||
"help|?" => \$help,
|
"help|?" => \$help,
|
||||||
|
@ -342,6 +344,11 @@ C<latest/valgrind-for-$test.log>.
|
||||||
Runs i3 under strace to trace system calls. The output will be available in
|
Runs i3 under strace to trace system calls. The output will be available in
|
||||||
C<latest/strace-for-$test.log>.
|
C<latest/strace-for-$test.log>.
|
||||||
|
|
||||||
|
=item B<--xtrace>
|
||||||
|
|
||||||
|
Runs i3 under xtrace to trace X11 requests/replies. The output will be
|
||||||
|
available in C<latest/xtrace-for-$test.log>.
|
||||||
|
|
||||||
=item B<--coverage-testing>
|
=item B<--coverage-testing>
|
||||||
|
|
||||||
Exits i3 cleanly (instead of kill -9) to make coverage testing work properly.
|
Exits i3 cleanly (instead of kill -9) to make coverage testing work properly.
|
||||||
|
|
|
@ -124,6 +124,14 @@ sub activate_i3 {
|
||||||
'sh -c "export LISTEN_PID=\$\$; ' . $cmd . '"';
|
'sh -c "export LISTEN_PID=\$\$; ' . $cmd . '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($args{xtrace}) {
|
||||||
|
my $out = "$outdir/xtrace-for-$test.log";
|
||||||
|
|
||||||
|
# See comment in $args{strace} branch.
|
||||||
|
$cmd = qq|xtrace -n -o "$out" -- | .
|
||||||
|
'sh -c "export LISTEN_PID=\$\$; ' . $cmd . '"';
|
||||||
|
}
|
||||||
|
|
||||||
# We need to use the shell due to using output redirections.
|
# We need to use the shell due to using output redirections.
|
||||||
exec '/bin/sh', '-c', $cmd;
|
exec '/bin/sh', '-c', $cmd;
|
||||||
|
|
||||||
|
|
|
@ -105,12 +105,13 @@ sub worker_wait {
|
||||||
$test->failure_output(\*STDERR);
|
$test->failure_output(\*STDERR);
|
||||||
$test->todo_output(\*STDOUT);
|
$test->todo_output(\*STDOUT);
|
||||||
|
|
||||||
@ENV{qw(DISPLAY TESTNAME OUTDIR VALGRIND STRACE COVERAGE RESTART)}
|
@ENV{qw(DISPLAY TESTNAME OUTDIR VALGRIND STRACE XTRACE COVERAGE RESTART)}
|
||||||
= ($self->{display},
|
= ($self->{display},
|
||||||
basename($file),
|
basename($file),
|
||||||
$outdir,
|
$outdir,
|
||||||
$options->{valgrind},
|
$options->{valgrind},
|
||||||
$options->{strace},
|
$options->{strace},
|
||||||
|
$options->{xtrace},
|
||||||
$options->{coverage},
|
$options->{coverage},
|
||||||
$options->{restart});
|
$options->{restart});
|
||||||
|
|
||||||
|
|
|
@ -547,6 +547,7 @@ sub launch_with_config {
|
||||||
testname => $ENV{TESTNAME},
|
testname => $ENV{TESTNAME},
|
||||||
valgrind => $ENV{VALGRIND},
|
valgrind => $ENV{VALGRIND},
|
||||||
strace => $ENV{STRACE},
|
strace => $ENV{STRACE},
|
||||||
|
xtrace => $ENV{XTRACE},
|
||||||
restart => $ENV{RESTART},
|
restart => $ENV{RESTART},
|
||||||
cv => $cv,
|
cv => $cv,
|
||||||
dont_create_temp_dir => $args{dont_create_temp_dir},
|
dont_create_temp_dir => $args{dont_create_temp_dir},
|
||||||
|
|
Loading…
Reference in New Issue