You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jf...@apache.org on 2018/11/24 20:57:42 UTC

[incubator-plc4x] 04/11: [plc4j-scraper] Improvements.

This is an automated email from the ASF dual-hosted git repository.

jfeinauer pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit 57efa48226070eeb5b231d12de6975c2eb1ef549
Author: Julian Feinauer <j....@pragmaticminds.de>
AuthorDate: Sat Nov 24 10:11:44 2018 +0100

    [plc4j-scraper] Improvements.
---
 .../apache/plc4x/java/s7/ManualS7PlcDriverMT.java  | 28 +++++++++++++++-------
 plc4j/utils/scraper/src/test/resources/logback.xml |  2 +-
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java b/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
index 54770a7..073c221 100644
--- a/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
+++ b/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
@@ -27,20 +27,23 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
 import org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager;
 import org.junit.Test;
 import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.jupiter.params.provider.ValueSource;
 
 import java.util.Locale;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Stream;
 
 public class ManualS7PlcDriverMT {
 
     public static final String CONN_STRING = "s7://10.10.64.22/0/1";
     public static final String FIELD_STRING = "%DB225:DBW0:INT";
 
+
 //    public static final String CONN_STRING = "s7://10.10.64.20/0/1";
 //    public static final String FIELD_STRING = "%DB3:DBD32:DINT";
-
     @Test
     public void simpleLoop() {
         PlcDriverManager plcDriverManager = new PooledPlcDriverManager();
@@ -76,14 +79,23 @@ public class ManualS7PlcDriverMT {
         executorService.awaitTermination(100, TimeUnit.SECONDS);
     }
 
-    @Test
-    public void scheduledCancellingLoop() throws InterruptedException, PlcConnectionException {
+    private static Stream<Arguments> periodAndRus() {
+        return Stream.of(
+            Arguments.of(10, 100),
+            Arguments.of(10, 1000),
+            Arguments.of(100, 100),
+            Arguments.of(100, 1000)
+            );
+    }
+
+    @ParameterizedTest
+    @MethodSource("periodAndRus")
+    public void scheduledCancellingLoop(int period, int numberOfRuns) throws InterruptedException, PlcConnectionException {
+        System.out.println("Starting iteration with period " + period + " and " + numberOfRuns + " runs.");
         PlcDriverManager plcDriverManager = new PooledPlcDriverManager();
         ScheduledExecutorService executorService = Executors.newScheduledThreadPool(10);
         DescriptiveStatistics statistics = new DescriptiveStatistics();
 
-        final int period = 10;
-        int numberOfRuns = 1000;
         AtomicInteger counter = new AtomicInteger(0);
 
         // Warmup
@@ -92,16 +104,16 @@ public class ManualS7PlcDriverMT {
         Runnable iteration = new Runnable() {
             @Override
             public void run() {
-                System.out.println("Setting a request / guard...");
+//                System.out.println("Setting a request / guard...");
                 CompletableFuture<Double> requestFuture = CompletableFuture.supplyAsync(
                     () -> ManualS7PlcDriverMT.this.runSingleRequest(plcDriverManager)
                 );
                 executorService.schedule(() -> {
                     if (!requestFuture.isDone()) {
                         requestFuture.cancel(true);
-                        System.err.println("Cancel a future!");
+                        System.out.print("!");
                     } else {
-                        System.out.println("Request finished successfully");
+                        System.out.print(".");
                         try {
                             statistics.addValue(requestFuture.get());
                         } catch (InterruptedException | ExecutionException e) {
diff --git a/plc4j/utils/scraper/src/test/resources/logback.xml b/plc4j/utils/scraper/src/test/resources/logback.xml
index c562020..f0f2b2e 100644
--- a/plc4j/utils/scraper/src/test/resources/logback.xml
+++ b/plc4j/utils/scraper/src/test/resources/logback.xml
@@ -29,7 +29,7 @@
     </encoder>
   </appender>
 
-  <root level="INFO">
+  <root level="ERROR">
     <appender-ref ref="STDOUT"/>
   </root>