[ 
https://issues.apache.org/jira/browse/DISPATCH-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17253658#comment-17253658
 ] 

ASF GitHub Bot commented on DISPATCH-1901:
------------------------------------------

jiridanek commented on a change in pull request #966:
URL: https://github.com/apache/qpid-dispatch/pull/966#discussion_r547417909



##########
File path: tests/system_tests_bad_configuration.py
##########
@@ -112,11 +113,11 @@ def wait_for_unresolvable_host(self):
         with open('../setUpClass/test-router.log', 'r') as router_log:
             log_lines = router_log.read().split("\n")
             expected_errors = [
-                "proton:io Name or service not known",  # Linux
-                "proton:io unknown node or service",  # macOS
+                "Connection to %s" % self.unresolvable_host_name

Review comment:
       Such error message does not necessarily has to be caused by unresolvable 
host.
   
   When I was looking into this due to the bubblewrap problem, I was thinking 
that maybe I should skip the test if I get a failure when contacting a DNS 
server (because without working DNS I can't properly test the unresolvable host 
scenario). In the end I was able to get the test pass without modifying it.
   
   I guess this change is OK, I believe the changed test is able to catch 
pretty much the same bugs it could previously.

##########
File path: tests/system_tests_bad_configuration.py
##########
@@ -112,11 +113,11 @@ def wait_for_unresolvable_host(self):
         with open('../setUpClass/test-router.log', 'r') as router_log:
             log_lines = router_log.read().split("\n")
             expected_errors = [
-                "proton:io Name or service not known",  # Linux
-                "proton:io unknown node or service",  # macOS
+                "Connection to %s" % self.unresolvable_host_name
             ]
             errors_caught = [line for line in log_lines
-                             if any([expected_error in line for expected_error 
in expected_errors])]
+                             if any([expected_error in line for expected_error 
in expected_errors])
+                             and "failed" in line]

Review comment:
       If you turn `expected_errors` list above into single `expected_error` 
value, you can then simplify this into
   
   ```suggestion
                                if expected_error in line and "failed" in line]
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> Bad configuration self test does not recognize all types of connection failure
> ------------------------------------------------------------------------------
>
>                 Key: DISPATCH-1901
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1901
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 1.14.0
>            Reporter: Charles E. Rolke
>            Assignee: Charles E. Rolke
>            Priority: Major
>             Fix For: 1.15.0
>
>
> A qpid-dispatch self test tries to open a connector (outgoing connection) to 
> an unresolvable address. 
> [https://github.com/apache/qpid-dispatch/blob/0634a070aa6f902bf5b6f9537a5406e4cfc5a0d5/tests/system_tests_bad_configuration.py#L105]
> The expectation is that proton will return a certain proton:io error.
> {code:java}
> 2020-12-21 11:04:51.294685 -0500 SERVER (trace) [C1] Connecting to 
> unresolvable.host.name:amqp (/home/chug/git/qpid-dispatch/src/server.c:1204)
> 2020-12-21 11:04:51.555518 -0500 SERVER (info) [C1] Connection to 
> unresolvable.host.name:amqp failed: proton:io Name or service not known - 
> connect to  unresolvable.host.name:5672 
> (/home/chug/git/qpid-dispatch/src/server.c:1065)
> {code}
> In cases where DNS is unavailable proton returns a different error
> {code:java}
> 2020-12-21 15:53:46.738685 +0000 SERVER (trace) [C1] Connecting to 
> unresolvable.host.name:amqp (/main/qpid-dispatch/src/server.c:1204)
> 2020-12-21 15:53:46.919237 +0000 SERVER (info) [C1] Connection to 
> unresolvable.host.name:amqp failed: proton:io Temporary failure in name 
> resolution - connect to  unresolvable.host.name:5672 
> (/main/qpid-dispatch/src/server.c:1065)
> {code}
> It is unreasonable to expect the test environment to have DNS available just 
> so that proton will return the expected IO error. The test should be adjusted 
> so that any proton IO error is accepted.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to