From: SASADA Koichi Date: 2010-12-16T08:46:53+09:00 Subject: [ruby-core:33742] Re: broken and painfully slow tests Hi, I recognized this issue and have a dirty patch for it(maybe signal mask issue). However I can't make a time to organize that patch (big one). Please wait. (2010/12/16 7:21), Ryan Davis wrote: >> TestPTY#test_getpty_nonexistent = C-c C-c > > I had to kill that after it sat for 5-10 minutes. Eric says it does this a lot. I usually don't notice as I've got other things going on while they're running. > > Now that we're using minitest w/ verbose on by default it is really easy to identify the slowest tests: > > % sort -k2 -t= -rn testoutput.txt | head -100 > > If we ran the tests through `tee` then we could have this report every time: > >> TestFiber#test_many_fibers_with_threads = 36.30 s = . >> TestNotImplement#test_call_fork = 23.98 s = . >> TestBigDecimal#test_gc = 20.31 s = . >> TestIO#test_copy_stream = 11.54 s = . >> TestIssuezillaParsing#test_rexml = 10.65 s = . >> TestIntegerComb#test_rshift = 9.75 s = . >> TestFiber#test_many_fibers = 7.08 s = . >> TestDateStrftime#test_strftime__3_2 = 6.58 s = . >> TestArray#test_sort_with_replace = 6.44 s = . >> TestIntegerComb#test_lshift = 6.10 s = . >> TestAssignmentGen#test_assignment = 5.36 s = . >> TestDateStrptime#test_strptime__2 = 4.88 s = . >> TestDateStrftime#test_strftime__3_1 = 4.37 s = . >> TestNetHTTP_v1_2_chunked#test_get = 3.83 s = . >> TestMkmf::TestConvertible#test_typeof_builtin = 3.24 s = . >> DL::TestFunc#test_string = 3.18 s = . >> RSS::TestMakerAtomFeed#test_link = 2.66 s = . >> RSS::TestDublinCore#test_parser = 2.35 s = . >> RSS::TestMakerAtomEntry#test_link = 2.28 s = . >> TestMkmf::TestConvertible#test_typeof_typedef = 2.13 s = . >> TestNetHTTP_v1_2_chunked#test_request = 2.12 s = . >> TestArray#test_product = 1.89 s = . >> TestGemUninstaller#test_remove_executables_force_keep = 1.40 s = . >> TestNetHTTP_v1_2_chunked#test_set_form_with_file = 1.39 s = . >> TestM17NComb#test_str_sub = 1.36 s = . >> TestM17NComb#test_str_assign = 1.34 s = . >> TestMarshal#test_gc = 1.31 s = . >> TestMkmf::TestSizeof#test_sizeof_builtin = 1.30 s = . >> TestM17NComb#test_str_sub! = 1.27 s = . >> TestIO#test_threaded_flush = 1.17 s = . >> TestFileExhaustive#test_test = 1.17 s = . >> TestFileExhaustive#test_stat_init = 1.17 s = . >> TestFileExhaustive#test_stat = 1.17 s = . >> TestM17NComb#test_str_slice! = 1.14 s = . >> TestM17NComb#test_str_slice = 1.14 s = . >> OpenSSL::TestPair#test_connect_accept_nonblock = 1.11 s = . >> OpenSSL::TestSSL#test_starttls = 1.06 s = . >> TestMkmf::TestSignedness#test_typeof_typedef = 1.05 s = . >> TestGemUninstaller#test_initialize_expand_path = 1.01 s = . >> Rake::TestRules#test_second_rule_runs_when_first_rule_doesnt = 1.01 s = . >> Rake::TestRules#test_second_rule_doest_run_if_first_triggers_with_reversed_rules = 1.01 s = . >> Rake::TestRules#test_second_rule_doest_run_if_first_triggers = 1.01 s = . >> Rake::TestRules#test_rule_with_two_sources_but_one_missing_does_not_run = 1.01 s = . >> Rake::TestFileTask#test_file_times_old_depends_on_new = 1.01 s = . >> Rake::TestFileTask#test_file_times_new_depends_on_old = 1.01 s = . >> Rake::TestFileCreationTask#test_no_retriggers_on_file_task = 1.01 s = . >> TestFloat#test_sleep_with_Float = 1.00 s = . >> TestBignum#test_interrupt = 1.00 s = . >> TestMkmf::TestSignedness#test_typeof_builtin = 0.96 s = . >> TestNetHTTP_v1_2_chunked#test_chunked_break = 0.95 s = . >> TestGemUninstaller#test_uninstall_user = 0.95 s = . >> TestM17NComb#test_str_succ = 0.91 s = . >> TestGemUninstaller#test_remove_executables_user = 0.91 s = . >> Rake::TestRules#test_rule_with_two_sources_runs_if_both_sources_are_present = 0.91 s = . >> JaxenTester#test_much_ado = 0.90 s = . >> TestIntegerComb#test_plus = 0.83 s = . >> TestIntegerComb#test_minus = 0.82 s = . >> TestGemCommandsQueryCommand#test_execute_installed = 0.80 s = . >> TestNetHTTP_v1_2_chunked#test_get__implicit_start = 0.77 s = . >> TestM17NComb#test_str_end_with? = 0.76 s = . >> TestGemDependencyInstaller#test_install_domain_both = 0.75 s = . >> TestGemDependencyInstaller#test_find_gems_gems_with_sources = 0.74 s = . >> TestGemSpecification#test_validate_authors = 0.71 s = . >> Rake::TestFileTask#test_file_depends_on_task_depend_on_file = 0.71 s = . >> TestM17NComb#test_str_delete = 0.67 s = . >> TestMkmf::TestSizeof#test_sizeof_struct = 0.66 s = . >> TestNetHTTP_v1_2_chunked#test_send_request = 0.65 s = . >> TestIntegerComb#test_mult = 0.65 s = . >> TestGemSourceIndex#test_find_name_empty_cache = 0.62 s = . >> TestNetHTTP_v1_2_chunked#test_s_get = 0.61 s = . >> TestM17NComb#test_str_crypt = 0.61 s = . >> RSS::TestParserAtomFeed#test_entry_source = 0.61 s = . >> TestGemDependencyInstaller#test_install_all_dependencies = 0.59 s = . >> TestIO#test_copy_stream_socket = 0.57 s = . >> TestM17NComb#test_str_eq = 0.55 s = . >> TestCookie#test_cookie = 0.55 s = . >> TestNKF#test_ruby_dev_36909 = 0.54 s = . >> TestGemUninstaller#test_remove_executables_force_remove = 0.54 s = . >> TestGemCommandsCertCommand#test_execute_build = 0.54 s = . >> TestIntegerComb#test_or = 0.53 s = . >> TestM17NComb#test_str_include? = 0.52 s = . >> TestGemUninstaller#test_path_ok_eh_user = 0.52 s = . >> RSS::TestParserAtom#test_entry_source = 0.52 s = . >> TestGemUninstaller#test_path_ok_eh = 0.51 s = . >> Rake::TestRules#test_rule_rebuilds_obj_when_source_is_newer = 0.51 s = . >> TestGemDependencyInstaller#test_install_local_dependency_installed = 0.49 s = . >> TestM17NComb#test_str_insert = 0.48 s = . >> TestGemCommandsUpdateCommand#test_execute_named_up_to_date = 0.48 s = . >> TestM17NComb#test_tr_s = 0.47 s = . >> TestKernel#test_gem_overlapping = 0.47 s = . >> TestIntegerComb#test_and = 0.46 s = . >> TestM17NComb#test_tr = 0.45 s = . >> TestDRbSSLCore#test_06_timeout = 0.45 s = . >> TestM17NComb#test_str_count = 0.44 s = . >> TestObjSpace#test_count_nodes = 0.43 s = . >> TestM17NComb#test_str_assign_len = 0.43 s = . >> TestNetHTTP_v1_2_chunked#test_get2 = 0.42 s = . >> TestGemRemoteFetcher#test_yaml_error_on_size = 0.42 s = . >> TestM17NComb#test_str_partition = 0.41 s = . >> TestM17NComb#test_str_assign_substr = 0.41 s = . >> > -- // SASADA Koichi at atdot dot net