mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
Fix the tests so that builds that are not --enable-plugin-builddir can register the plugins from the uninstalled gstr...
Original commit message from CVS: Fix the tests so that builds that are not --enable-plugin-builddir can register the plugins from the uninstalled gstreamer directory. There is some small amount of voodoo here. Also, add gst-inspect-check to gstreamer/testsuite, where it probably belongs
This commit is contained in:
parent
b4d1d31ded
commit
d7f4c306cd
12 changed files with 180 additions and 4 deletions
|
@ -1,9 +1,12 @@
|
||||||
# FIXME : refcounting threads bytestream cleanup
|
# FIXME : refcounting threads bytestream cleanup
|
||||||
SUBDIRS = caps plugin elements clock ## dynparams
|
SUBDIRS = . caps plugin elements clock ## dynparams
|
||||||
|
|
||||||
|
GST_PLUGIN_PATH = $(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=`pwd`/test-registry.xml
|
||||||
|
|
||||||
testprogs = test_gst_init
|
testprogs = test_gst_init
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(top_builddir)/tools/gst-register $(testprogs) gst-inspect-check
|
||||||
|
|
||||||
check_PROGRAMS = $(testprogs)
|
check_PROGRAMS = $(testprogs)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
testprogs = intersection compatibility normalisation
|
testprogs = intersection compatibility normalisation
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(testprogs)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
testprogs = clock1
|
testprogs = clock1
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(testprogs)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
testprogs = tee fake name
|
testprogs = tee fake name
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(testprogs)
|
||||||
|
|
73
tests/old/testsuite/gst-inspect-check
Executable file
73
tests/old/testsuite/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 ();
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
# FIXME : tests need fixing
|
# FIXME : tests need fixing
|
||||||
testprogs = static # dynamic linked loading registry static2
|
testprogs = static # dynamic linked loading registry static2
|
||||||
# filterdir = $(libdir)/gst
|
# filterdir = $(libdir)/gst
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
# FIXME : refcounting threads bytestream cleanup
|
# FIXME : refcounting threads bytestream cleanup
|
||||||
SUBDIRS = caps plugin elements clock ## dynparams
|
SUBDIRS = . caps plugin elements clock ## dynparams
|
||||||
|
|
||||||
|
GST_PLUGIN_PATH = $(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=`pwd`/test-registry.xml
|
||||||
|
|
||||||
testprogs = test_gst_init
|
testprogs = test_gst_init
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(top_builddir)/tools/gst-register $(testprogs) gst-inspect-check
|
||||||
|
|
||||||
check_PROGRAMS = $(testprogs)
|
check_PROGRAMS = $(testprogs)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
testprogs = intersection compatibility normalisation
|
testprogs = intersection compatibility normalisation
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(testprogs)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
testprogs = clock1
|
testprogs = clock1
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(testprogs)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
testprogs = tee fake name
|
testprogs = tee fake name
|
||||||
|
|
||||||
TESTS = $(testprogs)
|
TESTS = $(testprogs)
|
||||||
|
|
73
testsuite/gst-inspect-check
Executable file
73
testsuite/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 ();
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
|
||||||
|
TESTS_ENVIRONMENT = GST_PLUGIN_PATH=$(GST_PLUGIN_PATH) GST_REGISTRY=$(GST_PLUGIN_PATH)/testsuite/test-registry.xml
|
||||||
|
|
||||||
# FIXME : tests need fixing
|
# FIXME : tests need fixing
|
||||||
testprogs = static # dynamic linked loading registry static2
|
testprogs = static # dynamic linked loading registry static2
|
||||||
# filterdir = $(libdir)/gst
|
# filterdir = $(libdir)/gst
|
||||||
|
|
Loading…
Reference in a new issue