Rawdev autotest fails when run via sanity script "autotest.py" *DPDK version: *git repo -> latest dpdk-dpdk , last commit id: 2077a158e22451144d1b023f949f3232cfa62b3 *OS: Fedora27, Centos7, Ubuntu17.10, FreeBSD *Compiler: GCC *32 bit compiler for Fedora27, Centos7, Ubuntu17.10 *64 bit compiler for Fedora27, Centos7, Ubuntu17.10 and FreeBSD Test Setup: Bare metal with Ubuntu 17.10, Guest VM with centos 7 OS and Fedora27,FreeBSD Steps to reproduce Run Sanity script as below, found " Rawdev autotest: Fail " ./autotest.py ./build/app/test all screen dump for the sanity: Rawdev autotest: Fail [00m 00s] Expected Result Test should succeed with no errors
@Reshma, Can you please confirm this once again. As per my understanding, until the test is added as part of groups in autotest_data.py, it won't be part of all. Rawdev tests are not added to autotest_data. Further, if I run the test standalone, it works fine: --- # ./build/test/test/test EAL: Detected 4 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Probing VFIO support... EAL: PCI device 0000:00:19.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:1502 net_e1000_em APP: HPET is not enabled, using TSC as default timer RTE>>rawdev_autotest skeleton_rawdev_probe(): Init rawdev_skeleton on NUMA node 0 rte_rawdev_socket_id(): Invalid dev_id=10 skeleton_rawdev_remove(): Closing rawdev_skeleton on NUMA node 0 Total tests : 11 Passed : 11 Failed : 0 Not supported : 0 Test OK RTE>> --- If I run " ./test/test/autotest.py ./x86_64-native-linuxapp-gcc/build/test/test/test all", rawdev_autotest is not executed. Am I missing something? I am working on ce819b84 SHA of master.
Hi Shreyansh, As part of autotest enhancement rawdev_autotest also added to list. These auto test enhancements patches are not applied to DPDK yet. http://patches.dpdk.org/project/dpdk/list/?\aseries=&submitter=1024&state=*&q=&archive=both&delegate= 'v4 app/test:' patches can you apply and run auto test and cross check the behaviour. Thanks, Reshma
So, it seems that rawdev tests are not returning appropriate value back to autotest scripts which results in it to Fail: --->8--- $ make test-fast ... ... $ cat x86_64-native-linuxapp-gcc.log ... ... -------------------- Rawdev autotest rawdev_autotest -------------------- Kvargs autotest kvargs_autotest rawdev_autotest skeleton_rawdev_probe(): Init rawdev_skeleton on NUMA node 0 rte_rawdev_socket_id(): Invalid dev_id=10 skeleton_rawdev_remove(): Closing rawdev_skeleton on NUMA node 0 Total tests : 11 Passed : 11 Failed : 0 Not supported : 0 Test OK RTE>>kvargs_autotest --->8--- And I also don't know why the logs for rawdev are interleaved with kvargs - probably that is parallel execution of test cases belonging to a particular group "group_4". I will investigate the return values of the test.
This seems to be a problem with ordering or grouping of tests. If I reorder the tests in the autotest_data.py, the results are like: --->8--- Event eth rx adapter autotest:Fail [Test returns Skipped] [00m 00s] Kvargs autotest: Fail [00m 00s] Rawdev autotest: Success [00m 00s] Dump physmem: Skipped [Not Available] [00m 00s] --->8--- In this case, the only change done was: --->8--- diff --git a/test/test/autotest_data.py b/test/test/autotest_data.py index 2c6828d9e..5cba68101 100755 --- a/test/test/autotest_data.py +++ b/test/test/autotest_data.py @@ -301,14 +301,14 @@ def per_sockets(num): "Report": None, }, { - "Name": "Rawdev autotest", - "Command": "rawdev_autotest", + "Name": "Kvargs autotest", + "Command": "kvargs_autotest", "Func": default_autotest, "Report": None, }, { - "Name": "Kvargs autotest", - "Command": "kvargs_autotest", + "Name": "Rawdev autotest", + "Command": "rawdev_autotest", "Func": default_autotest, "Report": None, }, --->8--- That is, swap kvargs with rawdev. This indicates that issue might be with the 'event_eth_rx_adapter_autotest'. If the kvargs and rawdev are moved above this test in group, both succeed: --->8--- Kvargs autotest: Success [00m 00s] Rawdev autotest: Success [00m 00s] Event eth rx adapter autotest:Fail [Test returns Skipped] [00m 00s] --->8---
On Friday 15 June 2018 04:52 PM, bugzilla@dpdk.org wrote: > https://dpdk.org/tracker/show_bug.cgi?id=62 > > Bug ID: 62 > Summary: Rawdev autotest fails > Product: DPDK > Version: 18.05 > Hardware: All > OS: All > Status: CONFIRMED > Severity: normal > Priority: Normal > Component: other > Assignee: dev@dpdk.org > Reporter: reshma.pattan@intel.com > Target Milestone: --- > > Rawdev autotest fails when run via sanity script "autotest.py" > > *DPDK version: > > *git repo -> latest dpdk-dpdk , last commit id: > 2077a158e22451144d1b023f949f3232cfa62b3 > *OS: Fedora27, Centos7, Ubuntu17.10, FreeBSD > > *Compiler: GCC > > *32 bit compiler for Fedora27, Centos7, Ubuntu17.10 > *64 bit compiler for Fedora27, Centos7, Ubuntu17.10 and FreeBSD > > Test Setup: Bare metal with Ubuntu 17.10, Guest VM with centos 7 OS and > Fedora27,FreeBSD > > Steps to reproduce > > Run Sanity script as below, found " Rawdev autotest: Fail " > ./autotest.py ./build/app/test all > > screen dump for the sanity: > Rawdev autotest: Fail [00m 00s] > > Expected Result > Test should succeed with no errors > This issue occurs only when the patches from Jananee [1] are applied - which are essentially adding many missing tests to autotest list. Though the bug states that rawdev_autotest is failing, it is actually some other issue in the autotest_data.py. In case the order of tests just after 'event_eth_rx_adapter_autotest' is changed, the failure state shifts to that test which comes just after 'event_eth_rx_adapter_autotest'. On Master + patches from Jananee --->8--- Event eth rx adapter autotest:Fail [Test returns Skipped] [00m 00s] Rawdev autotest: Fail [00m 00s] Kvargs autotest: Success [00m 00s] Dump physmem: Skipped [Not Available] [00m 00s] --->8--- With shuffling of tests case after 'event_eth_rx_adapter_autotest': --->8--- Event eth rx adapter autotest:Fail [Test returns Skipped] [00m 00s] Kvargs autotest: Fail [00m 00s] Rawdev autotest: Success [00m 00s] Dump physmem: Skipped [Not Available] [00m 00s] --->8--- If I completely remove 'event_eth_rx_adapter_autotest', both kvargs and devargs succeed. --->8--- Kvargs autotest: Success [00m 00s] Rawdev autotest: Success [00m 00s] Dump physmem: Skipped [Not Available] [00m 00s] --->8--- Though the data and its format in autotest_data.py looks fine to me, I am not the best person for that - can someone give a hint what else should I check? Details also available in bugzilla [2]. [1] http://patches.dpdk.org/patch/40370/ [2] https://bugs.dpdk.org/show_bug.cgi?id=62 - Shreyansh
Yes looks like your observations are correct. Rawdev autotests works now manually and from autotest works fine by below set of patches which have latest improvements to the autotest framework. Ordering of the test cases is improved now by removing non autotest UT. We can close this issue now. http://patches.dpdk.org/patch/43130/ http://patches.dpdk.org/patch/43131/ http://patches.dpdk.org/patch/43132/ http://patches.dpdk.org/patch/43133/ http://patches.dpdk.org/patch/43134/ http://patches.dpdk.org/patch/43135/ http://patches.dpdk.org/patch/43136/ http://patches.dpdk.org/patch/43138/ http://patches.dpdk.org/patch/43137/ Thanks, Reshma
There is no issue in the reported Rawdev UT , instead issue in the autotest framework and ordering of the tests.