On Mon, Feb 3, 2020 at 8:49 PM Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> wrote: > > The test case target 'hash_readwrite_autotest' is covered by > 'hash_readwrite_func_autotest' and 'hash_readwrite_perf_autotest'. > Hence, it is removed along with its test code. > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> > --- > app/test/autotest_data.py | 10 +++- > app/test/test_hash_readwrite.c | 101 --------------------------------- > 2 files changed, 8 insertions(+), 103 deletions(-) > > diff --git a/app/test/autotest_data.py b/app/test/autotest_data.py > index 6deb97bcc..71db4b3f6 100644 > --- a/app/test/autotest_data.py > +++ b/app/test/autotest_data.py > @@ -664,8 +664,14 @@ > "Report": None, > }, > { > - "Name": "Hash read-write concurrency autotest", > - "Command": "hash_readwrite_autotest", > + "Name": "Hash read-write concurrency functional autotest", > + "Command": "hash_readwrite_func_autotest", > + "Func": default_autotest, > + "Report": None, > + }, > + { > + "Name": "Hash read-write concurrency perf autotest", > + "Command": "hash_readwrite_perf_autotest", > "Func": default_autotest, > "Report": None, > }, > diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c > index aa55db7fe..635ed5a9f 100644 > --- a/app/test/test_hash_readwrite.c > +++ b/app/test/test_hash_readwrite.c > @@ -749,106 +749,5 @@ test_hash_rw_func_main(void) > return 0; > } > > -static int > -test_hash_readwrite_main(void) > -{ > - /* > - * Variables used to choose different tests. > - * use_htm indicates if hardware transactional memory should be used. > - * reader_faster indicates if the reader threads should finish earlier > - * than writer threads. This is to timing either reader threads or > - * writer threads for performance numbers. > - */ > - int use_htm, use_ext, reader_faster; > - unsigned int i = 0, core_id = 0; > - > - if (rte_lcore_count() < 3) { > - printf("Not enough cores for hash_readwrite_autotest, > expecting at least 3\n"); > - return TEST_SKIPPED; > - } > - > - RTE_LCORE_FOREACH_SLAVE(core_id) { > - slave_core_ids[i] = core_id; > - i++; > - } > - > - setlocale(LC_NUMERIC, ""); > - > - if (rte_tm_supported()) { > - printf("Hardware transactional memory (lock elision) " > - "is supported\n"); > - > - printf("Test read-write with Hardware transactional > memory\n"); > - > - use_htm = 1; > - use_ext = 0; > - > - if (test_hash_readwrite_functional(use_ext, use_htm) < 0) > - return -1; > - > - use_ext = 1; > - if (test_hash_readwrite_functional(use_ext, use_htm) < 0) > - return -1; > - > - reader_faster = 1; > - if (test_hash_readwrite_perf(&htm_results, use_htm, > - reader_faster) < 0) > - return -1; > - > - reader_faster = 0; > - if (test_hash_readwrite_perf(&htm_results, use_htm, > - reader_faster) < 0) > - return -1; > - } else { > - printf("Hardware transactional memory (lock elision) " > - "is NOT supported\n"); > - } > - > - printf("Test read-write without Hardware transactional memory\n"); > - use_htm = 0; > - use_ext = 0; > - if (test_hash_readwrite_functional(use_ext, use_htm) < 0) > - return -1; > - > - use_ext = 1; > - if (test_hash_readwrite_functional(use_ext, use_htm) < 0) > - return -1; > - > - reader_faster = 1; > - if (test_hash_readwrite_perf(&non_htm_results, use_htm, > - reader_faster) < 0) > - return -1; > - reader_faster = 0; > - if (test_hash_readwrite_perf(&non_htm_results, use_htm, > - reader_faster) < 0) > - return -1; > - > - printf("================\n"); > - printf("Results summary:\n"); > - printf("================\n"); > - > - printf("single read: %u\n", htm_results.single_read); > - printf("single write: %u\n", htm_results.single_write); > - for (i = 0; i < NUM_TEST; i++) { > - printf("+++ core_cnt: %u +++\n", core_cnt[i]); > - printf("HTM:\n"); > - printf(" read only: %u\n", htm_results.read_only[i]); > - printf(" write only: %u\n", htm_results.write_only[i]); > - printf(" read-write read: %u\n", > htm_results.read_write_r[i]); > - printf(" read-write write: %u\n", > htm_results.read_write_w[i]); > - > - printf("non HTM:\n"); > - printf(" read only: %u\n", non_htm_results.read_only[i]); > - printf(" write only: %u\n", non_htm_results.write_only[i]); > - printf(" read-write read: %u\n", > - non_htm_results.read_write_r[i]); > - printf(" read-write write: %u\n", > - non_htm_results.read_write_w[i]); > - } > - > - return 0; > -} > - > -REGISTER_TEST_COMMAND(hash_readwrite_autotest, test_hash_readwrite_main); > REGISTER_TEST_COMMAND(hash_readwrite_func_autotest, test_hash_rw_func_main); > REGISTER_TEST_COMMAND(hash_readwrite_perf_autotest, test_hash_rw_perf_main); > -- > 2.17.1 >
I can see that DTS references this test: https://git.dpdk.org/tools/dts/tree/tests/TestSuite_unit_tests_eal.py#n164 Travis (and UNH) also runs those unit tests (via the list included in meson). Is there a reason to keep those in DTS? Thanks. -- David Marchand