kytos-ng / kytos-end-to-end-tests

Kytos End-to-End Tests
0 stars 10 forks source link

rerun test_e2e_40_sdntrace.py::TestE2ESDNTrace::test_010_run_sdn #327

Open viniarck opened 1 month ago

viniarck commented 1 month ago

This test case had a rerun on 2024-10-04, needs to be improved. It's not too flaky though, the last time it had a rerun was in May 2024 (5 months ago)

rerun: 0
tests/test_e2e_40_sdntrace.py::TestE2ESDNTrace::test_010_run_sdntrace: 2024-10-04,06:51:29.457827 - 2024-10-04,06:51:34.274312
self = <tests.test_e2e_40_sdntrace.TestE2ESDNTrace object at 0x7ff55afc4fd0>

    def test_010_run_sdntrace(self):
        """Run SDNTrace (Data Plane trace)."""
        # Trace from UNI_A
        payload = {
            "trace": {
                "switch": {
                    "dpid": "00:00:00:00:00:00:00:01",
                    "in_port": 1
                },
                "eth": {
                    "dl_vlan": 400,
                    "dl_vlan_pcp": 4,
                    "dl_type": 2048
                },
                "ip": {
                    "nw_src": "0.0.0.1",
                    "nw_dst": "0.0.0.2",
                    "nw_tos": 5,
                    "nw_proto": 17
                },
                "tp": {
                    "tp_src": 33948,
                    "tp_dst": 53
                }
            }
        }

        api_url = KYTOS_API + '/amlight/sdntrace/v1/trace'
        response = requests.put(api_url, json=payload)
        assert response.status_code == 200, response.text
        data = response.json()
        assert "result" in data, data
        assert "trace_id" in data["result"], data
        result = self.wait_sdntrace_result(data["result"]["trace_id"])

        expected = [
            (
                l['endpoint_b']['switch'],
                l['endpoint_b']['port_number'],
            )
            for l in self.circuit['current_path']
        ]

        actual = [
            (step['dpid'], step['port']) for step in result[1:-1]
        ]

>       assert expected == actual, f"Expected {expected}. Actual: {actual}"
E       AssertionError: Expected [('00:00:00:00:00:00:00:02', 2), ('00:00:00:00:00:00:00:03', 2), ('00:00:00:00:00:00:00:04', 2), ('00:00:00:00:00:00:00:05', 2), ('00:00:00:00:00:00:00:06', 2), ('00:00:00:00:00:00:00:07', 2), ('00:00:00:00:00:00:00:08', 2), ('00:00:00:00:00:00:00:09', 2), ('00:00:00:00:00:00:00:0a', 2)]. Actual: [('00:00:00:00:00:00:00:02', 2), ('00:00:00:00:00:00:00:03', 2), ('00:00:00:00:00:00:00:04', 2)]
E       assert [('00:00:00:0...:07', 2), ...] == [('00:00:00:0...00:00:04', 2)]
E
E         Left contains 6 more items, first extra item: ('00:00:00:00:00:00:00:05', 2)
E
E         Full diff:
E           [
E               (
E                   '00:00:00:00:00:00:00:02',
E                   2,
E               ),
E               (
E                   '00:00:00:00:00:00:00:03',
E                   2,
E               ),
E               (
E                   '00:00:00:00:00:00:00:04',
E                   2,
E               ),
E         +     (
E         +         '00:00:00:00:00:00:00:05',
E         +         2,
E         +     ),
E         +     (
E         +         '00:00:00:00:00:00:00:06',
E         +         2,
E         +     ),
E         +     (
E         +         '00:00:00:00:00:00:00:07',
E         +         2,
E         +     ),
E         +     (
E         +         '00:00:00:00:00:00:00:08',
E         +         2,
E         +     ),
E         +     (
E         +         '00:00:00:00:00:00:00:09',
E         +         2,
E         +     ),
E         +     (
E         +         '00:00:00:00:00:00:00:0a',
E         +         2,
E         +     ),
E           ]

tests/test_e2e_40_sdntrace.py:209: AssertionError
=========================== rerun test summary info ============================
RERUN tests/test_e2e_40_sdntrace.py::TestE2ESDNTrace::test_010_run_sdntrace
= 243 passed, 8 skipped, 9 xfailed, 7 xpassed, 1295 warnings, 1 rerun in 13698.18s (3:48:18) =
jab1982 commented 1 month ago

@Alopalao , can you please take a look?