Bug #4379
closedintegration tests: fix broken tests
Added by Eric Newberry about 7 years ago. Updated about 1 year ago.
0%
Description
The following integration tests are potentially broken and should be fixed:
test_auto_prefix_propagate
- Asks for passphrase of a private key (should be non-interactive)
- Fails to open a stream
- Unrecognized option '-N' on a command
test_remote_register
sub-test fails
test_hub_discovery
- error while receiving data from socket (is this expected?) - the test still passes with this message appearing
- minor: typo "TEST HUB DISCOVEY"
test_localhost_scope
./out-master.sh: line 39: 3643 Terminated nc -vul 6363 > $workdir/logs/out/netcat.log 2>&1
I'm not certain if this test is actually broken, but this message appears and should be investigated further.
test_permanent_face
- Syntax errors in
permanent-face-test.sh
- test shouldn't pass, but does even with these errors
Files
4550-8.out (193 KB) 4550-8.out | 4550-8 test log | Junxiao Shi, 03/19/2018 10:05 AM | |
4550-8.txz (200 KB) 4550-8.txz | 4550-8 logs folder exclude logs/*/prepare | Junxiao Shi, 03/19/2018 10:05 AM | |
4550-8_find_logs.txt (815 KB) 4550-8_find_logs.txt | 4550-8 logs folder file list | Junxiao Shi, 03/19/2018 10:05 AM | |
4550-11.log (39.4 KB) 4550-11.log | 4550-11 test log | Junxiao Shi, 03/29/2018 11:18 AM | |
4550-11.txz (227 KB) 4550-11.txz | 4550-11 logs folder exclude logs/*/prepare | Junxiao Shi, 03/29/2018 11:19 AM | |
c4550-13.txz (236 KB) c4550-13.txz | 4550-13 logs folder exclude logs/*/prepare | Junxiao Shi, 04/02/2018 11:30 AM | |
4550-14.txz (231 KB) 4550-14.txz | 4550-14 logs folder exclude logs/*/prepare | Junxiao Shi, 04/17/2018 10:56 AM | |
4550-17.txz (225 KB) 4550-17.txz | 4550-17 logs folder exclude logs/*/prepare | Junxiao Shi, 05/08/2018 09:23 AM |
Updated by Davide Pesavento about 7 years ago
- Blocks Task #4380: Run integration tests for every Jenkins build added
Updated by Eric Newberry about 7 years ago
- Assignee changed from Eric Newberry to Tao Chen
Updated by Davide Pesavento almost 7 years ago
- Related to Bug #4410: `run_tests.py test_ndnping` fails to terminate added
Updated by Eric Newberry almost 7 years ago
- Status changed from New to Code review
- % Done changed from 0 to 70
Updated by Junxiao Shi over 6 years ago
- File 4550-8.out 4550-8.out added
- File 4550-8.txz 4550-8.txz added
- File 4550-8_find_logs.txt 4550-8_find_logs.txt added
This is the test log of Change 4550 patchset 8.
Environment: VirtualBox 5.2.0r118431, Vagrant 2.0.1
Command: nohup ./run-vagrant-tests.sh &
logs/*/prepare
folder incorrectly captures the source code for every project, causing the folder to be over 7GB. These should not be downloaded to logs/
.
Many tests are still failing.
Updated by Eric Newberry over 6 years ago
- Description updated (diff)
test_localhost_scope
appears to not actually be broken, so I crossed it out in the issue description.
Updated by Eric Newberry over 6 years ago
I will look into the passphrase issue separate from Tao's commit on Gerrit.
Updated by Junxiao Shi over 6 years ago
- File 4550-11.log 4550-11.log added
- File 4550-11.txz 4550-11.txz added
This is the test log of Change 4550 patchset 11.
Environment: VirtualBox 5.2.8r121009, Vagrant 2.0.3
Command: ./run-vagrant-tests.sh
logs/*/prepare folder incorrectly captures the source code for every project. These should not be downloaded to logs/.
test_remote_register
is still failing.
I will look into the passphrase issue separate from Tao's commit on Gerrit.
You can use as many commits as necessary, but I won't merge any of them until all failures are fixed.
Updated by Eric Newberry over 6 years ago
Junxiao Shi wrote:
You can use as many commits as necessary, but I won't merge any of them until all failures are fixed.
I disagree strongly with this. The test cases are all independent, so they can be fixed independently.
Updated by Junxiao Shi over 6 years ago
Eric Newberry wrote:
Junxiao Shi wrote:
You can use as many commits as necessary, but I won't merge any of them until all failures are fixed.
I disagree strongly with this. The test cases are all independent, so they can be fixed independently.
Updated by Junxiao Shi over 6 years ago
The test cases are all independent, so they can be fixed independently.
Then disable failing tests in Python. Vagrant verification procedure is seen as “automated”, same as how Jenkins executes NFD unit tests. If anything is broken, the verification cannot pass.
Updated by Eric Newberry over 6 years ago
Junxiao Shi wrote:
The test cases are all independent, so they can be fixed independently.
Then disable failing tests in Python. Vagrant verification procedure is seen as “automated”, same as how Jenkins executes NFD unit tests. If anything is broken, the verification cannot pass.
They can pass if someone looks at the results and verifies that the test cases in question do in fact pass. We've had this issue in the past and have worked around it.
Updated by Junxiao Shi over 6 years ago
- File c4550-13.txz c4550-13.txz added
This is the test log of Change 4550 patchset 13.
Environment: VirtualBox 5.2.8r121009, Vagrant 2.0.3
Command: ./run-vagrant-tests.sh
The script needed a manual input for "passphrase". After that, it still fails to terminate. It prints the following and then gets stuck.
======================================================================
FAIL: test_eth_multicast (test_multicast.test_multicast)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vagrant/integration-tests/test_multicast/test_multicast.py", line 44, in test_eth_multicast
self.fail(self.errormsg[ret])
AssertionError: Interest ndn:/test-mcast/B/1 is unanswered.
======================================================================
FAIL: test_remote_register (test_auto_prefix_propagate.test_auto_prefix_propagate)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vagrant/integration-tests/test_auto_prefix_propagate/test_auto_prefix_propagate.py", line 26, in test_remote_register
self.fail(" >> TEST AUTOMATIC PROPAGATE PROCEDURE FAILED")
AssertionError: >> TEST AUTOMATIC PROPAGATE PROCEDURE FAILED
----------------------------------------------------------------------
Ran 35 tests in 1656.231s
FAILED (failures=2)
Inside vagrant ssh A
, it seems that NFD did not stop after a certain test case:
vagrant@vagrant:~$ pstree -p 2604
run_tests.py(2604)---run_tests.py(5641)---sudo(5644)---nfd(5646)-+-{nfd}(5648)
`-{nfd}(5649)
After typing nfd-stop
within the VM, the outer script proceeds.
Updated by Eric Newberry over 6 years ago
Junxiao Shi wrote:
Inside
vagrant ssh A
, it seems that NFD did not stop after a certain test case:vagrant@vagrant:~$ pstree -p 2604 run_tests.py(2604)---run_tests.py(5641)---sudo(5644)---nfd(5646)-+-{nfd}(5648) `-{nfd}(5649)
After typing
nfd-stop
within the VM, the outer script proceeds.
This is probably related to #4410 and Ubuntu 16.04.
Updated by Junxiao Shi over 6 years ago
- File 4550-14.txz 4550-14.txz added
This is the test log of Change 4550 patchset 14.
Environment: VirtualBox 5.2.8r121009, Vagrant 2.0.3
Command: ./run-vagrant-tests.sh
The script needed a manual input for "passphrase". After that, it still fails to terminate. It prints the following and then gets stuck.
======================================================================
FAIL: test_remote_register (test_auto_prefix_propagate.test_auto_prefix_propagate)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vagrant/integration-tests/test_auto_prefix_propagate/test_auto_prefix_propagate.py", line 26, in test_remote_register
self.fail(" >> TEST AUTOMATIC PROPAGATE PROCEDURE FAILED")
AssertionError: >> TEST AUTOMATIC PROPAGATE PROCEDURE FAILED
======================================================================
FAIL: test_aggregation (test_interest_aggregation.test_interest_aggregation)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vagrant/integration-tests/test_interest_aggregation/test_interest_aggregation.py", line 137, in test_aggregation
self.checkAndReportFailure("ndnpeek-4", "Peek Client 4")
File "/home/vagrant/integration-tests/test_interest_aggregation/test_interest_aggregation.py", line 42, in checkAndReportFailure
self.fail(">> TEST FAILED - received non-zero return code from " + processName)
AssertionError: >> TEST FAILED - received non-zero return code from Peek Client 4
----------------------------------------------------------------------
Ran 35 tests in 1004.307s
FAILED (failures=2)
Inside vagrant ssh A
, it seems that NFD did not stop after a certain test case:
vagrant@vagrant:~$ pstree -p 2616
run_tests.py(2616)---run_tests.py(5758)---sudo(5761)---nfd(5763)-+-{nfd}(5765)
`-{nfd}(5766)
After typing nfd-stop
within the VM, the outer script proceeds.
Updated by Junxiao Shi over 6 years ago
- File 4550-17.txz 4550-17.txz added
Change 4550 patchset 17 has same failures as patchset 14, except that there's no passphrase prompt.
Updated by Eric Newberry over 6 years ago
- Assignee changed from Tao Chen to Eric Newberry
Updated by Eric Newberry over 6 years ago
As of the latest patchset of the change to fix this issue (4450,17 rebased onto the current Git HEAD), the following test cases are failing:
- test_hub_discovery
- test_remote_register
- test_aggregation
The issue described in #4410 remains present as well.
Updated by Alexander Lane over 6 years ago
In regards to test_aggregation, it is most likely due to "Peek Client 4" using the deprecated ChildSelector selector (test_interest_aggregation.py line 125), which will cause it to fail with a return code of 2 on systems with newer versions of NDN-tools.
Updated by Eric Newberry over 6 years ago
test_aggregation
is failing because it is attempting to supply an argument to ndnpeek that was removed recently (set rightmost ChildSelector). This seems to be a larger issue than simply fixing a failure due to changed tool syntax or output format. The test README lists this for the failing step:
- Start ndnpeek to request ndn:/test-agg/B ChildSelector=leftmost, and another instance to request ndn:/test-agg/B ChildSelector=rightmost. Wait until they terminate. Fail if either is unanswered.
Can this be tested using the new Interest elements, or should this test be removed?
Updated by Eric Newberry over 6 years ago
Alexander Lane wrote:
In regards to test_aggregation, it is most likely due to "Peek Client 4" using the deprecated ChildSelector selector (test_interest_aggregation.py line 125), which will cause it to fail with a return code of 2 on systems with newer versions of NDN-tools.
Just saw this right as I was posting my note about the same thing. This test case needs to be redesigned to use the new Interest elements.
Also, the integration tests (unless told otherwise), always install the latest version of ndn-tools from git on the system, so this will always occur when running the integration tests with the default options, no matter the version of ndn-tools previously installed on the system.
Updated by Davide Pesavento over 6 years ago
Eric Newberry wrote:
- Start ndnpeek to request ndn:/test-agg/B ChildSelector=leftmost, and another instance to request ndn:/test-agg/B ChildSelector=rightmost. Wait until they terminate. Fail if either is unanswered.
Can this be tested using the new Interest elements, or should this test be removed?
Just delete this particular test. ChildSelector is deprecated.
Updated by Eric Newberry over 6 years ago
Davide Pesavento wrote:
Eric Newberry wrote:
- Start ndnpeek to request ndn:/test-agg/B ChildSelector=leftmost, and another instance to request ndn:/test-agg/B ChildSelector=rightmost. Wait until they terminate. Fail if either is unanswered.
Can this be tested using the new Interest elements, or should this test be removed?
Just delete this particular test. ChildSelector is deprecated.
This particular test or the entire test_integration_aggregation
test case?
Updated by Junxiao Shi over 6 years ago
test_aggregation
is failing because it is attempting to supply an argument to ndnpeek that was removed recently (set rightmost ChildSelector). This seems to be a larger issue than simply fixing a failure due to changed tool syntax or output format. The test README lists this for the failing step:
- Start ndnpeek to request ndn:/test-agg/B ChildSelector=leftmost, and another instance to request ndn:/test-agg/B ChildSelector=rightmost. Wait until they terminate. Fail if either is unanswered.
The intention of this step is to express two Interests with same name that should not be aggregated by PIT.
This step shall be replaced with:
- Start ndnpeek to request ndn:/test-agg/B CanBePrefix=false, and another instance to request ndn:/test-agg/B CanBePrefix=true. Wait until they terminate. Fail if either is unanswered.
This replacement step can achieve the same goal as original test case.
Updated by Eric Newberry over 6 years ago
- Related to Feature #4633: Allow password to be specified to ndnsec-import/export on command line added
Updated by Davide Pesavento over 6 years ago
- Related to deleted (Feature #4633: Allow password to be specified to ndnsec-import/export on command line)
Updated by Davide Pesavento over 6 years ago
- Related to Feature #4588: ndnsec export/import: accept passphrase from command line option added
Updated by Davide Pesavento over 6 years ago
- Related to deleted (Feature #4588: ndnsec export/import: accept passphrase from command line option)
Updated by Davide Pesavento over 6 years ago
- Blocked by Feature #4588: ndnsec export/import: accept passphrase from command line option added
Updated by Junxiao Shi over 6 years ago
- Blocked by deleted (Feature #4588: ndnsec export/import: accept passphrase from command line option)
Updated by Davide Pesavento about 5 years ago
- Status changed from Code review to New
- % Done changed from 70 to 0
Updated by Eric Newberry over 4 years ago
- Related to Feature #5108: Support running NFD integration tests in Docker containers added
Updated by Eric Newberry over 4 years ago
- Status changed from New to In Progress
- Assignee set to Eric Newberry
Updated by Eric Newberry over 4 years ago
Currently broken tests (on Docker):
- test_auto_prefix_propagate (test_remote_register)
- test_hub_discovery
- test_interest_loop (test_client_control)
- test_linkfail (test_multicast, test_ncc)
- test_localhost_scope (test_localhost_scope_in, test_localhost_scope_out)
- test_mobility_link
- test_multicast (test_eth_multicast)
- test_nack
- test_ndntraffic
Updated by Davide Pesavento over 2 years ago
- Status changed from In Progress to New
- Assignee deleted (
Eric Newberry)
Updated by Davide Pesavento about 1 year ago
- Status changed from New to Abandoned