mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 09:40:37 +00:00
3f812f873f
Original commit message from CVS: * testsuite/elements/Makefile.am: * testsuite/elements/gst-compprep-check: add check to make sure gst-compprep works * testsuite/elements/gst-inspect-check.in: improve initialization output * testsuite/gst-inspect-check: remove old file
90 lines
1.7 KiB
Perl
Executable file
90 lines
1.7 KiB
Perl
Executable file
#!/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;
|
|
|
|
print " _______\n";
|
|
print " (__) / \\\n";
|
|
print " (oo) ( M O O )\n";
|
|
print " /-------\\/ --'\\_______/\n";
|
|
print " / | ||\n";
|
|
print "* ||----||\n";
|
|
print " ^^ ^^\n";
|
|
|
|
my $num_warnings = 0;
|
|
my $path = `dirname $0`;
|
|
chomp $path;
|
|
$path = "../../tools";
|
|
|
|
$gst_inspect = "$path/gst-inspect-@GST_MAJORMINOR@";
|
|
|
|
sub check_all_elements
|
|
{
|
|
#send stderr to /dev/null
|
|
my $command = "$gst_inspect 2>/dev/null";
|
|
my @lines = `$command`;
|
|
|
|
if (!@lines) {
|
|
print ("gst-inspect returned nothing\n");
|
|
return -1;
|
|
}
|
|
while ($_ = shift(@lines)){
|
|
my @matches = m/^\w+:\s+(\w+):/;
|
|
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 ();
|
|
|