You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by bl...@apache.org on 2004/02/01 00:17:09 UTC

cvs commit: xml-security/c/src basicTests.pl

blautenb    2004/01/31 15:17:09

  Modified:    c/src    basicTests.pl
  Log:
  Added flags to indicate what components are required for each test
  
  Revision  Changes    Path
  1.5       +142 -107  xml-security/c/src/basicTests.pl
  
  Index: basicTests.pl
  ===================================================================
  RCS file: /home/cvs/xml-security/c/src/basicTests.pl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- basicTests.pl	26 Jan 2004 01:39:35 -0000	1.4
  +++ basicTests.pl	31 Jan 2004 23:17:09 -0000	1.5
  @@ -73,8 +73,11 @@
   
   my $dsig_failure_count = 0;
   my $dsig_pass_count = 0;
  +my $dsig_skipped_count = 0;
  +
   my $xenc_failure_count = 0;
   my $xenc_pass_count = 0;
  +my $xenc_skipped_count = 0;
   
   my $failure_count = 0;
   my $pass_count = 0;
  @@ -106,6 +109,14 @@
   
   my $dsig_file = 0;
   my $dsig_args = 1;
  +# Does this test require Xalan (y/n)
  +my $dsig_flag_xalan = 2;
  +# Does this test require pothole.com (y/n)
  +my $dsig_flag_pothole = 3;
  +
  +# What components do we have available?
  +my $have_pothole = 1;
  +my $have_xalan = 1;
   
   # What kind of test results should we expect?
   # Without xalan, 13 tests will fail
  @@ -114,47 +125,47 @@
   
   my @dsig_array=(
   
  -"at/iaik/ixsil/coreFeatures/signatures/anonymousReferenceSignature.xml,-a",
  -"at/iaik/ixsil/coreFeatures/signatures/manifestSignature.xml,",
  +"at/iaik/ixsil/coreFeatures/signatures/anonymousReferenceSignature.xml,-a,n,n",
  +"at/iaik/ixsil/coreFeatures/signatures/manifestSignature.xml,,n,n",
   
   # will fail if no network
   
  -"at/iaik/ixsil/coreFeatures/signatures/signatureTypesSignature.xml,",
  -"at/iaik/ixsil/signatureAlgorithms/signatures/dSASignature.xml,",
  -"at/iaik/ixsil/signatureAlgorithms/signatures/hMACShortSignature.xml,-h secret",
  -"at/iaik/ixsil/signatureAlgorithms/signatures/hMACSignature.xml,-h secret",
  -"at/iaik/ixsil/signatureAlgorithms/signatures/rSASignature.xml,",
  -
  -"at/iaik/ixsil/transforms/signatures/base64DecodeSignature.xml,",
  -"at/iaik/ixsil/transforms/signatures/c14nSignature.xml,",
  -"at/iaik/ixsil/transforms/signatures/envelopedSignatureSignature.xml,",
  -"at/iaik/ixsil/transforms/signatures/xPathSignature.xml,",
  +"at/iaik/ixsil/coreFeatures/signatures/signatureTypesSignature.xml,,y,n",
  +"at/iaik/ixsil/signatureAlgorithms/signatures/dSASignature.xml,,n,n",
  +"at/iaik/ixsil/signatureAlgorithms/signatures/hMACShortSignature.xml,-h secret,n,n",
  +"at/iaik/ixsil/signatureAlgorithms/signatures/hMACSignature.xml,-h secret,n,n",
  +"at/iaik/ixsil/signatureAlgorithms/signatures/rSASignature.xml,,n,n",
  +
  +"at/iaik/ixsil/transforms/signatures/base64DecodeSignature.xml,,n,n",
  +"at/iaik/ixsil/transforms/signatures/c14nSignature.xml,,n,n",
  +"at/iaik/ixsil/transforms/signatures/envelopedSignatureSignature.xml,,n,n",
  +"at/iaik/ixsil/transforms/signatures/xPathSignature.xml,,y,n",
   
   
   
  -"com/rsasecurity/bdournaee/certj201_enveloped.xml,",
  -"com/rsasecurity/bdournaee/certj201_enveloping.xml,",
  -"ie/baltimore/merlin-examples/ec-merlin-iaikTests-two/signature.xml,",
  -"ie/baltimore/merlin-examples/merlin-exc-c14n-one/exc-signature.xml,",
  -
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-keyname.xml,-i",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-retrievalmethod-rawx509crt.xml,-i",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-crt-crl.xml,-i",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-crt.xml,",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-is.xml,-i",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-ski.xml,-i",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-sn.xml,-i",
  +"com/rsasecurity/bdournaee/certj201_enveloped.xml,,n,n",
  +"com/rsasecurity/bdournaee/certj201_enveloping.xml,,n,n",
  +"ie/baltimore/merlin-examples/ec-merlin-iaikTests-two/signature.xml,,y,n",
  +"ie/baltimore/merlin-examples/merlin-exc-c14n-one/exc-signature.xml,,n,n",
  +
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-keyname.xml,-i,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-retrievalmethod-rawx509crt.xml,-i,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-crt-crl.xml,-i,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-crt.xml,,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-is.xml,-i,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-ski.xml,-i,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-eighteen/signature-x509-sn.xml,-i,n,n",
   
   
   
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloped-dsa.xml,",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-b64-dsa.xml,",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-dsa.xml,",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-hmac-sha1-40.xml,-h secret",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-hmac-sha1.xml,-h secret",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-rsa.xml,",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-external-b64-dsa.xml,",
  -"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-external-dsa.xml,",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloped-dsa.xml,,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-b64-dsa.xml,,y,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-dsa.xml,,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-hmac-sha1-40.xml,-h secret,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-hmac-sha1.xml,-h secret,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-enveloping-rsa.xml,,n,n",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-external-b64-dsa.xml,,n,y",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-fifteen/signature-external-dsa.xml,,n,n",
   
   # These two are removed, as this is a pre-release syntax that the library
   # does not understand
  @@ -162,21 +173,21 @@
   # testSig $data_dir/ie/baltimore/merlin-examples/merlin-xmldsig-filter2-one/sign-xfdl.xml
   # testSig $data_dir/ie/baltimore/merlin-examples/merlin-xmldsig-filter2-one/signature.xml
   
  -"ie/baltimore/merlin-examples/merlin-xmldsig-sixteen/signature.xml,",
  -"interop/c14n/Y1/exc-signature.xml,",
  +"ie/baltimore/merlin-examples/merlin-xmldsig-sixteen/signature.xml,,y,y",
  +"interop/c14n/Y1/exc-signature.xml,,n,n",
   
   # MD5 now implemented
   
  -"interop/c14n/Y2/signature-joseph-exc.xml,",
  -"interop/c14n/Y3/signature.xml,",
  -"interop/c14n/Y4/signature.xml,",
  -"interop/c14n/Y5/signature.xml,",
  -"interop/c14n/Y5/signatureCommented.xml,",
  +"interop/c14n/Y2/signature-joseph-exc.xml,,y,n",
  +"interop/c14n/Y3/signature.xml,,y,n",
  +"interop/c14n/Y4/signature.xml,,y,n",
  +"interop/c14n/Y5/signature.xml,,y,n",
  +"interop/c14n/Y5/signatureCommented.xml,,y,n",
   
   # XPath Filter
   
  -"interop/xfilter2/merlin-xpath-filter2-three/sign-spec.xml,",
  -"interop/xfilter2/merlin-xpath-filter2-three/sign-xfdl.xml,",
  +"interop/xfilter2/merlin-xpath-filter2-three/sign-spec.xml,,y,n",
  +"interop/xfilter2/merlin-xpath-filter2-three/sign-xfdl.xml,,y,n",
   
   );
   
  @@ -185,28 +196,29 @@
   my $xenc_result = 0;
   my $xenc_file = 1;
   my $xenc_args = 2;
  +my $xenc_flag_xalan = 3;
   
   my @xenc_array=(
   #bad-encrypt-content-aes128-cbc-kw-aes192.xml
   #decryption-transform-except.xml
   #decryption-transform.xml
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-content-aes128-cbc-kw-aes192.xml,-i -de",
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-content-aes256-cbc-prop.xml,-i -de",
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-content-tripledes-cbc.xml,-i -de",
  -
  -"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-aes128-cbc.xml,-i",
  -"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-aes192-cbc-kw-aes256.xml,-i",
  -"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-aes256-cbc-kw-tripledes.xml,-i",
  -"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-tripledes-cbc-rsa-oaep-mgf1p.xml,-i",
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes128-cbc-rsa-1_5.xml,-i -de",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-content-aes128-cbc-kw-aes192.xml,-i -de,n",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-content-aes256-cbc-prop.xml,-i -de,n",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-content-tripledes-cbc.xml,-i -de,n",
  +
  +"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-aes128-cbc.xml,-i,n",
  +"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-aes192-cbc-kw-aes256.xml,-i,n",
  +"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-aes256-cbc-kw-tripledes.xml,-i,n",
  +"top secret message,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-data-tripledes-cbc-rsa-oaep-mgf1p.xml,-i,n",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes128-cbc-rsa-1_5.xml,-i -de,n",
   
   # CipherRef now supported
   
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes192-cbc-ref.xml,-i -de",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes192-cbc-ref.xml,-i -de,y",
   
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes256-cbc-carried-kw-aes256.xml,-i -de",
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes256-cbc-retrieved-kw-aes256.xml,-i -de",
  -"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-tripledes-cbc-kw-aes128.xml,-i -de",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes256-cbc-carried-kw-aes256.xml,-i -de,n",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-aes256-cbc-retrieved-kw-aes256.xml,-i -de,n",
  +"<Number>1234 567890 12345</Number>,ie/baltimore/merlin-examples/merlin-xmlenc-five/encrypt-element-tripledes-cbc-kw-aes128.xml,-i -de,n",
   
   # Unsupported Key-wraps
   #encrypt-content-aes192-cbc-dh-sha512.xml
  @@ -236,36 +248,36 @@
   # PHAOS interop tests.  Commented out tests are currently
   # not supported
   # bad-alg-enc-element-aes128-kw-3des.xml
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-3des-kw-aes192.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-aes128-kw-3des.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-aes192-kw-aes256.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-aes256-kt-rsa1_5.xml,-i -de",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-3des-kw-aes192.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-aes128-kw-3des.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-aes192-kw-aes256.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-content-aes256-kt-rsa1_5.xml,-i -de,n",
   # enc-element-3des-ka-dh.xml
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-3des-kt-rsa1_5.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-3des-kt-rsa_oaep_sha1.xml,-i -de",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-3des-kt-rsa1_5.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-3des-kt-rsa_oaep_sha1.xml,-i -de,n",
   # enc-element-3des-kt-rsa_oaep_sha256.xml
   # enc-element-3des-kt-rsa_oaep_sha512.xml
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-3des-kw-3des.xml,-i -de",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-3des-kw-3des.xml,-i -de,n",
   # enc-element-aes128-ka-dh.xml
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kt-rsa1_5.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kt-rsa_oaep_sha1.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kw-aes128.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kw-aes256.xml,-i -de",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kt-rsa1_5.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kt-rsa_oaep_sha1.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kw-aes128.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes128-kw-aes256.xml,-i -de,n",
   # enc-element-aes192-ka-dh.xml
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes192-kt-rsa_oaep_sha1.xml,-i -de",
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes192-kw-aes192.xml,-i -de",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes192-kt-rsa_oaep_sha1.xml,-i -de,n",
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes192-kw-aes192.xml,-i -de,n",
   # enc-element-aes256-ka-dh.xml
  -"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes256-kw-aes256.xml,-i -de",
  -"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-3des-kw-aes256.xml,-i",
  -"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-aes128-kw-aes192.xml,-i",
  -"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-aes192-kt-rsa1_5.xml,-i",
  -"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-aes256-kt-rsa_oaep_sha1.xml,-i"
  +"<Number>4019 2445 0277 5567</Number>,com/phaos/phaos-xmlenc-3/enc-element-aes256-kw-aes256.xml,-i -de,n",
  +"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-3des-kw-aes256.xml,-i,n",
  +"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-aes128-kw-aes192.xml,-i,n",
  +"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-aes192-kt-rsa1_5.xml,-i,n",
  +"4019 2445 0277 5567,com/phaos/phaos-xmlenc-3/enc-text-aes256-kt-rsa_oaep_sha1.xml,-i,n"
   
   );
   
   sub print_args {
   
  -  print STDERR "\nUsage: basicTests.pl [--noxalan]\n\n";
  +  print STDERR "\nUsage: basicTests.pl [--noxalan] [--nopothole]\n\n";
     exit(1);
   
   }
  @@ -275,7 +287,8 @@
   foreach (@ARGV) {
   
    SWITCH: {
  -    if (/^--noxalan$/ || /^-x$/) {$expected_failures += $no_xalan_failures; last SWITCH;}
  +    if (/^--noxalan$/ || /^-x$/) {$have_xalan = 0; last SWITCH;}
  +    if (/^--nopothole$/ || /^-x$/) {$have_pothole = 0; last SWITCH;}
       print STDERR "Unknown command : " . $_ . "\n\n";
       print_args();
     }
  @@ -294,28 +307,39 @@
     my @fields = split(/\,/, $_);
     my $file_name = $fields[$dsig_file];
     my $args = $fields[$dsig_args];
  +  my $xalan_flag = $fields[$dsig_flag_xalan];
  +  my $pothole_flag = $fields[$dsig_flag_pothole];
   
  -  my $result = `$checksig $checksig_args $args $data_dir/$file_name`;
  +  if ((($xalan_flag eq "n") | $have_xalan) & (($pothole_flag eq 'n') || $have_pothole)) {
  +
  +	my $result = `$checksig $checksig_args $args $data_dir/$file_name`;
  +
  +	if ($? == 0) {
  +	  print "$file_name OK\n";
  +	  $dsig_pass_count++;
  +	}
  +	else {
  +	  print "\nFAILURE\n";
  +	  print "---------\n";
  +	  print "\n$file_name failed.  \n\nMessage was \n\n$result\n\n";
  +	  print "---------\n\n";
  +	  $dsig_failure_count++;
  +	}
  +  } else {
  +
  +	print "$file_name SKIPPED\n";
  +	$dsig_skipped_count++;
   
  -  if ($? == 0) {
  -	print "$file_name OK\n";
  -	$dsig_pass_count++;
  -  }
  -  else {
  -	print "\nFAILURE\n";
  -	print "---------\n";
  -	print "\n$file_name failed.  \n\nMessage was \n\n$result\n\n";
  -	print "---------\n\n";
  -	$dsig_failure_count++;
     }
   
   };
   
   print "\n\n";
   print "DSIG Tests complete\n\n";
  -print "Total Tests   = $total_dsig_count\n";
  -print "Number Passed = $dsig_pass_count\n";
  -print "Number Failed = $dsig_failure_count\n\n";
  +print "Total Tests    = $total_dsig_count\n";
  +print "Number Passed  = $dsig_pass_count\n";
  +print "Number Skipped = $dsig_skipped_count\n";
  +print "Number Failed  = $dsig_failure_count\n\n";
   print "-------------------------------------------\n\n";
   
   # Now run the encryption tests
  @@ -332,39 +356,50 @@
     my $expected_result = $fields[$xenc_result];
     my $file_name = $fields[$xenc_file];
     my $args = $fields[$xenc_args];
  +  my $xalan_flag = $fields[$xenc_flag_xalan];
   
  -  my $result = `$cipher $args $data_dir/$file_name`;
  +  if (($xalan_flag eq "n") | $have_xalan) {
   
  -  if ($? == 0 && $result =~ /$expected_result/) {
  -	print "$file_name OK\n";
  -	$xenc_pass_count++;
  -  }
  -  else {
  -	print "\nFAILURE\n";
  -	print "---------\n";
  -	print "\n$file_name failed.  \n\nOutput was \n\n$result\n\n";
  -	print "---------\n\n";
  -	$xenc_failure_count++;
  -  }
  +	my $result = `$cipher $args $data_dir/$file_name`;
  +
  +	if ($? == 0 && $result =~ /$expected_result/) {
  +	  print "$file_name OK\n";
  +	  $xenc_pass_count++;
  +	}
  +	else {
  +	  print "\nFAILURE\n";
  +	  print "---------\n";
  +	  print "\n$file_name failed.  \n\nOutput was \n\n$result\n\n";
  +	  print "---------\n\n";
  +	  $xenc_failure_count++;
  +	}
  +  } else {
  +
  +	print "$file_name SKIPPED\n";
  +	$xenc_skipped_count++;
  +  }	
   
   };
   
   print "\n\n";
   print "XENC Tests complete\n\n";
  -print "Total Tests   = $total_xenc_count\n";
  -print "Number Passed = $xenc_pass_count\n";
  -print "Number Failed = $xenc_failure_count\n\n";
  +print "Total Tests    = $total_xenc_count\n";
  +print "Number Passed  = $xenc_pass_count\n";
  +print "Number Skipped = $xenc_skipped_count\n";
  +print "Number Failed  = $xenc_failure_count\n\n";
   
   my $total_count = $total_dsig_count + $total_xenc_count;
   my $total_passed = $dsig_pass_count + $xenc_pass_count;
   my $total_failed = $dsig_failure_count + $xenc_failure_count;
  +my $total_skipped = $dsig_skipped_count + $xenc_skipped_count;
   
   print "All tests complete.\n\n";
  -print "Total Tests  = $total_count\n";
  -print "Total Passed = $total_passed\n";
  -print "Total Failed = $total_failed\n\n";
  +print "Total Tests   = $total_count\n";
  +print "Total Passed  = $total_passed\n";
  +print "Total Skipped = $total_skipped\n";
  +print "Total Failed  = $total_failed\n\n";
   
   # Now calculate error code
  -exit ($total_failed - $expected_failures);
  +exit ($total_failed);