From 15dfb97b3884d7fb86c4dc827caa8fb7ecef7757 Mon Sep 17 00:00:00 2001 From: Andre Anjos <andre.dos.anjos@gmail.com> Date: Mon, 16 Nov 2020 19:05:38 +0100 Subject: [PATCH] [build,scripts,data] Rename nosetests specific mark expression to be more generic and enable pytest equivalent --- bob/devtools/build.py | 8 +++++--- bob/devtools/data/recipe_append.yaml | 1 + bob/devtools/scripts/alternative_nightlies.py | 2 +- bob/devtools/scripts/build.py | 15 +++++++++------ bob/devtools/scripts/ci.py | 6 +++--- bob/devtools/scripts/create.py | 1 + bob/devtools/scripts/graph.py | 1 + bob/devtools/scripts/rebuild.py | 14 ++++++++------ bob/devtools/scripts/test.py | 14 ++++++++------ conda/recipe_append.yaml | 1 + 10 files changed, 38 insertions(+), 25 deletions(-) diff --git a/bob/devtools/build.py b/bob/devtools/build.py index bf1ed405..6084c7ce 100644 --- a/bob/devtools/build.py +++ b/bob/devtools/build.py @@ -699,11 +699,12 @@ if __name__ == "__main__": "to enable debug messages [default: %(default)s]", ) parser.add_argument( - "--nose-eval-attr", + "--test-mark-expr", "-A", default="", help="Use this flag to avoid running certain tests during the build. " - "It forwards all settings to ``nosetests --eval-attr=<settings>``", + "It forwards all settings to ``nosetests`` via --eval-attr=<settings>``" + " and ``pytest`` via -m=<settings>.", ) args = parser.parse_args() @@ -723,7 +724,8 @@ if __name__ == "__main__": bootstrap.set_environment("DOCSERVER", server) bootstrap.set_environment("LANG", "en_US.UTF-8") bootstrap.set_environment("LC_ALL", os.environ["LANG"]) - bootstrap.set_environment("NOSE_EVAL_ATTR", args.nose_eval_attr) + bootstrap.set_environment("NOSE_EVAL_ATTR", args.test_mark_expr) + bootstrap.set_environment("PYTEST_ADDOPTS", f"-m '{args.test_mark_expr}'") # get information about the version of the package being built version, is_prerelease = check_version(args.work_dir, args.tag) diff --git a/bob/devtools/data/recipe_append.yaml b/bob/devtools/data/recipe_append.yaml index c0481152..f02e4e0b 100644 --- a/bob/devtools/data/recipe_append.yaml +++ b/bob/devtools/data/recipe_append.yaml @@ -2,3 +2,4 @@ build: script_env: - DOCSERVER - NOSE_EVAL_ATTR + - PYTEST_ADDOPTS diff --git a/bob/devtools/scripts/alternative_nightlies.py b/bob/devtools/scripts/alternative_nightlies.py index 3726479b..ad2179c4 100644 --- a/bob/devtools/scripts/alternative_nightlies.py +++ b/bob/devtools/scripts/alternative_nightlies.py @@ -14,7 +14,7 @@ Examples: 2. Provide a list of key value pairs of arguments to be used as variables in the CI - $ bdt gitlab alt-nightlies -vv order.txt NOSE_EVAL_ATTR "not slow" + $ bdt gitlab alt-nightlies -vv order.txt TEST_MARK_EXPR "not slow" """ ) @click.argument( diff --git a/bob/devtools/scripts/build.py b/bob/devtools/scripts/build.py index d7fa57bd..d9404706 100644 --- a/bob/devtools/scripts/build.py +++ b/bob/devtools/scripts/build.py @@ -138,11 +138,12 @@ Examples: ) @click.option( "-A", - "--nose-eval-attr", - envvar="NOSE_EVAL_ATTR", + "--test-mark-expr", + envvar="TEST_MARK_EXPR", default="", - help="Use this flag to avoid running certain tests during the build. " - "It forwards all settings to ``nosetests --eval-attr=<settings>``", + help="Use this flag to avoid running certain tests during the build. " + "It forwards all settings to ``nosetests`` via --eval-attr=<settings>``" + " and ``pytest`` via -m=<settings>.", ) @verbosity_option() @bdt.raise_on_error @@ -159,7 +160,7 @@ def build( stable, dry_run, ci, - nose_eval_attr, + test_mark_expr, ): """Builds package through conda-build with stock configuration. @@ -220,7 +221,9 @@ def build( set_environment("BOB_DOCUMENTATION_SERVER", doc_urls) # this is for testing and may limit which tests run - set_environment("NOSE_EVAL_ATTR", nose_eval_attr) + set_environment("NOSE_EVAL_ATTR", test_mark_expr) + set_environment("PYTEST_ADDOPTS", f"-m '{test_mark_expr}'") + arch = conda_arch() diff --git a/bob/devtools/scripts/ci.py b/bob/devtools/scripts/ci.py index 4dc3e8bc..57773b3d 100644 --- a/bob/devtools/scripts/ci.py +++ b/bob/devtools/scripts/ci.py @@ -482,7 +482,7 @@ def test(ctx, dry_run): stable="CI_COMMIT_TAG" in os.environ, dry_run=dry_run, ci=True, - nose_eval_attr=os.environ.get("NOSE_EVAL_ATTR", ""), + test_mark_expr=os.environ.get("TEST_MARK_EXPR", ""), ) @@ -558,7 +558,7 @@ def build(ctx, dry_run, recipe_dir): stable="CI_COMMIT_TAG" in os.environ, dry_run=dry_run, ci=True, - nose_eval_attr=os.environ.get("NOSE_EVAL_ATTR", ""), + test_mark_expr=os.environ.get("TEST_MARK_EXPR", ""), ) @@ -705,7 +705,7 @@ def nightlies(ctx, order, dry_run): stable=stable, dry_run=dry_run, ci=True, - nose_eval_attr=os.environ.get("NOSE_EVAL_ATTR", ""), + test_mark_expr=os.environ.get("TEST_MARK_EXPR", ""), ) is_master = os.environ["CI_COMMIT_REF_NAME"] == "master" diff --git a/bob/devtools/scripts/create.py b/bob/devtools/scripts/create.py index 61d3b6f1..bdd7c120 100644 --- a/bob/devtools/scripts/create.py +++ b/bob/devtools/scripts/create.py @@ -229,6 +229,7 @@ def create( # set some environment variables before continuing set_environment("DOCSERVER", server, os.environ) set_environment("NOSE_EVAL_ATTR", "", os.environ) + set_environment("PYTEST_ADDOPTS", "", os.environ) logger.debug( 'This package is considered part of group "%s" - tunning ' diff --git a/bob/devtools/scripts/graph.py b/bob/devtools/scripts/graph.py index be4cddc0..28d189c6 100644 --- a/bob/devtools/scripts/graph.py +++ b/bob/devtools/scripts/graph.py @@ -201,6 +201,7 @@ def graph( # avoids conda-build complaints set_environment("NOSE_EVAL_ATTR", "") + set_environment("PYTEST_ADDOPTS", "") adj_matrix = compute_adjencence_matrix( gl, package, conda_config, upload_channel, deptypes=deptypes diff --git a/bob/devtools/scripts/rebuild.py b/bob/devtools/scripts/rebuild.py index 33e2c0d3..1297a227 100644 --- a/bob/devtools/scripts/rebuild.py +++ b/bob/devtools/scripts/rebuild.py @@ -126,11 +126,12 @@ Examples: ) @click.option( "-A", - "--nose-eval-attr", - envvar="NOSE_EVAL_ATTR", + "--test-mark-expr", + envvar="TEST_MARK_EXPR", default="", - help="Use this flag to avoid running certain tests during the build. " - "It forwards all settings to ``nosetests --eval-attr=<settings>``", + help="Use this flag to avoid running certain tests during the build. " + "It forwards all settings to ``nosetests`` via --eval-attr=<settings>``" + " and ``pytest`` via -m=<settings>.", ) @verbosity_option() @bdt.raise_on_error @@ -146,7 +147,7 @@ def rebuild( stable, dry_run, ci, - nose_eval_attr, + test_mark_expr, ): """Tests and rebuilds packages through conda-build with stock configuration. @@ -212,7 +213,8 @@ def rebuild( set_environment("BOB_DOCUMENTATION_SERVER", doc_urls) # this is for testing and may limit which tests run - set_environment("NOSE_EVAL_ATTR", nose_eval_attr) + set_environment("NOSE_EVAL_ATTR", test_mark_expr) + set_environment("PYTEST_ADDOPTS", f"-m '{test_mark_expr}'") arch = conda_arch() diff --git a/bob/devtools/scripts/test.py b/bob/devtools/scripts/test.py index f1204256..6721d40e 100644 --- a/bob/devtools/scripts/test.py +++ b/bob/devtools/scripts/test.py @@ -117,11 +117,12 @@ Examples: ) @click.option( "-A", - "--nose-eval-attr", - envvar="NOSE_EVAL_ATTR", + "--test-mark-expr", + envvar="TEST_MARK_EXPR", default="", - help="Use this flag to avoid running certain tests during the build. " - "It forwards all settings to ``nosetests --eval-attr=<settings>``", + help="Use this flag to avoid running certain tests during the build. " + "It forwards all settings to ``nosetests`` via --eval-attr=<settings>``" + " and ``pytest`` via -m=<settings>.", ) @verbosity_option() @bdt.raise_on_error @@ -136,7 +137,7 @@ def test( stable, dry_run, ci, - nose_eval_attr, + test_mark_expr, ): """Tests (pre-built) package through conda-build with stock configuration. @@ -194,7 +195,8 @@ def test( set_environment("BOB_DOCUMENTATION_SERVER", doc_urls) # this is for testing and may limit which tests run - set_environment("NOSE_EVAL_ATTR", nose_eval_attr) + set_environment("NOSE_EVAL_ATTR", test_mark_expr) + set_environment("PYTEST_ADDOPTS", f"-m '{test_mark_expr}'") arch = conda_arch() for p in package: diff --git a/conda/recipe_append.yaml b/conda/recipe_append.yaml index c0481152..f02e4e0b 100644 --- a/conda/recipe_append.yaml +++ b/conda/recipe_append.yaml @@ -2,3 +2,4 @@ build: script_env: - DOCSERVER - NOSE_EVAL_ATTR + - PYTEST_ADDOPTS -- GitLab