summaryrefslogtreecommitdiff
path: root/modules/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl')
-rwxr-xr-xmodules/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl59
1 files changed, 59 insertions, 0 deletions
diff --git a/modules/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl b/modules/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl
new file mode 100755
index 00000000000..57b96125210
--- /dev/null
+++ b/modules/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl
@@ -0,0 +1,59 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$I2X = new PerlACE::Process ("$ENV{'CIAO_ROOT'}/bin/tao_idl3_to_xmi");
+#$VAL = new PerlACE::Process ("/usr/bin/xmlstarlet");
+$VAL = new PerlACE::Process ("xmlvalidator");
+
+my $idl_tests_dir = "$ENV{'TAO_ROOT'}/tests/IDL_Test";
+opendir(DIR, $idl_tests_dir) || die "can't opendir $idl_tests_dir: $!";
+
+my @idls = grep { /\.idl$/ && -f "$idl_tests_dir/$_" } readdir(DIR);
+foreach my $idl_file (@idls) {
+ my $idl = "$idl_tests_dir/$idl_file";
+ my $dtd = "../XMI.dtd";
+ (my $xmi = $idl_file) =~ s/\.idl$/.xmi/;
+ unlink $xmi;
+
+ $I2X->Arguments ("-I$idl_tests_dir -xd $dtd -of $xmi $idl");
+
+ $target_status = $I2X->SpawnWaitKill (30);
+
+ if ($target_status != 0) {
+ print STDERR "ERROR: tao_idl3_to_xmi returned $target_status\n";
+ $status = 1;
+ }
+
+ if (! -f $xmi) {
+ print STDERR "ERROR: tao_idl3_to_xmi didn't produce XMI\n";
+ print "\n";
+ next;
+ }
+
+ #$VAL->Arguments ("val -d $dtd $xmi");
+ $VAL->Arguments ("-i $xmi");
+
+ $target_status = $VAL->SpawnWaitKill (30);
+
+ if ($target_status != 0) {
+ print STDERR "ERROR: xmlvalidator returned $target_status\n";
+ $status = 1;
+ }
+
+ unlink $xmi;
+
+ print "\n";
+}
+
+closedir DIR;
+
+exit $status;