diff options
author | Ole Troan <otroan@cisco.com> | 2022-12-01 11:22:06 +0100 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2022-12-07 10:33:20 +0000 |
commit | 37157dad514b85d008cf8e01a889889d8869f02b (patch) | |
tree | dfdbb28255c4e6d73a7a84333fb5ccb2fde47f5f /test | |
parent | d7413835e1478b0c1356bae7d45e00061d7eb8d4 (diff) |
tests: multiple apidir locations
To support testing of external plugins, add support to the test framework and PAPI
for specifying a list of locations to look for api.json files.
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I128a306e3c091dc8ef994801b1470b82d2f4595d
Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile | 7 | ||||
-rw-r--r-- | test/config.py | 8 | ||||
-rw-r--r-- | test/vpp_papi_provider.py | 2 |
3 files changed, 15 insertions, 2 deletions
diff --git a/test/Makefile b/test/Makefile index 87b121ac11f..e5e997583db 100644 --- a/test/Makefile +++ b/test/Makefile @@ -249,7 +249,12 @@ ifneq ($(findstring $(API_FUZZ),1 y yes),) ARG16=--api-fuzz=on endif -EXTRA_ARGS=$(ARG0) $(ARG1) $(ARG2) $(ARG3) $(ARG4) $(ARG5) $(ARG6) $(ARG7) $(ARG8) $(ARG9) $(ARG10) $(ARG11) $(ARG12) $(ARG13) $(ARG14) $(ARG15) $(ARG16) +ARG17= +ifneq ($(EXTERN_APIDIR),) +ARG17=--extern-apidir=$(EXTERN_APIDIR) +endif + +EXTRA_ARGS=$(ARG0) $(ARG1) $(ARG2) $(ARG3) $(ARG4) $(ARG5) $(ARG6) $(ARG7) $(ARG8) $(ARG9) $(ARG10) $(ARG11) $(ARG12) $(ARG13) $(ARG14) $(ARG15) $(ARG16) $(ARG17) RUN_TESTS_ARGS=--failed-dir=$(FAILED_DIR) --verbose=$(V) --jobs=$(TEST_JOBS) --filter=$(TEST) --retries=$(RETRIES) --venv-dir=$(VENV_PATH) --vpp-ws-dir=$(WS_ROOT) --vpp-tag=$(TAG) --rnd-seed=$(RND_SEED) --vpp-worker-count="$(VPP_WORKER_COUNT)" --keep-pcaps $(PLUGIN_PATH_ARGS) $(TEST_PLUGIN_PATH_ARGS) $(EXTRA_ARGS) RUN_SCRIPT_ARGS=--python-opts=$(PYTHON_OPTS) diff --git a/test/config.py b/test/config.py index e73555723ff..d2f14c82e19 100644 --- a/test/config.py +++ b/test/config.py @@ -302,6 +302,14 @@ parser.add_argument( ) parser.add_argument( + "--extern-apidir", + action="append", + type=directory, + default=[], + help="directory to look for API JSON files", +) + +parser.add_argument( "--coredump-size", action="store", default="unlimited", diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index 148eca2053b..6c3cd7f83fa 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -238,7 +238,7 @@ class VppPapiProvider(object): # install_dir is a class attribute. We need to set it before # calling the constructor. - VPPApiClient.apidir = config.vpp_install_dir + VPPApiClient.apidir = config.extern_apidir + [config.vpp_install_dir] self.vpp = VPPApiClient( logger=test_class.logger, |