You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/10/26 17:07:05 UTC

[3/4] jena git commit: Refined timing tests under Windows

Refined timing tests under Windows


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/69fcb5f5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/69fcb5f5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/69fcb5f5

Branch: refs/heads/master
Commit: 69fcb5f59fc796bd34451dfdaed35fc488c5c1f4
Parents: 3295d02
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Oct 26 16:06:29 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Oct 26 16:06:29 2015 +0000

----------------------------------------------------------------------
 .../main/java/org/apache/jena/riot/SysRIOT.java |  9 ++++++---
 .../sparql/api/TestQueryExecutionTimeout1.java  | 17 ++++++++++++----
 .../sparql/api/TestQueryExecutionTimeout2.java  | 16 +++++++++++----
 .../apache/jena/atlas/lib/TestAlarmClock.java   | 21 ++++++++++----------
 4 files changed, 41 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/69fcb5f5/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java b/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java
index 5174883..454f27c 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java
@@ -18,9 +18,8 @@
 
 package org.apache.jena.riot;
 
-import java.io.File ;
-
 import org.apache.jena.atlas.lib.IRILib ;
+import org.apache.jena.base.Sys ;
 import org.apache.jena.riot.system.IRIResolver ;
 import org.apache.jena.util.FileUtils ;
 import org.slf4j.Logger ;
@@ -37,7 +36,11 @@ public class SysRIOT
     
     public static final String BNodeGenIdPrefix     = "genid" ;
     
-    public static final boolean isWindows = (File.pathSeparatorChar == ';' ) ;
+    /**
+     * @deprecated Use Sys.isWindows
+     */
+    @Deprecated
+    public static final boolean isWindows = Sys.isWindows ;
     
     public static void setStrictMode(boolean state) {
         SysRIOT.strictMode = state ;

http://git-wip-us.apache.org/repos/asf/jena/blob/69fcb5f5/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout1.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout1.java b/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout1.java
index f30194d..9eae9f2 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout1.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout1.java
@@ -23,6 +23,7 @@ import static org.apache.jena.atlas.lib.Lib.sleep ;
 import java.util.concurrent.TimeUnit ;
 
 import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.base.Sys ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.query.* ;
 import org.apache.jena.sparql.core.DatasetGraph ;
@@ -54,6 +55,13 @@ public class TestQueryExecutionTimeout1 extends BaseTest
         FunctionRegistry.get().remove(ns + "wait") ;
     }
 
+    // Loaded CI.
+    private static boolean mayBeErratic = Sys.isWindows ;
+    
+    private int timeout(int time1, int time2) {
+        return mayBeErratic ? time2 : time1 ;
+    }
+    
     static private String prefix = 
         "PREFIX f:       <http://example/ns#>\n"+
         "PREFIX afn:     <http://jena.apache.org/ARQ/function#>\n" ;
@@ -65,25 +73,26 @@ public class TestQueryExecutionTimeout1 extends BaseTest
     // level checking.
     
     @Test
-    public void timeout_01()
-    {
+    public void timeout_01() {
+        // Test unstable on loaded Jenkins CI on Windows.
         String qs = prefix + "SELECT * { ?s ?p ?o }" ;
         QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ;
         qExec.setTimeout(50, TimeUnit.MILLISECONDS) ;
         ResultSet rs = qExec.execSelect() ;
-        sleep(200) ;
+        sleep(timeout(100, 300)) ;
         exceptionExpected(rs) ; 
     }
 
     @Test
     public void timeout_02()
     {
+        // Test unstable on loaded Jenkins CI on Windows.
         String qs = prefix + "SELECT * { ?s ?p ?o }" ;
         QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ;
         qExec.setTimeout(50, TimeUnit.MILLISECONDS) ;
         ResultSet rs = qExec.execSelect() ;
         rs.next() ;
-        sleep(75) ;
+        sleep(timeout(75, 300)) ;
         exceptionExpected(rs) ; 
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/69fcb5f5/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout2.java b/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout2.java
index 3c4a4d2..c4d1e67 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout2.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/api/TestQueryExecutionTimeout2.java
@@ -19,6 +19,8 @@
 package org.apache.jena.sparql.api;
 
 import static org.apache.jena.atlas.lib.Lib.sleep ;
+
+import org.apache.jena.base.Sys ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.query.* ;
 import org.apache.jena.sparql.core.DatasetGraph ;
@@ -63,22 +65,28 @@ public class TestQueryExecutionTimeout2
     }
 
 
-    @Test public void timeout_30()  { test2(200, 20, 50, true) ; }
+    // Loaded CI.
+    private static boolean mayBeErratic = Sys.isWindows ;
+    
+    private int timeout(int time1, int time2) {
+        return mayBeErratic ? time2 : time1 ;
+    }
+    
+    @Test public void timeout_30()  { test2(200, 20, timeout(50, 250), true) ; }
     @Test public void timeout_31()  { test2(200, 50, 20, false) ; }
 
     // Make sure it isn't timeout1 - delay longer than timeout1
     @Test public void timeout_32()  { test2(100, 500, 200, false) ; }
     @Test public void timeout_33()  { test2(150, -1,  200, false) ; }
 
-    @Test public void timeout_34()  { test2(10, 40, 100, true) ; }
+    @Test public void timeout_34()  { test2(10, 40, timeout(100, 250), true) ; }
 
-    @Test public void timeout_35()  { test2(-1, 20, 50, true) ; }
+    @Test public void timeout_35()  { test2(-1, 20, timeout(50, 250), true) ; }
     @Test public void timeout_36()  { test2(-1, 50, 20, false) ; }
 
     @Test public void timeout_37()  { test2(200, 200, 50, false) ; }
     @Test public void timeout_38()  { test2(200, -1, 50, false) ; }
 
-
     private static void test2(long timeout1, long timeout2, int delay, boolean exceptionExpected)
     {
         // Enough rows to keep the iterator pipeline full.

http://git-wip-us.apache.org/repos/asf/jena/blob/69fcb5f5/jena-base/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
index 67415c4..773e0fd 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
@@ -24,7 +24,6 @@ import java.util.concurrent.atomic.AtomicInteger ;
 
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.base.Sys ;
-import org.junit.Assume ;
 import org.junit.Test ;
 
 public class TestAlarmClock extends BaseTest {
@@ -51,7 +50,13 @@ public class TestAlarmClock extends BaseTest {
 
     private AtomicInteger count    = new AtomicInteger(0) ;
     private Runnable      callback = ()->count.getAndIncrement() ;
-
+    
+    // Loaded CI.
+    private static boolean mayBeErratic = Sys.isWindows ;
+    
+    private int timeout(int time1, int time2) {
+        return mayBeErratic ? time2 : time1 ;
+    }
     @Test
     public void alarm_01() {
         AlarmClock alarmClock = new AlarmClock() ;
@@ -64,12 +69,10 @@ public class TestAlarmClock extends BaseTest {
 
     @Test
     public void alarm_02() {
-        Assume.assumeTrue( ! Sys.isWindows );
-
         AlarmClock alarmClock = new AlarmClock() ;
         // Short - happens.
         alarmClock.add(callback, 10) ;
-        sleep(120) ;
+        sleep(timeout(100, 250)) ;
         assertEquals(1, count.get()) ;
         // try to cancel anyway.
         alarmClock.cancel(callback) ;
@@ -78,12 +81,10 @@ public class TestAlarmClock extends BaseTest {
 
     @Test
     public void alarm_03() {
-        Assume.assumeTrue( ! Sys.isWindows );
-        
         AlarmClock alarmClock = new AlarmClock() ;
         alarmClock.add(callback, 10) ;
         alarmClock.add(callback, 1000000) ;
-        sleep(150) ;
+        sleep(timeout(100, 300)) ;
         // ping1 went off.
         assertEquals(1, count.get()) ;
         alarmClock.cancel(callback) ;
@@ -92,12 +93,10 @@ public class TestAlarmClock extends BaseTest {
 
     @Test
     public void alarm_04() {
-        Assume.assumeTrue( ! Sys.isWindows );
-        
         AlarmClock alarmClock = new AlarmClock() ;
         alarmClock.add(callback, 10) ;
         alarmClock.add(callback, 20) ;
-        sleep(100) ;
+        sleep(timeout(75, 300)) ;
         // ping1 went off. ping2 went off.
         assertEquals(2, count.get()) ;
         alarmClock.release() ;