> -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Joyce Kong > Sent: Monday, April 15, 2019 5:05 PM > To: dev@dpdk.org > Cc: nd <n...@arm.com>; tho...@monjalon.net; > david.march...@redhat.com; step...@networkplumber.org; > jerin.ja...@caviumnetworks.com; konstantin.anan...@intel.com; > Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; Gavin Hu (Arm > Technology China) <gavin...@arm.com> > Subject: [dpdk-dev] [PATCH v1] test/ticketlock: implement ticketlock > autotest > > Add ticketlock_autotest implementation in python. > > Fixes: efbcdaa55b93 ("test/ticketlock: add test cases") > > Signed-off-by: Joyce Kong <joyce.k...@arm.com> > --- > app/test/autotest_data.py | 2 +- > app/test/autotest_test_funcs.py | 34 > ++++++++++++++++++++++++++++++++++ > 2 files changed, 35 insertions(+), 1 deletion(-) > > diff --git a/app/test/autotest_data.py b/app/test/autotest_data.py index > db25274..72c56e5 100644 > --- a/app/test/autotest_data.py > +++ b/app/test/autotest_data.py > @@ -175,7 +175,7 @@ > "Command": "ticketlock_autotest", > "Func": ticketlock_autotest, > "Report": None, > - } > + }, > { > "Name": "Byte order autotest", > "Command": "byteorder_autotest", diff --git > a/app/test/autotest_test_funcs.py b/app/test/autotest_test_funcs.py > index 65fe335..31cc0f5 100644 > --- a/app/test/autotest_test_funcs.py > +++ b/app/test/autotest_test_funcs.py > @@ -131,6 +131,40 @@ def rwlock_autotest(child, test_name): > return 0, "Success" > > > +def ticketlock_autotest(child, test_name): > + i = 0 > + ir = 0 > + child.sendline(test_name) > + while True: > + index = child.expect(["Test OK", > + "Test Failed", > + "Hello from core ([0-9]*) !", > + "Hello from within recursive locks " > + "from ([0-9]*) !", > + pexpect.TIMEOUT], timeout=5) > + # ok > + if index == 0: > + break > + > + # message, check ordering > + elif index == 2: > + if int(child.match.groups()[0]) < i: > + return -1, "Fail [Bad order]" > + i = int(child.match.groups()[0]) > + elif index == 3: > + if int(child.match.groups()[0]) < ir: > + return -1, "Fail [Bad order]" > + ir = int(child.match.groups()[0]) > + > + # fail > + elif index == 4: > + return -1, "Fail [Timeout]" > + elif index == 1: > + return -1, "Fail" > + > + return 0, "Success" > + > + > def logs_autotest(child, test_name): > child.sendline(test_name) > > -- > 2.7.4
Hi, Reviewed-by: Phil Yang <phil.y...@arm.com> Tested-by: Phil Yang <phil.y...@arm.com> # python ./app/test/autotest.py x86_64-native-linuxapp-gcc/app/test ./x86_64-native-linuxapp-gcc Ticketlock autotest x86_64-native-linuxapp-gcc/app/test -c f -n 4 Running tests with 4 workers Test name Test result Test Total ================================================================================ Parallel autotests: Start test2: Success [00m 00s][00m 00s] Start test1: Success [00m 00s][00m 00s] Start test0: Success [00m 01s][00m 01s] Start test3: Success [00m 01s][00m 01s] Ticketlock autotest: Success [00m 00s][00m 01s] ================================================================================ Total run time: 00m 01s # python ./app/test/autotest.py arm64-armv8a-linuxapp-gcc/app/test ./arm64-armv8a-linuxapp-gcc Ticketlock autotest arm64-armv8a-linuxapp-gcc/app/test -c f -n 4 Running tests with 4 workers Test name Test result Test Total ================================================================================ Parallel autotests: Start test0: Success [00m 00s][00m 00s] Start test1: Success [00m 00s][00m 00s] Start test3: Success [00m 00s][00m 00s] Start test2: Success [00m 00s][00m 00s] Ticketlock autotest: Success [00m 00s][00m 00s] ================================================================================ Total run time: 00m 00s Thanks, Phil