==> Building on ll ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-green ./ PKGBUILD 935 100% 0.00kB/s 0:00:00 935 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=1/3) python-green-3.4.3-1.log 352 100% 343.75kB/s 0:00:00 352 100% 343.75kB/s 0:00:00 (xfr#2, to-chk=0/3) sent 963 bytes received 101 bytes 709.33 bytes/sec total size is 1,124 speedup is 1.06 ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l felix4 on remote host... [?25l:: Synchronizing package databases... core downloading... extra downloading... community downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix4]...done ==> Making package: python-green 3.4.3-1 (Thu Sep 22 14:24:34 2022) ==> Retrieving sources...  -> Downloading python-green-3.4.3.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 100 7727 0 7727 0 0 2021 0 --:--:-- 0:00:03 --:--:-- 8519 100 369k 0 369k 0 0 78658 0 --:--:-- 0:00:04 --:--:-- 195k 100 955k 0 955k 0 0 165k 0 --:--:-- 0:00:05 --:--:-- 335k 100 996k 0 996k 0 0 170k 0 --:--:-- 0:00:05 --:--:-- 339k ==> Validating source files with sha512sums... python-green-3.4.3.tar.gz ... Passed ==> Making package: python-green 3.4.3-1 (Thu Sep 22 14:28:31 2022) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (7) New Version Net Change Download Size core/libnsl 2.0.0-2 0.06 MiB extra/libxslt 1.1.37-2 0.66 MiB 0.20 MiB core/python 3.10.7-1 80.86 MiB community/python-colorama 0.4.5-1 0.08 MiB 0.02 MiB community/python-coverage 6.2-1 1.20 MiB 0.23 MiB extra/python-lxml 4.9.1-1 3.41 MiB 1.08 MiB community/python-unidecode 1.3.4-1 1.38 MiB 0.24 MiB Total Download Size: 1.77 MiB Total Installed Size: 87.65 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-lxml-4.9.1-1-riscv64 downloading... python-unidecode-1.3.4-1-any downloading... python-coverage-6.2-1-riscv64 downloading... libxslt-1.1.37-2-riscv64 downloading... python-colorama-0.4.5-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing libnsl... installing python... Optional dependencies for python python-setuptools python-pip sqlite [installed] mpdecimal: for decimal xz: for lzma [installed] tk: for tkinter installing python-colorama... installing python-coverage... Optional dependencies for python-coverage python-tomli: for pyproject.toml support installing python-unidecode... installing libxslt... Optional dependencies for libxslt python: Python bindings [installed] installing python-lxml... Optional dependencies for python-lxml python-beautifulsoup4: support for beautifulsoup parser to parse not well formed HTML python-cssselect: support for cssselect python-html5lib: support for html5lib parser python-lxml-docs: offline docs [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... warning: dependency cycle detected: warning: python-fixtures will be installed before its python-testtools dependency Package (29) New Version Net Change Download Size community/cython 0.29.32-2 7.52 MiB extra/python-appdirs 1.4.4-7 0.07 MiB extra/python-asgiref 3.5.2-1 0.15 MiB 0.04 MiB community/python-autocommand 2.2.1-1 0.07 MiB community/python-extras 1.0.0-10 0.04 MiB 0.01 MiB community/python-fixtures 4.0.1-1 0.42 MiB 0.07 MiB community/python-importlib-metadata 4.9.0-1 0.15 MiB community/python-inflect 6.0.0-1 0.28 MiB community/python-jaraco.context 4.1.2-1 0.02 MiB community/python-jaraco.functools 3.5.1-1 0.05 MiB community/python-jaraco.text 3.9.1-1 0.07 MiB community/python-more-itertools 8.13.0-2 0.48 MiB extra/python-nspektr 0.4.0-2 0.02 MiB extra/python-ordered-set 4.1.0-1 0.06 MiB extra/python-packaging 21.3-1 0.26 MiB community/python-pbr 5.10.0-1 0.66 MiB community/python-pydantic 1.10.2-1 5.79 MiB extra/python-pyparsing 3.0.9-1 0.96 MiB community/python-pytz 2022.1-1 0.14 MiB 0.04 MiB extra/python-six 1.16.0-6 0.09 MiB community/python-sqlparse 0.4.2-3 0.22 MiB 0.06 MiB extra/python-tomli 2.0.1-1 0.08 MiB extra/python-trove-classifiers 2022.8.31-1 0.11 MiB community/python-typing_extensions 4.3.0-1 0.21 MiB extra/python-validate-pyproject 0.10.1-1 0.41 MiB community/python-zipp 3.8.1-1 0.03 MiB extra/python-django 4.0.6-1 28.73 MiB 4.43 MiB extra/python-setuptools 1:61.3.1-1 3.18 MiB community/python-testtools 2.5.0-3 2.11 MiB 0.32 MiB Total Download Size: 4.97 MiB Total Installed Size: 52.38 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-django-4.0.6-1-any downloading... python-testtools-2.5.0-3-any downloading... python-fixtures-4.0.1-1-any downloading... python-sqlparse-0.4.2-3-any downloading... python-pytz-2022.1-1-any downloading... python-asgiref-3.5.2-1-any downloading... python-extras-1.0.0-10-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-appdirs... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing cython... installing python-typing_extensions... installing python-pydantic... Optional dependencies for python-pydantic python-dotenv: for .env file support python-email-validator: for email validation installing python-inflect... installing python-jaraco.text... installing python-pyparsing... Optional dependencies for python-pyparsing python-railroad-diagrams: for generating Railroad Diagrams python-jinja: for generating Railroad Diagrams installing python-packaging... installing python-nspektr... installing python-ordered-set... installing python-tomli... installing python-trove-classifiers... installing python-validate-pyproject... installing python-setuptools... installing python-pytz... installing python-sqlparse... installing python-asgiref... installing python-django... Optional dependencies for python-django python-psycopg2: for PostgreSQL backend python-argon2_cffi: for Argon2 password hashing support installing python-zipp... installing python-importlib-metadata... installing python-pbr... installing python-extras... installing python-six... installing python-fixtures... installing python-testtools... [?25h==> Retrieving sources...  -> Found python-green-3.4.3.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting python-green-3.4.3.tar.gz with bsdtar ==> Starting build()... running build running build_py creating build creating build/lib creating build/lib/green copying green/__init__.py -> build/lib/green copying green/__main__.py -> build/lib/green copying green/cmdline.py -> build/lib/green copying green/command.py -> build/lib/green copying green/config.py -> build/lib/green copying green/djangorunner.py -> build/lib/green copying green/examples.py -> build/lib/green copying green/exceptions.py -> build/lib/green copying green/junit.py -> build/lib/green copying green/loader.py -> build/lib/green copying green/output.py -> build/lib/green copying green/process.py -> build/lib/green copying green/result.py -> build/lib/green copying green/runner.py -> build/lib/green copying green/suite.py -> build/lib/green copying green/version.py -> build/lib/green creating build/lib/green/test copying green/test/__init__.py -> build/lib/green/test copying green/test/test_cmdline.py -> build/lib/green/test copying green/test/test_command.py -> build/lib/green/test copying green/test/test_config.py -> build/lib/green/test copying green/test/test_djangorunner.py -> build/lib/green/test copying green/test/test_integration.py -> build/lib/green/test copying green/test/test_junit.py -> build/lib/green/test copying green/test/test_load_tests.py -> build/lib/green/test copying green/test/test_loader.py -> build/lib/green/test copying green/test/test_output.py -> build/lib/green/test copying green/test/test_process.py -> build/lib/green/test copying green/test/test_result.py -> build/lib/green/test copying green/test/test_runner.py -> build/lib/green/test copying green/test/test_suite.py -> build/lib/green/test copying green/test/test_version.py -> build/lib/green/test copying green/test/test_windows.py -> build/lib/green/test copying green/VERSION -> build/lib/green copying green/shell_completion.sh -> build/lib/green ==> Starting check()... Green 3.4.3, Coverage 6.2, Python 3.10.7 green.test.test_cmdline TestMain . test_completionFile: --completion-file causes a version string to be output . test_completions: --completions returns completions (the loader module tests deeper) . test_configFileDebug: A debug message is output if a config file is loaded (coverage test) . test_debug: --debug causes the log-level to be set to debug . test_disableTermcolor: --notermcolor causes coverage of the line disabling termcolor . test_disableWindowsSupport: --disable-windows . test_generate_junit_test_report: Test that a report is generated when we use the '--junit-report' option. . test_import_cmdline_module: The cmdline module can be imported . test_noTestsCreatesEmptyTestSuite: If loadTargets doesn't find any tests, an empty test suite is created. Coverage test, since loading the module inside the main function (due to coverage handling constraints) prevents injecting a mock. . test_notTesting: We actually attempt running loadTargets (coverage test) . test_options: --options causes options to be output . test_version: --version causes a version string to be output green.test.test_command TestCommand . test_get_user_options . test_get_user_options_dynamic . test_get_user_options_setup_py: When get_user_options() is called by 'python setup.py --help-commands', it returns [] early and doesn't crash. . test_initialize_options . test_requires . test_run . test_run_exits green.test.test_config ParseArguments . test_absent: Arguments not specified on the command-line are not present in the args object. . test_target: The specified target gets parsed TestConfig . test_cmd_env_nodef_nosetup: Setup: --config on cmd, $GREEN_CONFIG is set, $HOME/.green does not exist, setup.cfg does not exist Result: load --config . test_cmd_env_nodef_setup: Setup: --config on cmd, $GREEN_CONFIG is set, $HOME/.green does not exist, setup.cfg exists Result: load --config . test_cmd_noenv_def_nosetup: Setup: --config on cmd, $GREEN_CONFIG unset, $HOME/.green exists, setup.cfg does not exist Result: load --config . test_cmd_noenv_def_setup: Setup: --config on cmd, $GREEN_CONFIG unset, $HOME/.green exists, setup.cfg exists Result: load --config . test_cmd_noenv_nodef_nosetup: Setup: --config on cmd, $GREEN_CONFIG unset, $HOME/.green does not exist, setup.cfg does not exist Result: load --config . test_cmd_noenv_nodef_setup: Setup: --config on cmd, $GREEN_CONFIG unset, $HOME/.green does not exist, setup.cfg exists Result: load --config . test_nocmd_env_cwd: Setup: no --config option, $GREEN_CONFIG is set, .green in local dir, Result: load $GREEN_CONFIG . test_nocmd_env_def_nosetup: Setup: no --config option, $GREEN_CONFIG is set, $HOME/.green exists, setup.cfg does not exist Result: load $GREEN_CONFIG . test_nocmd_env_def_setup: Setup: no --config option, $GREEN_CONFIG is set, $HOME/.green exists, setup.cfg exists Result: load $GREEN_CONFIG . test_nocmd_env_nodef_nosetup: Setup: no --config option, $GREEN_CONFIG is set, $HOME/.green does not exist, setup.cfg does not exist Result: load $GREEN_CONFIG . test_nocmd_env_nodef_setup: Setup: no --config option, $GREEN_CONFIG is set, $HOME/.green does not exist, setup.cfg exists Result: load $GREEN_CONFIG . test_nocmd_noenv_def_nosetup: Setup: no --config option, $GREEN_CONFIG unset, $HOME/.green exists, setup.cfg does not exist Result: load $HOME/.green . test_nocmd_noenv_def_setup: Setup: no --config option, $GREEN_CONFIG unset, $HOME/.green exists, setup.cfg exists Result: load $HOME/.green . test_nocmd_noenv_nodef_nosetup: Setup: no --config option, $GREEN_CONFIG unset, no $HOME/.green, setup.cfg does not exist Result: empty config . test_nocmd_noenv_nodef_setup: Setup: no --config option, $GREEN_CONFIG unset, no $HOME/.green, setup.cfg exists Result: empty config TestMergeConfig . test_forgotToUpdateMerge: mergeConfig raises an exception for unknown cmdline args . test_no_overwrite: Default unspecified command-line args do not overwrite config values. . test_overwrite: Non-default command-line argument values overwrite config values. . test_specified_command_line: Specified command-line arguments always overwrite config file values . test_targets: The targets passed in make it through mergeConfig, and the specified target gets parsed green.test.test_djangorunner TestDjangoMissing . test_importError: Raises ImportError if Django is not available TestDjangoRunner . test_check_default_verbosity: If no verbosity is passed, default value is set . test_check_verbosity_argument_recognised: Ensure that the python manage.py test command recognises the --green-verbosity flag . test_run_coverage: If no tests are found, we create an empty test suite and run it. . test_run_noTests: If no tests are found, we create an empty test suite and run it. . test_run_testsWithBadInput: Bad input causes a ValueError to be raised . test_run_testsWithLabel: Labeled tests run okay . test_run_testsWithoutLabel: Not passing in a label causes the targets to be ['.'] . test_run_with_verbosity_flag: Tests should run fine if verbosity is passed through CLI flag green.test.test_integration TestFinalizer E test_finalizer: Test that the finalizer works on Python 3.8+ green.test.test_junit JUnitXMLReportIsGenerated . test_convert_test_will_record_time_for_test . test_suite_time . test_when_the_results_contain_only_one_erroneous_test . test_when_the_results_contain_only_one_failed_test . test_when_the_results_contain_only_one_skipped_test . test_when_the_results_contain_only_one_successful_test . test_when_the_results_contain_only_one_test_with_errput . test_when_the_results_contain_only_one_test_with_output . test_when_the_results_contain_tests_with_various_verdict green.test.test_load_tests TestLoadTests . test_additive: Check that adding tests to the `tests` argument of the load_tests function add more tests to be run. . test_foreign_suite: Load tests does not reuse the tests and instead returns another TestSuite (or maybe not even a unittest.TestSuite). . test_monkey_patch: Check that monkey-patching a TestCase in the load_tests function actually changes the referenced class. . test_none_cancels: Check that if load_tests returns None, no tests are run. green.test.test_loader TestCompletions . test_completionBad: Bad match generates no completions . test_completionDot: A '.' target generates completions for the whole directory . test_completionEmpty: An empty target generates completions for the whole directory . test_completionExact: Correct completions are generated for an exact match. . test_completionIgnoresErrors: Errors in one module don't block the remaining completions . test_completionPartial: Correct completions generated for partial match. 2nd target ignored. . test_completionPartialShort: Correct completions generated for short partial match. TestDiscover . test_bad_input: discover() raises ImportError when passed a non-directory . test_bad_pkg_name: If the directory is an invalid package name, don't bother looking in it. . test_oserror: discover() prints a debug message and moves on when ecountering an OSError . test_symlink: If the directory is a symlink, it should be skipped. TestDottedModule . test_bad_path: A bad path causes an exception . test_good_path: A good path gets (dotted_module, parent) properly returned TestFlattenTestSuite . test_docTests: flattenTestSuite injects the test module name into the doctest's .__module__ TestIsPackage . test_no: A non-package is identified . test_yes: A package is identified. TestLoadFromModuleFilename . test_skipped_module: A module that wants to be skipped gets skipped TestLoadTargets . test_BigDirWithAbsoluteImports: Big dir discovers tests and doesn't crash on absolute import . test_DirWithInit: Dir empty other than blank __init__.py returns None . test_DottedName: Importing a module via dotted name loads the tests. . test_DottedNamePackageFromPath: Importing a package from path loads the tests. . test_MalformedModuleByName: Importing malformed module by name creates test that raises ImportError. . test_ModuleByName: A module in a package can be loaded by filename. . test_duplicate_targets: Specifying duplicate targets does not cause duplicate loading. . test_emptyDirAbsolute: Absolute path to empty directory returns None . test_emptyDirDot: '.' while in an empty directory returns None . test_emptyDirRelative: Relative path to empty directory returns None . test_file_pattern: Specifying a file pattern causes only matching files to be loaded . test_multiple_targets: Specifying multiple targets causes them all to be tested. . test_partiallyGoodName: Don't crash loading module.object with existing module but not object. . test_relativeDotDir: Dotted relative path to empty directory returns None . test_returnIsLoadable: Results returned by toParallelTargets should be loadable by loadTargets(), even if they aren't directly loadable through a package relative to the current working directory. . test_syntax_error_by_dotname: Loading a module by dotname with a syntax error produces a crash. . test_syntax_error_by_filename: Loading a module by file name with a syntax error produces a crash. TestLoadTestsFromTestCase . test_isTestCaseDisabled: TestCases disabled by nose generators don't get loaded . test_normal: Normal test methods get loaded . test_runTest: When a testcase has no matching method names, but does have a runTest, use that instead. TestToParallelTargets . test_filter_out_dot: toParallelTargets() correctly returns modules when '.' is in target list . test_ignore_doctest: toParallelTargets() ignores . test_methods_with_constraints: toParallelTargets() returns test names when constrained. . test_methods_with_no_constraints: toParallelTargets() returns only module names. TestToProtoTestList . test_moduleImportFailure: toProtoTestList() raises import errors normally . test_moduleImportFailureIgnored: toProtoTestList() does not raise errors when doing completions green.test.test_output TestColors . testTermcolorAuto: termcolor=None causes termcolor autodetected and set to True or False . testTermcolorFalse: termcolor=False results in no terminal output . testTermcolorTrue: termcolor=True results in terminal output . testTerminalColorsDoNotCrash: terminal colors don't crash, and they output something . testUp: calling up gives us a non-blank string TestDebug . testDebug: debug() works as we expect TestGreenStream . testBadStringType: passing the wrong stream type to GreenStream gets auto-converted . testCoverageDetection: write() detects a coverage percentage flying by s testDisableWindowsFalse: disable_windows=False: Colorama strips ANSI color codes from the stream -- Colorama won't strip ANSI unless running on Windows . testDisableWindowsTrue: disable_windows=True: ANSI color codes are present in the stream . testEncodingDefault: The encoding defaults to 'UTF-8' if we can't find an encoding. . testEncodingMirrors: The encoding of a stream gets mirrored through . testFormatText: formatText returns the input text by default . testUnidecodeAppveyor: When I'm on Appveyor, I run text through Unidecode . testUnidecodeDisabled: Unidecode can be disabled . testWritelines: Compatibility function writelines(lines) repeatedly calls write() green.test.test_process TestPoolRunner . test_SyntaxErrorInUnitTest: SyntaxError gets reported as an error loading the unit test . test_bad_attr: Accessing a bad attribute is only reported once (see #150) . test_error: Exception raised running unit test is reported as an error . test_normalRun: Runs normally . test_process: Avoid FileNotFoundError when using a multiprocessing.Value, fixes #154. This test never fails, we have to watch the outer stderr to see if we get output like this: TestProcessLogger . test_callThrough: Calls are passed through to the wrapped callable . test_exception: A raised exception gets re-raised green.test.test_result TestBaseTestResult . test_displayStderr: displayStderr displays captured stderr . test_displayStdout: displayStdout displays captured stdout . test_stderrErrput: recordStderr records errput. . test_stderrNoErrput: recordStderr ignores empty errput sent to it . test_stdoutNoOutput: recordStdout ignores empty output sent to it . test_stdoutOutput: recordStdout records output. TestGreenTestResult . test_addProtoTestResult: addProtoTestResult adds the correct things to the correct places. . test_failfastAddError: addError triggers failfast when it is set . test_failfastAddFailure: addFailure triggers failfast when it is set . test_failfastAddUnexpectedSuccess: addUnexpectedSuccess no longer triggers failfast when it is set . test_printErrorsDots: printErrors() looks correct in verbose=1 (dots) mode. . test_printErrorsNoTracebacks: printErrors() omits tracebacks for failures and errors when no_tracebacks is True . test_printErrorsSkipreport: printErrors() prints the skip report. . test_printErrorsStderrQuietStdoutOnSuccess: printErrors() prints out the captured stdout except when quiet_stdout is set to True for successful tests. . test_printErrorsStdout: printErrors() prints out the captured stdout. . test_printErrorsStdoutQuietStdoutOnError: printErrors() prints out the captured stdout except when quiet_stdout is set to True for successful tests, but here we are on a failing test. . test_printErrorsStdoutQuietStdoutOnSuccess: printErrors() prints out the captured stdout except when quiet_stdout is set to True for successful tests. . test_printErrorsVerbose2: printErrors() looks correct in verbose=2 mode. . test_printErrorsVerbose3: printErrors() looks correct in verbose=3 mode. . test_printErrorsVerbose4: printErrors() looks correct in verbose=4 mode. . test_reportOutcome: _reportOutcome contains output we expect. . test_reportOutcomeCursorUp: _reportOutcome moves the cursor up when it needs to. . test_reportOutcomeVerbose: _reportOutcome contains output we expect in verbose mode. . test_startTestVerbosePipe: startTest() contains output we expect in verbose mode on a pipe . test_startTestVerboseTerminal: startTest() contains output we expect in verbose mode on a terminal . test_stopTestRun: We ignore coverage's error about not having anything to cover. . test_stopTestRun_processes_message: StopTestRun adds number of processes used to summary . test_stopTestRun_singular_process_message: StopTestRun adds correct summary when one process is used . test_tryRecordingStdoutStderr: Recording stdout and stderr works correctly. . test_tryRecordingStdoutStderr_SubTest: Recording stdout and stderr works correctly for failed/errored SubTests. TestGreenTestResultAdds . test_addError: addError() makes the correct calls to other functions. . test_addError_with_test_time: addError() sets test time to correct value . test_addExcepectedFailure_with_test_time: addExpectedFailure() makes test time correct value . test_addExpectedFailure: addExpectedFailure() makes the correct calls to other functions. . test_addFailure: addFailure() makes the correct calls to other functions. . test_addFailureTwistedSkip: Twisted's practice of calling addFailure() with their skips is detected and redirected to addSkip() . test_addFailure_with_test_time: addFailure() makes test time the correct value . test_addSkip: addSkip() makes the correct calls to other functions. . test_addSkip_with_test_time: addSkip() makes test time the correct value . test_addSuccess: addSuccess() makes the correct calls to other functions. . test_addSuccess_with_test_time: addSuccess() sets test time to correct value . test_addUnexpectedSuccess: addUnexpectedSuccess() makes the correct calls to other functions. . test_addUnexpectedSuccess_with_test_time: addUnexpectedSuccess() makes test time with correct value . test_wasSuccessful: wasSuccessful returns what we expect. . test_wasSuccessful_coverageFails: wasSuccessful fails if minimum coverage is not met . test_wasSuccessful_coverageSucceeds: wasSuccessful succeds if minimum coverage is met . test_wasSuccessful_expectedFailures: wasSuccessful returns what we expect when we only have expectedFailures . test_wasSuccessful_passing: wasSuccessful returns what we expect when we only have passing tests . test_wasSuccessful_skipped: wasSuccessful returns what we expect when we only have skipped tests . test_wasSuccessful_unexpectedSuccesses: wasSuccessful returns what we expect when we only have unexpectedSuccesses TestGreenTestRunCoverage . test_coverage . test_quiet_coverage TestProtoError . test_str: Running a ProtoError through str() should result in a traceback string TestProtoTest . test_ProtoTestBlank: ProtoTest can be instantiated empty . test_ProtoTestFromTest: Passing a test into ProtoTest copies out the relevant info. . test_class_or_module_failure: If we parse an error from a class or module failure, we get the correct result. . test_doctest: If we parse a doctest, we get all the fields we need. . test_getDescription: getDescription() returns what we expect for all verbose levels . test_multilineDocstring: The description includes all of docstring until the first blank line. . test_newlineDocstring: Docstrings starting with a newline are properly handled. . test_str: Running a ProtoTest through str() is the same as getting .dotted_name TestProtoTestResult . test_addError: addError adds a test and error correctly . test_addExpectedFailure: addExpectedFailure adds a test and error correctly . test_addFailure: addFailure adds a test and error correctly . test_addSkip: addSkip adds a test and reason correctly . test_addSubTest_error: addSubTest calls over to addError for errors . test_addSubTest_failure: addSubTest calls over to addFailure for failures . test_addSuccess: addSuccess adds a test correctly . test_addUnexpectedSuccess: addUnexpectedSuccess adds a test correctly green.test.test_runner TestInitializerOrFinalizer . test_blank: Given a blank dotted function, calling the initializer/finalizer does nothing. . test_crash: An importable, callable object...crashes. . test_importable: Given an actual importable module and function, the function is run. . test_not_callable: An importable, but not-callable-object also raises an InitializerOrFinalizerError. . test_unimportable: Given an unimportable module, an InitializerOrFinalizerError is raised. TestProcesses . test_badTest: Bad syntax in a testfile is caught as a test error. . test_catchProcessSIGINT: run() can catch SIGINT while running a process. . test_collisionProtection: If tempfile.gettempdir() is used for dir, using same testfile name will not collide. . test_detectNumProcesses: args.processes = 0 causes auto-detection of number of processes. . test_empty: run() does not crash with empty suite and processes . test_runCoverage: Running coverage in process mode doesn't crash . test_uncaughtException: Exceptions that escape the test framework get caught by poolRunner and reported as a failure. For example, the testtools implementation of TestCase unwisely (but deliberately) lets SystemExit exceptions through. TestRun . test_GreenStream: run() can use a GreenStream for output. . test_failedSaysSo: A failing test case causes the whole run to report 'FAILED' . test_failfast: failfast causes the testing to stop after the first failure. . test_noTestsFound: When we don't find any tests, we say so. . test_stdout: run() can use sys.stdout as the stream. . test_systemExit: Raising a SystemExit gets caught and reported. . test_verbose3: verbose=3 causes version output, and an empty test case passes. . test_warnings: setting warnings='always' doesn't crash green.test.test_suite TestFunctional . test_skip_in_setUpClass: If SkipTest is raised in setUpClass, then the test gets skipped TestGreenTestSuite . test_addTest_testPattern: Setting test_pattern will cause a test to be filtered. . test_allow_stdout: The allow_stdout setting should not get ignored. . test_defaultArgs: Passing in default arguments causes attributes to be set. . test_empty: An empty suite can be instantiated. . test_failedModuleSetup: When module setup fails, we skip to the next test. . test_failedModuleTeardown: When module teardown fails, we report an error. . test_shouldStop: When result.shouldStop == True, the suite should exit early. . test_skip_in_setUpClass: If SkipTest is raised in setUpClass, then the test gets skipped TestModuleTeardown . test_failedModuleTeardown: A failing tearDownModule gets counted as an errored test green.test.test_version TestVersion . test_pretty_version: pretty_version() has the content we expect . test_versionSet: __version__ is not blank . test_versionType: __version__ is a unicode string green.test.test_windows TestWindows s test_colorOutput: Color output functions on windows -- This test is for windows-specific behavior. Skipped green.test.test_output.TestGreenStream.testDisableWindowsFalse - Colorama won't strip ANSI unless running on Windows Skipped green.test.test_windows.TestWindows.test_colorOutput - This test is for windows-specific behavior. Error in green.test.test_integration.TestFinalizer.test_finalizer Traceback (most recent call last): File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-green/src/green-3.4.3/green/test/test_integration.py", line 55, in test_finalizer output = subprocess.run( File "/usr/lib/python3.10/subprocess.py", line 503, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.10/subprocess.py", line 1152, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.10/subprocess.py", line 2004, in _communicate self._check_timeout(endtime, orig_timeout, stdout, stderr) File "/usr/lib/python3.10/subprocess.py", line 1196, in _check_timeout raise TimeoutExpired( subprocess.TimeoutExpired: Command '['/usr/bin/python3', '-m', 'green.cmdline', '--finalizer=test_finalizer0.msg', '--maxtasksperchild=1']' timed out after 10 seconds Name Stmts Miss Cover Missing ----------------------------------------------------- green/cmdline.py 45 0 100% green/command.py 41 0 100% green/config.py 0 0 100% green/djangorunner.py 61 0 100% green/exceptions.py 3 0 100% green/junit.py 120 0 100% green/loader.py 259 0 100% green/output.py 100 0 100% green/process.py 58 0 100% green/result.py 383 0 100% green/runner.py 72 0 100% green/suite.py 91 0 100% green/version.py 0 0 100% ----------------------------------------------------- TOTAL 1233 0 100% Ran 233 tests in 192.318s using 8 processes FAILED (errors=1, passes=230, skips=2) ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix4/build receiving incremental file list python-green-3.4.3-1-riscv64-build.log python-green-3.4.3-1-riscv64-check.log sent 62 bytes received 7,186 bytes 4,832.00 bytes/sec total size is 25,484 speedup is 3.52