From 74596e113d426a2d4e3757a28a826181a4f03558 Mon Sep 17 00:00:00 2001 From: Keith Battocchi Date: Thu, 5 Aug 2021 17:14:15 -0400 Subject: [PATCH] Split tests apart --- azure-pipelines.yml | 35 ++++++++++++++++++++++++---- econml/tests/test_causal_analysis.py | 2 ++ pyproject.toml | 3 ++- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ac1322844..4bc7d52b5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -161,15 +161,15 @@ jobs: parameters: package: '-e .[tf,plt]' job: - job: Tests_no_dml + job: Tests_main dependsOn: 'EvalChanges' condition: eq(dependencies.EvalChanges.outputs['output.testCode'], 'True') - displayName: 'Run tests (non-DML)' + displayName: 'Run tests (main)' steps: - script: 'pip install pytest-runner && python setup.py pytest' displayName: 'Unit tests' env: - PYTEST_ADDOPTS: '-m "not (notebook or automl or dml)"' + PYTEST_ADDOPTS: '-m "not (notebook or automl or dml or causal)"' COVERAGE_PROCESS_START: 'setup.cfg' - task: PublishTestResults@2 displayName: 'Publish Test Results **/test-results.xml' @@ -196,7 +196,7 @@ jobs: - script: 'pip install pytest-runner && python setup.py pytest' displayName: 'Unit tests' env: - PYTEST_ADDOPTS: '-m "dml and (not (notebook or automl))"' + PYTEST_ADDOPTS: '-m "dml"' COVERAGE_PROCESS_START: 'setup.cfg' - task: PublishTestResults@2 displayName: 'Publish Test Results **/test-results.xml' @@ -210,3 +210,30 @@ jobs: inputs: codeCoverageTool: Cobertura summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' + +- template: azure-pipelines-steps.yml + parameters: + package: '-e .[tf,plt]' + job: + job: Tests_causal + dependsOn: 'EvalChanges' + condition: eq(dependencies.EvalChanges.outputs['output.testCode'], 'True') + displayName: 'Run tests (Causal)' + steps: + - script: 'pip install pytest-runner && python setup.py pytest' + displayName: 'Unit tests' + env: + PYTEST_ADDOPTS: '-m "causal"' + COVERAGE_PROCESS_START: 'setup.cfg' + - task: PublishTestResults@2 + displayName: 'Publish Test Results **/test-results.xml' + inputs: + testResultsFiles: '**/test-results.xml' + testRunTitle: 'Python $(python.version), image $(imageName)' + condition: succeededOrFailed() + + - task: PublishCodeCoverageResults@1 + displayName: 'Publish Code Coverage Results' + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' \ No newline at end of file diff --git a/econml/tests/test_causal_analysis.py b/econml/tests/test_causal_analysis.py index 532111680..fee1d3100 100644 --- a/econml/tests/test_causal_analysis.py +++ b/econml/tests/test_causal_analysis.py @@ -6,6 +6,7 @@ from numpy.core.fromnumeric import squeeze import pandas as pd from contextlib import ExitStack +import pytest from econml.solutions.causal_analysis import CausalAnalysis from econml.solutions.causal_analysis._causal_analysis import _CausalInsightsConstants @@ -14,6 +15,7 @@ def assert_less_close(arr1, arr2): assert np.all(np.logical_or(arr1 <= arr2, np.isclose(arr1, arr2))) +@pytest.mark.causal class TestCausalAnalysis(unittest.TestCase): def test_basic_array(self): diff --git a/pyproject.toml b/pyproject.toml index 1d29bce41..9f0652dbb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,5 +14,6 @@ markers = [ "slow", "notebook", "automl", - "dml" + "dml", + "causal" ] \ No newline at end of file