mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 06:26:23 +00:00
this script runs gst-inspect on all built elements and checks for warnings or bad exit codes.
Original commit message from CVS: this script runs gst-inspect on all built elements and checks for warnings or bad exit codes. It requires a gst-inspect to be in your PATH. more checking is probably needed for valid gst-inspect output. The output format of gst-inspect will be changed slightly to make parsing the output possible.
This commit is contained in:
parent
7b694d63f8
commit
6c10726435
1 changed files with 73 additions and 0 deletions
73
tools/gst-inspect-check
Executable file
73
tools/gst-inspect-check
Executable file
|
@ -0,0 +1,73 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
# checks all built plugins by running gst-inspect on each element
|
||||
# and checking for warnings on stderr
|
||||
|
||||
### packages
|
||||
|
||||
use File::Basename;
|
||||
|
||||
my $num_warnings = 0;
|
||||
|
||||
sub check_all_elements
|
||||
{
|
||||
#send stderr to /dev/null
|
||||
my $command = "gst-inspect 2>/dev/null";
|
||||
my @lines = `$command`;
|
||||
|
||||
while ($_ = shift(@lines)){
|
||||
my @matches = m/^\w+\s+element:\s+(\w+):/g;
|
||||
if(@matches){
|
||||
check_element($matches[0]);
|
||||
}
|
||||
}
|
||||
if ($num_warnings > 0){
|
||||
print("there are $num_warnings warnings to be fixed\n");
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub check_element($)
|
||||
{
|
||||
my ($element) = @_;
|
||||
print "running inspect on $element\n";
|
||||
|
||||
# capture stderr, send stdout to /dev/null
|
||||
my $command = "gst-inspect $element 2>&1 1>/dev/null";
|
||||
|
||||
my @lines = `$command`;
|
||||
|
||||
while ($_ = shift(@lines)){
|
||||
# ignore INFO lines, they are ok
|
||||
if (! /INFO/){
|
||||
print $_;
|
||||
|
||||
# do this to ignore empty lines
|
||||
if (length > 1){
|
||||
$num_warnings++;
|
||||
}
|
||||
}
|
||||
}
|
||||
system("gst-inspect $element 2>/dev/null 1>/dev/null");
|
||||
if ($? != 0){
|
||||
my $exit_value = $? >> 8;
|
||||
my $signal_num = $? & 127;
|
||||
my $dumped_core = $? & 128;
|
||||
if ($exit_value){
|
||||
print("error value on exit: $exit_value\n");
|
||||
}
|
||||
if ($signal_num){
|
||||
print("signal caused exit: $signal_num\n");
|
||||
}
|
||||
if ($dumped_core){
|
||||
print("dumped core: $dumped_core\n");
|
||||
}
|
||||
$num_warnings++
|
||||
}
|
||||
}
|
||||
|
||||
### main
|
||||
|
||||
exit check_all_elements ();
|
||||
|
Loading…
Reference in a new issue