Age | Commit message (Collapse) | Author |
|
API tests are now moved to test/common_plat/validation/api
(from test/validation),
The reason for this move is two folded:
* Moving down validation to all-plaforms/validation disambiguates
the meaning of validation (which up to now was referring to both
platform agnostic tests and to the set of tests to pass to be ODP
compatible). Now things in test/common_plat/ are platform agnostic.
So test/common_plat/validation/* are platform agnostic things for the
validation tests, as much as test/common_plat/performance are
platform agnostic things for the performance tests.
* creating the api directory under "validation" simply enable adding
other interfaces (such as future drv) as part of the validation tests
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Reviewed-and-tested-by: Yi He <yi.he@linaro.org>
Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
cunit_common is changed to use the implementation agnostic ODP thread
create and join functions, from helpers. Tests are no longer aware if
an odp thread is a linux process or linux thread under the hood.
The helper decides.
The function pointer which is passed when creating the odp threads now
points to a function returning an int instead of a ptr.
This is changed so that when odp threads are processes, the int returned
become the process exit code.
The return code is nevertheless just used to detect erros (as before).
Note that it is now important that the ODP threads return a correct
status, as for processes, odp threads runs on a copy of the memory, so
that c_unit assertions will not be reflected on the main process summary.
Failing to return a proper status means that error will be lost when
running the test in process mode.
odp threads returning an error status code will be detected as an error
on the main process at join time...
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Brian Brooks <brian.brooks@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
As the test itself does not have specific args, it just calls
the cunit_common parsing function to pick up cunit_common and helpers
arguments.
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Brian Brooks <brian.brooks@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
During the process of addressing Linaro BUG 2027 which relates to
inaccurate reporting of available CPUs by ODP linux-generic when
running atop a kernel compiled with NO_HZ_FULL support,
a number of instances were encountered in the validation and
performance test software where incorrect methods were used to
determine the proper (or maximum) number of worker threads to create.
See Linaro BUG 2027 for details.
https://bugs.linaro.org/show_bug.cgi?id=2027
The use of odp_cpu_count() for this purpose is incorrect and
deprecated... odp_cpumask_default_worker() should always be used
to determine the set and number of CPUs available for creating
worker threads.
The use of odp_cpu_count() for this purpose in conjunction with the
correct means of determining available CPUs resulted in some tests
hanging in calls to odp_barrier_wait() as the barriers were initialized
to expect threads on ALL CPUs rather than on worker CPUs alone...
and there were too few worker threads created to satisfy the barriers.
The changes below correct all instances I could find of this deprecated
technique and allowed all tests to complete successfully with the
BUG 2027 patch applied. (BTW they also run correctly without that patch
after the application of the modifications included here.)
Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
odp.h actually describes the applicatiion interface of ODP and is
logicaly moved to odp_api.h.
Applications now includes <odp_api.h>.
This simplifies the addition of other ODP interfaces (e.g. drivers may
include odp_drv.h in the future.)
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
It's not convenient to see reused a thread id for threads that are
finished to fast.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Add an odp_cunit_update() function to allow some attributes of previously
registered tests to be modified, such as whether it's active or not.
Previously, registering and running tests was done in a single step;
odp_cunit_run(testsuites);
But this is now split;
odp_cunit_register(testsuites);
odp_cunit_update(testsuites_updates);
odp_cunit_run();
The odp_cunit_update() is optional and none of the currently defined
tests use it, so there's no functional change in this patch.
Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org>
Reviewed-by: Christophe Milard <christophe.milard@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Add the ability for individual test cases to be marked as inactive,
either unconditionally or based on the result of a check function which
is called at test init time. Inactive tests are registered with CUnit
and are reported as inactive in test reports without being executed.
All uses of CU_TestInfo have been replaced with odp_testinfo_t in order
to carry the conditional function pointer in addition to the CU_TestInfo
struct, and some new macros added to make things a bit easier;
_CU_TEST_INFO() is renamed to ODP_TEST_INFO() but remains functionally
the same, these tests will be run unconditionally.
ODP_TEST_INFO_INACTIVE() can be used to define an inactive test case.
There's no good reason to do this in any of the modules under
test/validation/ but the intention is to allow this to be done on a
per-platform basis from within the platform/<platform>/test/ tree.
ODP_TEST_INFO_CONDITIONAL() takes an additional parameter which is a
pointer to a function to call at test suite initialisation time to
determine whether that test should be marked as inactive.
Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org>
Reviewed-by: Christophe Milard <christophe.milard@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
test symbols are now exported in the module lib.
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|