py$(PYV): commands[0]> python -c 'import greenlet._greenlet as G; assert G.GREENLET_USE_STANDARD_THREADING' py$(PYV): commands[1]> python -m unittest discover -v greenlet.tests test_break_ctxvars (greenlet.tests.test_contextvars.ContextVarsTests.test_break_ctxvars) ... ok test_context_assignment_different_thread (greenlet.tests.test_contextvars.ContextVarsTests.test_context_assignment_different_thread) ... ok test_context_assignment_while_running (greenlet.tests.test_contextvars.ContextVarsTests.test_context_assignment_while_running) ... ok test_context_assignment_wrong_type (greenlet.tests.test_contextvars.ContextVarsTests.test_context_assignment_wrong_type) ... ok test_context_not_propagated (greenlet.tests.test_contextvars.ContextVarsTests.test_context_not_propagated) ... ok test_context_propagated_by_context_run (greenlet.tests.test_contextvars.ContextVarsTests.test_context_propagated_by_context_run) ... ok test_context_propagated_by_setting_attribute (greenlet.tests.test_contextvars.ContextVarsTests.test_context_propagated_by_setting_attribute) ... ok test_context_shared (greenlet.tests.test_contextvars.ContextVarsTests.test_context_shared) ... ok test_not_broken_if_using_attribute_instead_of_context_run (greenlet.tests.test_contextvars.ContextVarsTests.test_not_broken_if_using_attribute_instead_of_context_run) ... ok test_exception_switch (greenlet.tests.test_cpp.CPPTests.test_exception_switch) ... ok test_leak_test_exception_switch_and_do_in_g2 (greenlet.tests.test_cpp.CPPTests.test_leak_test_exception_switch_and_do_in_g2) ... ok test_unhandled_exception_in_greenlet_aborts (greenlet.tests.test_cpp.CPPTests.test_unhandled_exception_in_greenlet_aborts) ... ok test_unhandled_nonstd_exception_aborts (greenlet.tests.test_cpp.CPPTests.test_unhandled_nonstd_exception_aborts) ... ok test_unhandled_std_exception_aborts (greenlet.tests.test_cpp.CPPTests.test_unhandled_std_exception_aborts) ... ok test_unhandled_std_exception_as_greenlet_function_aborts (greenlet.tests.test_cpp.CPPTests.test_unhandled_std_exception_as_greenlet_function_aborts) ... ok test_getcurrent (greenlet.tests.test_extension_interface.CAPITests.test_getcurrent) ... ok test_instance_of_wrong_type (greenlet.tests.test_extension_interface.CAPITests.test_instance_of_wrong_type) ... ok test_leaks (greenlet.tests.test_extension_interface.CAPITests.test_leaks) ... ok test_new_greenlet (greenlet.tests.test_extension_interface.CAPITests.test_new_greenlet) ... ok test_non_traceback_param (greenlet.tests.test_extension_interface.CAPITests.test_non_traceback_param) ... ok test_not_throwable (greenlet.tests.test_extension_interface.CAPITests.test_not_throwable) ... ok test_raise_greenlet_dead (greenlet.tests.test_extension_interface.CAPITests.test_raise_greenlet_dead) ... ok test_raise_greenlet_error (greenlet.tests.test_extension_interface.CAPITests.test_raise_greenlet_error) ... ok test_setparent (greenlet.tests.test_extension_interface.CAPITests.test_setparent) ... ok test_switch (greenlet.tests.test_extension_interface.CAPITests.test_switch) ... ok test_switch_kwargs (greenlet.tests.test_extension_interface.CAPITests.test_switch_kwargs) ... ok test_throw (greenlet.tests.test_extension_interface.CAPITests.test_throw) ... ok test_circular_greenlet (greenlet.tests.test_gc.TestGC.test_circular_greenlet) ... ok test_dead_circular_ref (greenlet.tests.test_gc.TestGC.test_dead_circular_ref) ... ok test_finalizer_crash (greenlet.tests.test_gc.TestGC.test_finalizer_crash) ... ok test_inactive_ref (greenlet.tests.test_gc.TestGC.test_inactive_ref) ... ok test_generator (greenlet.tests.test_generator.GeneratorTests.test_generator) ... ok test_genlet_bad (greenlet.tests.test_generator_nested.NestedGeneratorTests.test_genlet_bad) ... ok test_genlet_simple (greenlet.tests.test_generator_nested.NestedGeneratorTests.test_genlet_simple) ... ok test_layered_genlets (greenlet.tests.test_generator_nested.NestedGeneratorTests.test_layered_genlets) ... ok test_nested_genlets (greenlet.tests.test_generator_nested.NestedGeneratorTests.test_nested_genlets) ... ok test_permutations (greenlet.tests.test_generator_nested.NestedGeneratorTests.test_permutations) ... ok test_failed_to_initialstub (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_failed_to_initialstub) ... ok test_failed_to_slp_switch_into_running (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_failed_to_slp_switch_into_running) ... ok test_failed_to_switch_into_running (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_failed_to_switch_into_running) ... ok test_reentrant_switch_GreenletAlreadyStartedInPython (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_reentrant_switch_GreenletAlreadyStartedInPython) ... ok test_reentrant_switch_run_callable_has_del (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_reentrant_switch_run_callable_has_del) ... ok test_reentrant_switch_three_greenlets (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_reentrant_switch_three_greenlets) ... ok test_reentrant_switch_three_greenlets2 (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_reentrant_switch_three_greenlets2) ... ok test_reentrant_switch_two_greenlets (greenlet.tests.test_greenlet.TestBrokenGreenlets.test_reentrant_switch_two_greenlets) ... ok test_abstract_subclasses (greenlet.tests.test_greenlet.TestGreenlet.test_abstract_subclasses) ... ok test_can_access_f_back_of_suspended_greenlet (greenlet.tests.test_greenlet.TestGreenlet.test_can_access_f_back_of_suspended_greenlet) ... ok test_dealloc (greenlet.tests.test_greenlet.TestGreenlet.test_dealloc) ... ok test_dealloc_catches_GreenletExit_throws_other (greenlet.tests.test_greenlet.TestGreenlet.test_dealloc_catches_GreenletExit_throws_other) ... ok test_dealloc_other_thread (greenlet.tests.test_greenlet.TestGreenlet.test_dealloc_other_thread) ... ok test_dealloc_switch_args_not_lost (greenlet.tests.test_greenlet.TestGreenlet.test_dealloc_switch_args_not_lost) ... ok test_deepcopy (greenlet.tests.test_greenlet.TestGreenlet.test_deepcopy) ... ok test_exc_state (greenlet.tests.test_greenlet.TestGreenlet.test_exc_state) ... ok test_exception (greenlet.tests.test_greenlet.TestGreenlet.test_exception) ... ok test_falling_off_end_switches_to_unstarted_parent_raises_error (greenlet.tests.test_greenlet.TestGreenlet.test_falling_off_end_switches_to_unstarted_parent_raises_error) ... ok test_falling_off_end_switches_to_unstarted_parent_works (greenlet.tests.test_greenlet.TestGreenlet.test_falling_off_end_switches_to_unstarted_parent_works) ... ok test_frame (greenlet.tests.test_greenlet.TestGreenlet.test_frame) ... ok test_frames_always_exposed (greenlet.tests.test_greenlet.TestGreenlet.test_frames_always_exposed) ... ok test_get_stack_with_nested_c_calls (greenlet.tests.test_greenlet.TestGreenlet.test_get_stack_with_nested_c_calls) ... ok test_implicit_parent_with_threads (greenlet.tests.test_greenlet.TestGreenlet.test_implicit_parent_with_threads) ... ok test_instance_dict (greenlet.tests.test_greenlet.TestGreenlet.test_instance_dict) ... ok test_issue_245_reference_counting_subclass_no_threads (greenlet.tests.test_greenlet.TestGreenlet.test_issue_245_reference_counting_subclass_no_threads) ... ok test_issue_245_reference_counting_subclass_threads (greenlet.tests.test_greenlet.TestGreenlet.test_issue_245_reference_counting_subclass_threads) ... ok test_parent_equals_None (greenlet.tests.test_greenlet.TestGreenlet.test_parent_equals_None) ... ok test_parent_restored_on_kill (greenlet.tests.test_greenlet.TestGreenlet.test_parent_restored_on_kill) ... ok test_parent_return_failure (greenlet.tests.test_greenlet.TestGreenlet.test_parent_return_failure) ... ok test_recursive_startup (greenlet.tests.test_greenlet.TestGreenlet.test_recursive_startup) ... ok test_run_equals_None (greenlet.tests.test_greenlet.TestGreenlet.test_run_equals_None) ... ok test_running_greenlet_has_no_run (greenlet.tests.test_greenlet.TestGreenlet.test_running_greenlet_has_no_run) ... ok test_send_exception (greenlet.tests.test_greenlet.TestGreenlet.test_send_exception) ... ok test_simple (greenlet.tests.test_greenlet.TestGreenlet.test_simple) ... ok test_switch_kwargs (greenlet.tests.test_greenlet.TestGreenlet.test_switch_kwargs) ... ok test_switch_kwargs_to_parent (greenlet.tests.test_greenlet.TestGreenlet.test_switch_kwargs_to_parent) ... ok test_switch_no_run_raises_AttributeError (greenlet.tests.test_greenlet.TestGreenlet.test_switch_no_run_raises_AttributeError) ... ok test_switch_to_another_thread (greenlet.tests.test_greenlet.TestGreenlet.test_switch_to_another_thread) ... ok test_switch_to_dead_greenlet_reparent (greenlet.tests.test_greenlet.TestGreenlet.test_switch_to_dead_greenlet_reparent) ... ok test_switch_to_dead_greenlet_with_unstarted_perverse_parent (greenlet.tests.test_greenlet.TestGreenlet.test_switch_to_dead_greenlet_with_unstarted_perverse_parent) ... ok test_switching_many_threads (greenlet.tests.test_greenlet.TestGreenlet.test_switching_many_threads) ... ok test_thread_bug (greenlet.tests.test_greenlet.TestGreenlet.test_thread_bug) ... ok test_threaded_updatecurrent (greenlet.tests.test_greenlet.TestGreenlet.test_threaded_updatecurrent) ... ok test_threads (greenlet.tests.test_greenlet.TestGreenlet.test_threads) ... ok test_throw_exception_not_lost (greenlet.tests.test_greenlet.TestGreenlet.test_throw_exception_not_lost) ... ok test_throw_no_run_raises_AttributeError (greenlet.tests.test_greenlet.TestGreenlet.test_throw_no_run_raises_AttributeError) ... ok test_throw_to_dead_thread_doesnt_crash (greenlet.tests.test_greenlet.TestGreenlet.test_throw_to_dead_thread_doesnt_crash) ... ok test_throw_to_dead_thread_doesnt_crash_wait (greenlet.tests.test_greenlet.TestGreenlet.test_throw_to_dead_thread_doesnt_crash_wait) ... ok test_tuple_subclass (greenlet.tests.test_greenlet.TestGreenlet.test_tuple_subclass) ... ok test_two_children (greenlet.tests.test_greenlet.TestGreenlet.test_two_children) ... ok test_two_recursive_children (greenlet.tests.test_greenlet.TestGreenlet.test_two_recursive_children) ... ok test_cannot_delete_parent (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_cannot_delete_parent) ... ok test_cannot_delete_parent_of_main (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_cannot_delete_parent_of_main) ... ok test_deeper_cycle (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_deeper_cycle) ... ok test_main_greenlet_parent_is_none (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_main_greenlet_parent_is_none) ... ok test_set_parent_wrong_types (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_set_parent_wrong_types) ... ok test_threaded_reparent (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_threaded_reparent) ... ok test_trivial_cycle (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_trivial_cycle) ... ok test_trivial_cycle_main (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_trivial_cycle_main) ... ok test_unexpected_reparenting (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_unexpected_reparenting) ... ok test_unexpected_reparenting_thread_running (greenlet.tests.test_greenlet.TestGreenletSetParentErrors.test_unexpected_reparenting_thread_running) ... ok test_main_greenlet_is_greenlet (greenlet.tests.test_greenlet.TestMainGreenlet.test_main_greenlet_is_greenlet) ... ok test_main_greenlet_type_can_be_subclassed (greenlet.tests.test_greenlet.TestMainGreenlet.test_main_greenlet_type_can_be_subclassed) ... ok test_no_gil_on_free_threaded (greenlet.tests.test_greenlet.TestModule.test_no_gil_on_free_threaded) ... ok test_dead (greenlet.tests.test_greenlet.TestRepr.test_dead) ... ok test_formatting_produces_native_str (greenlet.tests.test_greenlet.TestRepr.test_formatting_produces_native_str) ... ok test_initial (greenlet.tests.test_greenlet.TestRepr.test_initial) ... ok test_main_from_other_thread (greenlet.tests.test_greenlet.TestRepr.test_main_from_other_thread) ... ok test_main_in_background (greenlet.tests.test_greenlet.TestRepr.test_main_in_background) ... ok test_main_while_running (greenlet.tests.test_greenlet.TestRepr.test_main_while_running) ... ok test_it (greenlet.tests.test_greenlet_trash.TestTrashCanReEnter.test_it) ... ok test_active_greenlet_at_shutdown_no_crash (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_active_greenlet_at_shutdown_no_crash) ... ok test_api_getcurrent_no_system_error_at_module_gc_time (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_api_getcurrent_no_system_error_at_module_gc_time) ... ok test_deeply_nested_greenlets_at_shutdown (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_deeply_nested_greenlets_at_shutdown) ... ok test_finally_block_during_thread_exit (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_finally_block_during_thread_exit) ... ok test_getcurrent_during_atexit_no_crash (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_during_atexit_no_crash) ... ok test_getcurrent_returns_none_during_atexit_phase (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_returns_none_during_atexit_phase) ... ok test_getcurrent_returns_none_during_atexit_phase_with_active_greenlets (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_returns_none_during_atexit_phase_with_active_greenlets) ... ok test_getcurrent_returns_none_during_gc_finalization (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_returns_none_during_gc_finalization) ... ok test_getcurrent_returns_none_during_gc_finalization_cross_thread (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_returns_none_during_gc_finalization_cross_thread) ... ok test_getcurrent_returns_none_during_gc_finalization_with_active_greenlets (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_returns_none_during_gc_finalization_with_active_greenlets) ... ok test_getcurrent_with_active_greenlets_during_atexit (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_getcurrent_with_active_greenlets_during_atexit) ... ok test_gettrace_during_atexit_no_crash (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_gettrace_during_atexit_no_crash) ... ok test_greenlet_cleanup_during_thread_exit (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_greenlet_cleanup_during_thread_exit) ... ok test_greenlet_construction_during_atexit_no_crash (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_greenlet_construction_during_atexit_no_crash) ... ok test_greenlet_construction_with_active_greenlets_during_atexit (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_greenlet_construction_with_active_greenlets_during_atexit) ... ok test_greenlet_construction_with_cross_thread_deleteme_during_atexit (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_greenlet_construction_with_cross_thread_deleteme_during_atexit) ... ok test_greenlet_with_traceback_at_shutdown (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_greenlet_with_traceback_at_shutdown) ... ok test_many_greenlets_with_cleanup_at_shutdown (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_many_greenlets_with_cleanup_at_shutdown) ... ok test_multiple_active_greenlets_at_shutdown (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_multiple_active_greenlets_at_shutdown) ... ok test_nested_greenlets_at_shutdown (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_nested_greenlets_at_shutdown) ... ok test_settrace_during_atexit_no_crash (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_settrace_during_atexit_no_crash) ... ok test_switch_no_error_at_module_gc_time (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_switch_no_error_at_module_gc_time) ... ok test_threaded_greenlets_at_shutdown (greenlet.tests.test_interpreter_shutdown.TestInterpreterShutdown.test_threaded_greenlets_at_shutdown) ... ok test_arg_refs (greenlet.tests.test_leaks.TestLeaks.test_arg_refs) ... ok test_issue251_issue252_explicit_reference_not_collectable (greenlet.tests.test_leaks.TestLeaks.test_issue251_issue252_explicit_reference_not_collectable) ... ok test_issue251_issue252_need_to_collect_in_background (greenlet.tests.test_leaks.TestLeaks.test_issue251_issue252_need_to_collect_in_background) ... ok test_issue251_issue252_need_to_collect_in_background_cleanup_disabled (greenlet.tests.test_leaks.TestLeaks.test_issue251_issue252_need_to_collect_in_background_cleanup_disabled) ... ok test_issue251_killing_cross_thread_leaks_list (greenlet.tests.test_leaks.TestLeaks.test_issue251_killing_cross_thread_leaks_list) ... ok test_issue251_with_cleanup_disabled (greenlet.tests.test_leaks.TestLeaks.test_issue251_with_cleanup_disabled) ... ok test_kwarg_refs (greenlet.tests.test_leaks.TestLeaks.test_kwarg_refs) ... ok test_threaded_adv_leak (greenlet.tests.test_leaks.TestLeaks.test_threaded_adv_leak) ... ok test_threaded_leak (greenlet.tests.test_leaks.TestLeaks.test_threaded_leak) ... ok test_untracked_memory_doesnt_increase (greenlet.tests.test_leaks.TestLeaks.test_untracked_memory_doesnt_increase) ... skipped 'uss not supported' test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_main (greenlet.tests.test_leaks.TestLeaks.test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_main) ... skipped 'uss not supported' test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_thread (greenlet.tests.test_leaks.TestLeaks.test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_thread) ... skipped 'Always fails: https://github.com/python-greenlet/greenlet/issues/485' test_stack_saved (greenlet.tests.test_stack_saved.Test.test_stack_saved) ... ok test_class (greenlet.tests.test_throw.ThrowTests.test_class) ... ok test_instance_of_wrong_type (greenlet.tests.test_throw.ThrowTests.test_instance_of_wrong_type) ... ok test_kill (greenlet.tests.test_throw.ThrowTests.test_kill) ... ok test_non_traceback_param (greenlet.tests.test_throw.ThrowTests.test_non_traceback_param) ... ok test_not_throwable (greenlet.tests.test_throw.ThrowTests.test_not_throwable) ... ok test_throw_goes_to_original_parent (greenlet.tests.test_throw.ThrowTests.test_throw_goes_to_original_parent) ... ok test_val (greenlet.tests.test_throw.ThrowTests.test_val) ... ok test_a_greenlet_tracing (greenlet.tests.test_tracing.TestGreenletTracing.test_a_greenlet_tracing) ... ok test_b_exception_disables_tracing (greenlet.tests.test_tracing.TestGreenletTracing.test_b_exception_disables_tracing) ... ok test_set_same_tracer_twice (greenlet.tests.test_tracing.TestGreenletTracing.test_set_same_tracer_twice) ... ok test_trace_events_from_greenlet_func_sets_profiler (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_from_greenlet_func_sets_profiler) ... ok test_trace_events_from_greenlet_subclass_sets_profiler (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_from_greenlet_subclass_sets_profiler) ... ok test_trace_events_into_greenlet_func_already_set (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_into_greenlet_func_already_set) ... ok test_trace_events_into_greenlet_subclass_already_set (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_into_greenlet_subclass_already_set) ... ok test_trace_events_multiple_greenlets_switching (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_multiple_greenlets_switching) ... ok test_trace_events_multiple_greenlets_switching_siblings (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_multiple_greenlets_switching_siblings) ... ok test_trace_events_trivial (greenlet.tests.test_tracing.TestPythonTracing.test_trace_events_trivial) ... ok test_version (greenlet.tests.test_version.VersionTests.test_version) ... ok test_dead_weakref (greenlet.tests.test_weakref.WeakRefTests.test_dead_weakref) ... ok test_dealloc_weakref (greenlet.tests.test_weakref.WeakRefTests.test_dealloc_weakref) ... ok test_inactive_weakref (greenlet.tests.test_weakref.WeakRefTests.test_inactive_weakref) ... ok Time limit exceeded. Threads: Waiting for only 1 --> 1 MGlets : Waiting for only 1 --> 321 Time limit exceeded. Threads: Waiting for only 1 --> 1 MGlets : Waiting for only 325 --> 326 ---------------------------------------------------------------------- Ran 165 tests OK (skipped=3) py$(PYV): OK congratulations :)