changeset 23405:32ec90068be5

use %!testif runtime tests to properly skip java tests * ov-class.cc, ov-java.cc, ov-typeinfo.cc, fieldnames.m, methods.m, javachk.m, usejava.m: Use runtime test in %!testif line to skip if JVM is not available instead of checking inside the test itself. This way the test will be properly reported as skipped instead of passed.
author John W. Eaton <jwe@octave.org>
date Mon, 17 Apr 2017 17:44:56 -0400
parents 314ac710f2ae
children aab07d7e98be
files libinterp/octave-value/ov-class.cc libinterp/octave-value/ov-java.cc libinterp/octave-value/ov-typeinfo.cc scripts/general/fieldnames.m scripts/general/methods.m scripts/java/javachk.m scripts/java/usejava.m
diffstat 7 files changed, 16 insertions(+), 64 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-class.cc	Mon Apr 17 21:28:55 2017 +0200
+++ b/libinterp/octave-value/ov-class.cc	Mon Apr 17 17:44:56 2017 -0400
@@ -1740,10 +1740,7 @@
 %!assert (class (1.1), "double")
 %!assert (class (single (1.1)), "single")
 %!assert (class (uint8 (1)), "uint8")
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! jobj = javaObject ("java.lang.StringBuffer");
 %! assert (class (jobj), "java.lang.StringBuffer");
 
@@ -1846,10 +1843,7 @@
 %!assert (isa ({1, 2}, "cell"))
 %!assert (isa ({1, 2}, {"numeric", "integer", "cell"}), [false false true])
 
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! ## The first and last assert() are equal on purpose.  The assert() in
 %! ## the middle with an invalid class name will cause the java code to
 %! ## throw exceptions which we then must clear properly (or all other calls
--- a/libinterp/octave-value/ov-java.cc	Mon Apr 17 21:28:55 2017 +0200
+++ b/libinterp/octave-value/ov-java.cc	Mon Apr 17 17:44:56 2017 -0400
@@ -2867,10 +2867,7 @@
 ## it works properly, i.e., creates the right values, is a matter of
 ## Java itself.  Create a Short and check if it really is a short, i.e.,
 ## whether it overflows.
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! assert (javaObject ("java.lang.Short", 40000).doubleValue < 0);
 */
 
@@ -2942,10 +2939,7 @@
 }
 
 /*
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! ## Check for valid first two Java version numbers
 %! jver = strsplit (javaMethod ("getProperty", "java.lang.System", "java.version"), ".");
 %! assert (isfinite (str2double (jver{1})) && isfinite (str2double (jver{2})));
@@ -3215,19 +3209,13 @@
 
 /*
 ## Check automatic conversion of java primitive arrays into octave types.
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! assert (javaObject ("java.lang.String", "hello").getBytes (),
 %!         int8 ([104 101 108 108 111]'));
 
 ## Check automatic conversion of octave types into java primitive arrays.
 ## Note that uint8 is casted to int8.
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", [90 100 255], 255), 2);
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", uint8 ([90 100 255]), uint8 (255)) < 0);
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", uint8 ([90 100 128]), uint8 (128)) < 0);
@@ -3235,10 +3223,7 @@
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", uint16 ([90 100 128]), uint16 (128)), 2);
 
 ## Check we can create objects that wrap java literals
-%!testif HAVE_JAVA <38821>
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm") <38821>
 %! assert (class (javaObject ("java.lang.Byte",     uint8 (1))), "java.lang.Byte");
 %! assert (class (javaObject ("java.lang.Byte",      int8 (1))), "java.lang.Byte");
 %! assert (class (javaObject ("java.lang.Short",   uint16 (1))), "java.lang.Short");
@@ -3249,10 +3234,7 @@
 %! assert (class (javaObject ("java.lang.Long",     int64 (1))), "java.lang.Long");
 
 ## Test for automatic conversion of specific numeric classes
-%!testif HAVE_JAVA <48013>
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm") <48013>
 %! assert (javaMethod ("valueOf", "java.lang.Byte",     int8 (1)), 1)
 %! assert (javaMethod ("valueOf", "java.lang.Short",   int16 (1)), 1)
 %! assert (javaMethod ("valueOf", "java.lang.Integer", int32 (1)), 1)
@@ -3263,10 +3245,7 @@
 %! assert (class (javaMethod ("valueOf", "java.math.BigInteger",  int64 (1))), "java.math.BigInteger")
 
 ## Automatic conversion from string cell array into String[]
-%!testif HAVE_JAVA <45290>
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm") <45290>
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", {"aaa", "bbb", "ccc", "zzz"}, "aaa"), 0);
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", {"aaa", "bbb", "ccc", "zzz"}, "zzz"), 3);
 %! assert (javaMethod ("binarySearch", "java.util.Arrays", {"aaa", "bbb", "ccc", "zzz"}, "hhh") < 0);
--- a/libinterp/octave-value/ov-typeinfo.cc	Mon Apr 17 21:28:55 2017 +0200
+++ b/libinterp/octave-value/ov-typeinfo.cc	Mon Apr 17 17:44:56 2017 -0400
@@ -681,10 +681,7 @@
 %! cvar = onCleanup (@() "");
 %! assert (typeinfo (cvar), "onCleanup");
 
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! x = javaObject ("java.lang.StringBuffer");
 %! assert (typeinfo (x), "octave_java");
 
--- a/scripts/general/fieldnames.m	Mon Apr 17 21:28:55 2017 +0200
+++ b/scripts/general/fieldnames.m	Mon Apr 17 17:44:56 2017 -0400
@@ -74,18 +74,12 @@
 %! assert (fieldnames (s), cell (0, 1));
 
 ## test Java classname by passing classname
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! names = fieldnames ("java.lang.Double");
 %! assert (any (strcmp (names, "MAX_VALUE")));
 
 ## test Java classname by passing java object
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! names = fieldnames (javaObject ("java.lang.Double", 10));
 %! assert (any (strcmp (names, "MAX_VALUE")));
 %! assert (all (ismember ({"POSITIVE_INFINITY", "NEGATIVE_INFINITY", ...
@@ -93,9 +87,6 @@
 %!                         "MAX_EXPONENT", "MIN_EXPONENT", "SIZE", "TYPE"},
 %!                        names)));
 
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! names = fieldnames (javaObject ("java.lang.String", "Hello"));
 %! assert (any (strcmp (names, "CASE_INSENSITIVE_ORDER")));
--- a/scripts/general/methods.m	Mon Apr 17 21:28:55 2017 +0200
+++ b/scripts/general/methods.m	Mon Apr 17 17:44:56 2017 -0400
@@ -80,10 +80,7 @@
 %! assert (mtds{1}, "ascii");
 
 ## test Java classname
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! mtds = methods ("java.lang.Double");
 %! search = strfind (mtds, "java.lang.Double valueOf");
 %! assert (! isempty ([search{:}]));
--- a/scripts/java/javachk.m	Mon Apr 17 21:28:55 2017 +0200
+++ b/scripts/java/javachk.m	Mon Apr 17 17:44:56 2017 -0400
@@ -141,10 +141,7 @@
 %! assert (msg.message, "javachk: desktop is not supported");
 %! assert (msg.identifier, "Java DESKTOP");
 
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! assert (javachk ("jvm"), "");
 
 ## Test input validation
--- a/scripts/java/usejava.m	Mon Apr 17 21:28:55 2017 +0200
+++ b/scripts/java/usejava.m	Mon Apr 17 17:44:56 2017 -0400
@@ -85,10 +85,7 @@
 
 %!assert (usejava ("desktop"), false)
 
-%!testif HAVE_JAVA
-%! if (! usejava ("jvm"))
-%!   return;
-%! endif
+%!testif HAVE_JAVA; usejava ("jvm")
 %! assert (usejava ("jvm"), true);
 
 ## Test input validation