$ pypy --version Python 2.7.13 (1d8462e42c37, Aug 30 2018, 09:58:57) [PyPy 6.0.0 with GCC 8.2.1 20180801 (Red Hat 8.2.1-2)] $ pypy test.py test_basic (__main__.ExecutionContextTests) ... ok test_importer_detects_module_name (__main__.ExecutionContextTests) ... ok test_importer_only_works_with_sh (__main__.ExecutionContextTests) ... ok test_no_bad_name (__main__.ExecutionContextTests) ... ok test_no_interfere1 (__main__.ExecutionContextTests) ... ok test_no_interfere2 (__main__.ExecutionContextTests) ... ok test_reimport_no_interfere (__main__.ExecutionContextTests) ... ok test_set_in_parent_function (__main__.ExecutionContextTests) ... ok test_append_stdout (__main__.FunctionalTests) ... ok test_arg_preprocessor (__main__.FunctionalTests) ... ok test_background (__main__.FunctionalTests) ... ok test_background_exception (__main__.FunctionalTests) ... Exception in thread background thread for pid 10764: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_2: RAN: /usr/bin/ls /ofawjeofj STDOUT: STDERR: ok test_bake_args_come_first (__main__.FunctionalTests) ... ok test_baked_command_can_be_printed (__main__.FunctionalTests) ... ok test_bg_exit_code (__main__.FunctionalTests) ... ok test_binary_input (__main__.FunctionalTests) ... ok test_binary_pipe (__main__.FunctionalTests) ... ok test_callable_interact (__main__.FunctionalTests) ... ok test_callable_stdin (__main__.FunctionalTests) ... ok test_cast_bg (__main__.FunctionalTests) ... ok test_cd_homedir (__main__.FunctionalTests) ... ok test_change_stdout_buffering (__main__.FunctionalTests) ... ok test_cmd_eq (__main__.FunctionalTests) ... ok test_command_not_found (__main__.FunctionalTests) ... ok test_command_wrapper (__main__.FunctionalTests) ... ok test_command_wrapper_equivalence (__main__.FunctionalTests) ... ok test_composition (__main__.FunctionalTests) ... ok test_custom_long_prefix (__main__.FunctionalTests) ... ok test_custom_separator (__main__.FunctionalTests) ... ok test_custom_separator_space (__main__.FunctionalTests) ... ok test_custom_timeout_signal (__main__.FunctionalTests) ... ok test_cwd (__main__.FunctionalTests) ... ok test_decode_error_handling (__main__.FunctionalTests) ... ok test_doesnt_execute_directories (__main__.FunctionalTests) ... ok test_done_callback (__main__.FunctionalTests) ... ok test_done_cb_exc (__main__.FunctionalTests) ... Exception in thread background thread for pid 10908: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_1: RAN: /usr/bin/python /var/tmp/tmpMlZoeP STDOUT: STDERR: ok test_encoding (__main__.FunctionalTests) ... ok test_environment (__main__.FunctionalTests) tests that environments variables that we pass into sh commands ... ok test_err_piped (__main__.FunctionalTests) ... ok test_err_redirection (__main__.FunctionalTests) ... ok test_err_redirection_actual_file (__main__.FunctionalTests) ... ok test_err_to_out (__main__.FunctionalTests) ... ok test_err_to_out_and_sys_stdout (__main__.FunctionalTests) ... ok test_exception (__main__.FunctionalTests) ... ok test_exit_code (__main__.FunctionalTests) ... ok test_exit_code_from_exception (__main__.FunctionalTests) ... ok test_exit_code_with_hasattr (__main__.FunctionalTests) ... Exception in thread background thread for pid 10970: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_3: RAN: /usr/bin/python /var/tmp/tmpRenDTV STDOUT: STDERR: ok test_failure_with_large_output (__main__.FunctionalTests) ... ok test_fg (__main__.FunctionalTests) ... ok test_fg_alternative (__main__.FunctionalTests) ... ok test_fg_env (__main__.FunctionalTests) ... ok test_fg_exc (__main__.FunctionalTests) ... ok test_for_generator_to_err (__main__.FunctionalTests) ... ok test_fork_exc (__main__.FunctionalTests) ... ok test_general_signal (__main__.FunctionalTests) ... ok test_generator_and_callback (__main__.FunctionalTests) ... ok test_grandchild_no_sighup (__main__.FunctionalTests) ... ok test_huge_piped_data (__main__.FunctionalTests) ... ok test_incompatible_special_args (__main__.FunctionalTests) ... ok test_incremental_composition (__main__.FunctionalTests) ... ok test_internal_bufsize (__main__.FunctionalTests) ... ok test_iter_generator (__main__.FunctionalTests) ... ok test_iter_unicode (__main__.FunctionalTests) ... ok test_long_bool_option (__main__.FunctionalTests) ... ok test_long_option (__main__.FunctionalTests) ... ok test_manual_stdin_file (__main__.FunctionalTests) ... ok test_manual_stdin_iterable (__main__.FunctionalTests) ... ok test_manual_stdin_queue (__main__.FunctionalTests) ... ok test_manual_stdin_string (__main__.FunctionalTests) ... ok test_multiple_args_long_option (__main__.FunctionalTests) ... ok test_multiple_args_short_option (__main__.FunctionalTests) ... ok test_multiple_bakes (__main__.FunctionalTests) ... ok test_multiple_pipes (__main__.FunctionalTests) ... ok test_new_session (__main__.FunctionalTests) ... ok test_no_arg (__main__.FunctionalTests) ... ok test_no_err (__main__.FunctionalTests) ... ok test_no_out (__main__.FunctionalTests) ... ok test_no_pipe (__main__.FunctionalTests) ... ok test_no_proc_no_attr (__main__.FunctionalTests) ... ok test_non_ascii_error (__main__.FunctionalTests) ... ok test_non_existant_cwd (__main__.FunctionalTests) ... ok test_nonblocking_iter (__main__.FunctionalTests) ... ok test_number_arg (__main__.FunctionalTests) ... ok test_ok_code (__main__.FunctionalTests) ... ok test_ok_code_none (__main__.FunctionalTests) ... ok test_out_filename (__main__.FunctionalTests) ... ok test_out_redirection (__main__.FunctionalTests) ... ok test_output_equivalence (__main__.FunctionalTests) ... ok test_partially_applied_callback (__main__.FunctionalTests) ... ok test_patched_glob (__main__.FunctionalTests) ... ok test_patched_glob_with_recursive_argument (__main__.FunctionalTests) ... skipped 'Test only works on Python 3.5 or higher' test_pipe_fd (__main__.FunctionalTests) ... ok test_piped_exception1 (__main__.FunctionalTests) ... Exception in thread background thread for pid 11269: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_2: RAN: /usr/bin/python /var/tmp/tmpLQMOyE STDOUT: STDERR: ok test_piped_exception2 (__main__.FunctionalTests) ... Exception in thread background thread for pid 11277: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_2: RAN: /usr/bin/python /var/tmp/tmpjP1Ucw STDOUT: STDERR: ok test_piped_generator (__main__.FunctionalTests) ... ok test_print_command (__main__.FunctionalTests) ... ok test_pushd (__main__.FunctionalTests) test basic pushd functionality ... ok test_pushd_cd (__main__.FunctionalTests) test that pushd works like pushd/popd with built-in cd correctly ... ok test_quote_escaping (__main__.FunctionalTests) ... ok test_raw_args (__main__.FunctionalTests) ... ok test_shadowed_subcommand (__main__.FunctionalTests) ... ok test_short_bool_option (__main__.FunctionalTests) ... ok test_short_option (__main__.FunctionalTests) ... ok test_signal_exception (__main__.FunctionalTests) ... Exception in thread background thread for pid 11359: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc SignalException_SIGTERM: RAN: /usr/bin/python /var/tmp/tmpmXXKUl STDOUT: STDERR: ok test_signal_group (__main__.FunctionalTests) ... Exception in thread background thread for pid 11378: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc SignalException_SIGKILL: RAN: /usr/bin/python /var/tmp/tmpNegZzJ STDOUT: 11383 11383 STDERR: ok test_sigpipe (__main__.FunctionalTests) ... Exception in thread background thread for pid 11416: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc SignalException_SIGKILL: RAN: /usr/bin/python /var/tmp/tmpNegZzJ STDOUT: 11421 11421 STDERR: ok test_stdin_from_string (__main__.FunctionalTests) ... ok test_stdin_newline_bufsize (__main__.FunctionalTests) ... ok test_stdin_unbuffered_bufsize (__main__.FunctionalTests) ... ok test_stdout_callback (__main__.FunctionalTests) ... ok test_stdout_callback_buffered (__main__.FunctionalTests) ... ok test_stdout_callback_exit (__main__.FunctionalTests) ... ok test_stdout_callback_kill (__main__.FunctionalTests) ... Exception in thread background thread for pid 11478: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc SignalException_SIGKILL: RAN: /usr/bin/python -u /var/tmp/tmpwg2xTu STDOUT: STDERR: ok test_stdout_callback_line_buffered (__main__.FunctionalTests) ... ok test_stdout_callback_line_unbuffered (__main__.FunctionalTests) ... ok test_stdout_callback_no_wait (__main__.FunctionalTests) ... ok test_stdout_callback_terminate (__main__.FunctionalTests) ... Exception in thread background thread for pid 11555: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc SignalException_SIGTERM: RAN: /usr/bin/python -u /var/tmp/tmpKmi1xJ STDOUT: STDERR: ok test_stdout_callback_with_input (__main__.FunctionalTests) ... ok test_stdout_pipe (__main__.FunctionalTests) ... ok test_stringio_input (__main__.FunctionalTests) ... ok test_stringio_output (__main__.FunctionalTests) ... ok test_subcommand_and_bake (__main__.FunctionalTests) ... ok test_timeout (__main__.FunctionalTests) ... ok test_timeout_overstep (__main__.FunctionalTests) ... ok test_trunc_exc (__main__.FunctionalTests) ... ok test_tty_input (__main__.FunctionalTests) ... ok test_tty_output (__main__.FunctionalTests) ... ok test_tty_stdin (__main__.FunctionalTests) ... ok test_tty_tee (__main__.FunctionalTests) ... ok test_unchecked_pipeline_failure (__main__.FunctionalTests) ... Exception in thread background thread for pid 11640: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_2: RAN: /usr/bin/python /var/tmp/tmpTBmpMx STDOUT: STDERR: ok test_unchecked_producer_failure (__main__.FunctionalTests) ... Exception in thread background thread for pid 11652: Traceback (most recent call last): File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 812, in __bootstrap_inner self.run() File "/usr/lib64/pypy-6.0/lib-python/2.7/threading.py", line 765, in run self.__target(*self.__args, **self.__kwargs) File "/srv/git/sh/sh.py", line 1540, in wrap fn(*args, **kwargs) File "/srv/git/sh/sh.py", line 2459, in background_thread handle_exit_code(exit_code) File "/srv/git/sh/sh.py", line 2157, in fn return self.command.handle_command_exit_code(exit_code) File "/srv/git/sh/sh.py", line 815, in handle_command_exit_code raise exc ErrorReturnCode_2: RAN: /usr/bin/python /var/tmp/tmp7VTy54 STDOUT: STDERR: ok test_unicode_arg (__main__.FunctionalTests) ... ok test_unicode_exception (__main__.FunctionalTests) ... ok test_which (__main__.FunctionalTests) ... ok test_which_paths (__main__.FunctionalTests) ... ok test_with_context (__main__.FunctionalTests) ... ok test_with_context_args (__main__.FunctionalTests) ... ok test_args_deprecated (__main__.MiscTests) ... ok test_cant_import_all (__main__.MiscTests) ... ok test_change_log_message (__main__.MiscTests) ... ok test_eintr (__main__.MiscTests) ... ok test_fd_over_1024 (__main__.MiscTests) ... ok test_no_fd_leak (__main__.MiscTests) ... ok test_percent_doesnt_fail_logging (__main__.MiscTests) test that a command name doesn't interfere with string formatting in ... ok test_pushd_thread_safety (__main__.MiscTests) ... ok test_signal_exception_aliases (__main__.MiscTests) proves that signal exceptions with numbers and names are equivalent ... ok test_stdin_nohang (__main__.MiscTests) ... ok test_stop_iteration_doesnt_block (__main__.MiscTests) proves that calling calling next() on a stopped iterator doesn't ... ok test_threaded_with_contexts (__main__.MiscTests) ... ok test_unicode_path (__main__.MiscTests) ... ok test_wraps (__main__.MiscTests) ... ok test_patch_command (__main__.MockTests) ... skipped 'requires unittest.mock' test_patch_command_cls (__main__.MockTests) ... skipped 'requires unittest.mock' test_chunk_buffered (__main__.StreamBuffererTests) ... ok test_newline_buffered (__main__.StreamBuffererTests) ... ok test_unbuffered (__main__.StreamBuffererTests) ... ok ---------------------------------------------------------------------- Ran 156 tests in 52.084s OK (skipped=3) Coverage.py warning: Module sh.py was never imported. (module-not-imported) Coverage.py warning: No data was collected. (no-data-collected)