Author: vladimirsitnikov
Date: Sun Apr  3 13:39:08 2016
New Revision: 1737587

URL: http://svn.apache.org/viewvc?rev=1737587&view=rev
Log:
Use explicit timeout for TestDNSCacheManager, so test is executed faster

closes #176

Modified:
    
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
    
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java

Modified: 
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java?rev=1737587&r1=1737586&r2=1737587&view=diff
==============================================================================
--- 
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
 (original)
+++ 
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
 Sun Apr  3 13:39:08 2016
@@ -83,6 +83,8 @@ public class DNSCacheManager extends Con
 
     private final transient Cache lookupCache;
 
+    private transient int timeoutMs;
+
     // ensure that the initial DNSServers are copied to the per-thread 
instances
 
     public DNSCacheManager() {
@@ -153,6 +155,9 @@ public class DNSCacheManager extends Con
             try {
                 Lookup lookup = new Lookup(host, Type.A);
                 lookup.setCache(lookupCache);
+                if (timeoutMs > 0) {
+                    resolver.setTimeout(timeoutMs / 1000, timeoutMs % 1000);
+                }
                 lookup.setResolver(resolver);
                 Record[] records = lookup.run();
                 if (records == null || records.length == 0) {
@@ -237,4 +242,22 @@ public class DNSCacheManager extends Con
         this.setProperty(IS_CUSTOM_RESOLVER, isCustomResolver);
     }
 
+    /**
+     * Sets DNS resolution timeout.
+     *
+     * @param timeoutMs timeout in milliseconds
+     */
+    void setTimeoutMs(int timeoutMs) {
+        this.timeoutMs = timeoutMs;
+    }
+
+    /**
+     * Returns DNS resolution timeout in milliseconds.
+     *
+     * @return DNS resolution timeout in milliseconds
+     */
+    int getTimeoutMs() {
+        return timeoutMs;
+    }
+
 }

Modified: 
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java?rev=1737587&r1=1737586&r2=1737587&view=diff
==============================================================================
--- 
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java
 (original)
+++ 
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java
 Sun Apr  3 13:39:08 2016
@@ -33,6 +33,7 @@ public class TestDNSCacheManager extends
         original.setCustomResolver(true);
         original.addServer("127.0.0.99");
         DNSCacheManager clone = (DNSCacheManager) original.clone();
+        clone.setTimeoutMs(100);
         try {
             clone.resolve("jmeter.apache.org");
             fail();


Reply via email to