Skip to content

Add python.yml GitHub workflow #101

Add python.yml GitHub workflow

Add python.yml GitHub workflow #101

GitHub Actions / Test Results (Linux python 3.8) failed Aug 28, 2024 in 0s

6 fail, 416 pass in 17m 49s

       68 files  ±0         68 suites  ±0   17m 49s ⏱️ +25s
     422 tests ±0       416 ✔️ ±0      0 💤 ±0    6 ±0 
28 696 runs  ±0  28 228 ✔️ ±0  456 💤 ±0  12 ±0 

Results for commit c90c347. ± Comparison against earlier commit 823437c.

Annotations

Check warning on line 1171 in python/test/test_action_script.py

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux python 3.8)

2 out of 68 runs failed: test_main (python.test.test_action_script.Test)

artifacts/Test Results (python-3.10, macos-latest)/test-results/pytest.xml [took 0s]
artifacts/Test Results (python-3.11, macos-latest)/test-results/pytest.xml [took 0s]
Raw output
AssertionError: 731 != 735
self = <test_action_script.Test testMethod=test_main>

    def test_main(self):
        with tempfile.TemporaryDirectory() as path:
            filepath = os.path.join(path, 'file')
            with open(filepath, 'wt', encoding='utf-8') as file:
                file.write('{}')
    
            gha = mock.MagicMock()
            settings = get_settings(dict(
                COMMIT='commit',
                GITHUB_TOKEN='********',
                GITHUB_EVENT_PATH=file.name,
                GITHUB_EVENT_NAME='push',
                GITHUB_REPOSITORY='repo',
                EVENT_FILE=None,
                FILES='\n'.join(str(path) for path in [test_files_path / '**' / '*.xml',
                                                       test_files_path / '**' / '*.trx',
                                                       test_files_path / '**' / '*.json']),
                JUNIT_FILES=str(test_files_path / 'junit-xml' / '**' / '*.xml'),
                NUNIT_FILES=str(test_files_path / 'nunit' / '**' / '*.xml'),
                XUNIT_FILES=str(test_files_path / 'xunit' / '**' / '*.xml'),
                TRX_FILES=str(test_files_path / 'trx' / '**' / '*.trx'),
                REPORT_SUITE_LOGS='info'
            ), gha)
    
            with mock.patch('publish_test_results.get_github'), \
                 mock.patch('publish.publisher.Publisher.publish') as m:
                main(settings, gha)
    
                # Publisher.publish is expected to have been called once
                self.assertEqual(1, len(m.call_args_list))
                self.assertEqual(3, len(m.call_args_list[0].args))
    
                # Publisher.publish is expected to have been called with these arguments
                results, cases, conclusion = m.call_args_list[0].args
                self.assertEqual(145, results.files)
                if Version(sys.version.split(' ')[0]) >= Version('3.10.0') and sys.platform.startswith('darwin'):
                    # on macOS and Python 3.10 and above we see one particular error
>                   self.assertEqual(731, results.suites)
E                   AssertionError: 731 != 735

test_action_script.py:1209: AssertionError

Check warning on line 944 in python/test/test_action_script.py

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux python 3.8)

2 out of 68 runs failed: test_parse_files (python.test.test_action_script.Test)

artifacts/Test Results (python-3.10, macos-latest)/test-results/pytest.xml [took 0s]
artifacts/Test Results (python-3.11, macos-latest)/test-results/pytest.xml [took 0s]
Raw output
AssertionError: 17 != 13
self = <test_action_script.Test testMethod=test_parse_files>

    def test_parse_files(self):
        gha = mock.MagicMock()
        settings = self.get_settings(files_glob='\n'.join([str(test_files_path / '**' / '*.xml'), str(test_files_path / '**' / '*.trx'), str(test_files_path / '**' / '*.json')]),
                                     junit_files_glob=str(test_files_path / 'junit-xml' / '**' / '*.xml'),
                                     nunit_files_glob=str(test_files_path / 'nunit' / '**' / '*.xml'),
                                     xunit_files_glob=str(test_files_path / 'xunit' / '**' / '*.xml'),
                                     trx_files_glob=str(test_files_path / 'trx' / '**' / '*.trx'))
        with mock.patch('publish_test_results.logger') as l:
            actual = parse_files(settings, gha)
    
            for call in l.info.call_args_list:
                print(call.args[0])
    
            self.assertEqual(17, len(l.info.call_args_list))
            self.assertTrue(any([call.args[0].startswith(f"Reading files {prettify_glob_pattern(settings.files_glob)} (76 files, ") for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading JUnit XML files {prettify_glob_pattern(settings.junit_files_glob)} (28 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading NUnit XML files {prettify_glob_pattern(settings.nunit_files_glob)} (24 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading XUnit XML files {prettify_glob_pattern(settings.xunit_files_glob)} (8 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading TRX files {prettify_glob_pattern(settings.trx_files_glob)} (9 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 27 JUnit XML files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 24 NUnit XML files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 8 XUnit XML files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 9 TRX files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 1 Dart JSON file (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 1 Mocha JSON file (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 4 unsupported files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Unsupported file: ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}xml{os.sep}non-xml.xml') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}junit-xml{os.sep}non-junit.xml') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}json{os.sep}non-json.json') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}json{os.sep}malformed-json.json') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Finished reading 145 files in ') for call in l.info.call_args_list]))
    
            for call in l.debug.call_args_list:
                print(call.args[0])
    
            self.assertEqual(11, len(l.debug.call_args_list))
            self.assertTrue(any([call.args[0].startswith('reading files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading JUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading NUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading XUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading TRX files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected JUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected NUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected XUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected TRX files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected Dart JSON files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected Mocha JSON files [') for call in l.debug.call_args_list]))
    
        self.assertEqual([], gha.method_calls)
    
        self.assertEqual(145, actual.files)
        if Version(sys.version.split(' ')[0]) >= Version('3.10.0') and sys.platform.startswith('darwin'):
            # on macOS and Python 3.10 and above we see one particular error
>           self.assertEqual(17, len(actual.errors))
E           AssertionError: 17 != 13

test_action_script.py:999: AssertionError

Check warning on line 1062 in python/test/test_action_script.py

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux python 3.8)

2 out of 68 runs failed: test_parse_files_with_suite_details (python.test.test_action_script.Test)

artifacts/Test Results (python-3.10, macos-latest)/test-results/pytest.xml [took 0s]
artifacts/Test Results (python-3.11, macos-latest)/test-results/pytest.xml [took 0s]
Raw output
AssertionError: 363 != 365
self = <test_action_script.Test testMethod=test_parse_files_with_suite_details>

    def test_parse_files_with_suite_details(self):
        for options in [
            {'report_suite_out_logs': True, 'report_suite_err_logs': False},
            {'report_suite_out_logs': False, 'report_suite_err_logs': True},
            {'report_suite_out_logs': True, 'report_suite_err_logs': True},
            {'json_suite_details': True}
        ]:
            with self.subTest(**options):
                gha = mock.MagicMock()
                settings = self.get_settings(junit_files_glob=str(test_files_path / 'junit-xml' / '**' / '*.xml'),
                                             nunit_files_glob=str(test_files_path / 'nunit' / '**' / '*.xml'),
                                             xunit_files_glob=str(test_files_path / 'xunit' / '**' / '*.xml'),
                                             trx_files_glob=str(test_files_path / 'trx' / '**' / '*.trx'),
                                             **options)
                actual = parse_files(settings, gha)
    
                if Version(sys.version.split(' ')[0]) >= Version('3.10.0') and sys.platform.startswith('darwin'):
                    # on macOS and Python 3.10 and above we see one particular error
>                   self.assertEqual(363, len(actual.suite_details))
E                   AssertionError: 363 != 365

test_action_script.py:1081: AssertionError

Check warning on line 1171 in python/test/test_action_script.py

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux python 3.8)

2 out of 68 runs failed: test_main (python.test.test_junit.Test)

artifacts/Test Results (python-3.10, macos-latest)/test-results/pytest.xml [took 0s]
artifacts/Test Results (python-3.11, macos-latest)/test-results/pytest.xml [took 0s]
Raw output
AssertionError: 731 != 735
self = <test_action_script.Test testMethod=test_main>

    def test_main(self):
        with tempfile.TemporaryDirectory() as path:
            filepath = os.path.join(path, 'file')
            with open(filepath, 'wt', encoding='utf-8') as file:
                file.write('{}')
    
            gha = mock.MagicMock()
            settings = get_settings(dict(
                COMMIT='commit',
                GITHUB_TOKEN='********',
                GITHUB_EVENT_PATH=file.name,
                GITHUB_EVENT_NAME='push',
                GITHUB_REPOSITORY='repo',
                EVENT_FILE=None,
                FILES='\n'.join(str(path) for path in [test_files_path / '**' / '*.xml',
                                                       test_files_path / '**' / '*.trx',
                                                       test_files_path / '**' / '*.json']),
                JUNIT_FILES=str(test_files_path / 'junit-xml' / '**' / '*.xml'),
                NUNIT_FILES=str(test_files_path / 'nunit' / '**' / '*.xml'),
                XUNIT_FILES=str(test_files_path / 'xunit' / '**' / '*.xml'),
                TRX_FILES=str(test_files_path / 'trx' / '**' / '*.trx'),
                REPORT_SUITE_LOGS='info'
            ), gha)
    
            with mock.patch('publish_test_results.get_github'), \
                 mock.patch('publish.publisher.Publisher.publish') as m:
                main(settings, gha)
    
                # Publisher.publish is expected to have been called once
                self.assertEqual(1, len(m.call_args_list))
                self.assertEqual(3, len(m.call_args_list[0].args))
    
                # Publisher.publish is expected to have been called with these arguments
                results, cases, conclusion = m.call_args_list[0].args
                self.assertEqual(145, results.files)
                if Version(sys.version.split(' ')[0]) >= Version('3.10.0') and sys.platform.startswith('darwin'):
                    # on macOS and Python 3.10 and above we see one particular error
>                   self.assertEqual(731, results.suites)
E                   AssertionError: 731 != 735

test_action_script.py:1209: AssertionError

Check warning on line 944 in python/test/test_action_script.py

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux python 3.8)

2 out of 68 runs failed: test_parse_files (python.test.test_junit.Test)

artifacts/Test Results (python-3.10, macos-latest)/test-results/pytest.xml [took 0s]
artifacts/Test Results (python-3.11, macos-latest)/test-results/pytest.xml [took 0s]
Raw output
AssertionError: 17 != 13
self = <test_action_script.Test testMethod=test_parse_files>

    def test_parse_files(self):
        gha = mock.MagicMock()
        settings = self.get_settings(files_glob='\n'.join([str(test_files_path / '**' / '*.xml'), str(test_files_path / '**' / '*.trx'), str(test_files_path / '**' / '*.json')]),
                                     junit_files_glob=str(test_files_path / 'junit-xml' / '**' / '*.xml'),
                                     nunit_files_glob=str(test_files_path / 'nunit' / '**' / '*.xml'),
                                     xunit_files_glob=str(test_files_path / 'xunit' / '**' / '*.xml'),
                                     trx_files_glob=str(test_files_path / 'trx' / '**' / '*.trx'))
        with mock.patch('publish_test_results.logger') as l:
            actual = parse_files(settings, gha)
    
            for call in l.info.call_args_list:
                print(call.args[0])
    
            self.assertEqual(17, len(l.info.call_args_list))
            self.assertTrue(any([call.args[0].startswith(f"Reading files {prettify_glob_pattern(settings.files_glob)} (76 files, ") for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading JUnit XML files {prettify_glob_pattern(settings.junit_files_glob)} (28 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading NUnit XML files {prettify_glob_pattern(settings.nunit_files_glob)} (24 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading XUnit XML files {prettify_glob_pattern(settings.xunit_files_glob)} (8 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Reading TRX files {prettify_glob_pattern(settings.trx_files_glob)} (9 files, ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 27 JUnit XML files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 24 NUnit XML files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 8 XUnit XML files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 9 TRX files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 1 Dart JSON file (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 1 Mocha JSON file (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Detected 4 unsupported files (') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Unsupported file: ') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}xml{os.sep}non-xml.xml') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}junit-xml{os.sep}non-junit.xml') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}json{os.sep}non-json.json') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].endswith(f'python{os.sep}test{os.sep}files{os.sep}json{os.sep}malformed-json.json') for call in l.info.call_args_list]))
            self.assertTrue(any([call.args[0].startswith(f'Finished reading 145 files in ') for call in l.info.call_args_list]))
    
            for call in l.debug.call_args_list:
                print(call.args[0])
    
            self.assertEqual(11, len(l.debug.call_args_list))
            self.assertTrue(any([call.args[0].startswith('reading files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading JUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading NUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading XUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('reading TRX files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected JUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected NUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected XUnit XML files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected TRX files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected Dart JSON files [') for call in l.debug.call_args_list]))
            self.assertTrue(any([call.args[0].startswith('detected Mocha JSON files [') for call in l.debug.call_args_list]))
    
        self.assertEqual([], gha.method_calls)
    
        self.assertEqual(145, actual.files)
        if Version(sys.version.split(' ')[0]) >= Version('3.10.0') and sys.platform.startswith('darwin'):
            # on macOS and Python 3.10 and above we see one particular error
>           self.assertEqual(17, len(actual.errors))
E           AssertionError: 17 != 13

test_action_script.py:999: AssertionError

Check warning on line 1062 in python/test/test_action_script.py

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux python 3.8)

2 out of 68 runs failed: test_parse_files_with_suite_details (python.test.test_junit.Test)

artifacts/Test Results (python-3.10, macos-latest)/test-results/pytest.xml [took 0s]
artifacts/Test Results (python-3.11, macos-latest)/test-results/pytest.xml [took 0s]
Raw output
AssertionError: 363 != 365
self = <test_action_script.Test testMethod=test_parse_files_with_suite_details>

    def test_parse_files_with_suite_details(self):
        for options in [
            {'report_suite_out_logs': True, 'report_suite_err_logs': False},
            {'report_suite_out_logs': False, 'report_suite_err_logs': True},
            {'report_suite_out_logs': True, 'report_suite_err_logs': True},
            {'json_suite_details': True}
        ]:
            with self.subTest(**options):
                gha = mock.MagicMock()
                settings = self.get_settings(junit_files_glob=str(test_files_path / 'junit-xml' / '**' / '*.xml'),
                                             nunit_files_glob=str(test_files_path / 'nunit' / '**' / '*.xml'),
                                             xunit_files_glob=str(test_files_path / 'xunit' / '**' / '*.xml'),
                                             trx_files_glob=str(test_files_path / 'trx' / '**' / '*.trx'),
                                             **options)
                actual = parse_files(settings, gha)
    
                if Version(sys.version.split(' ')[0]) >= Version('3.10.0') and sys.platform.startswith('darwin'):
                    # on macOS and Python 3.10 and above we see one particular error
>                   self.assertEqual(363, len(actual.suite_details))
E                   AssertionError: 363 != 365

test_action_script.py:1081: AssertionError