Lines Matching +full:tcs +full:- +full:wait

152             if (iter->name != "." && iter->name != "..")  in append_files_listing()
153 names.insert(iter->name); in append_files_listing()
201 /// Test program-specific execution interface.
238 /// \param interface_ Test program-specific execution interface.
248 const model::test_case& test_case = test_program->find(test_case_name); in test_exec_data()
356 0, absolute.length() - relative.length()); in force_absolute_paths()
374 /// User-provided configuration variables.
382 /// \param user_config User-provided configuration variables.
399 _interface->exec_list(_test_program, vars); in operator ()()
415 /// User-provided configuration variables.
423 /// spawn/wait abstraction of the scheduler; and, second, we parallelize the
466 /// \param user_config User-provided configuration variables.
495 _interface->exec_test(_test_program, _test_case_name, vars, in operator ()()
512 /// User-provided configuration variables.
521 /// \param user_config User-provided configuration variables.
543 _interface->exec_cleanup(_test_program, _test_case_name, vars, in operator ()()
578 e->cleanup(); in operator ()()
670 _pimpl->_scheduler_handle.check_interrupt(); in test_cases()
672 if (!_pimpl->_loaded) { in test_cases()
673 const model::test_cases_map tcs = _pimpl->_scheduler_handle.list_tests( in test_cases() local
674 this, _pimpl->_user_config); in test_cases()
679 const_cast< scheduler::lazy_test_program* >(this)->set_test_cases(tcs); in test_cases()
681 _pimpl->_loaded = true; in test_cases()
683 _pimpl->_scheduler_handle.check_interrupt(); in test_cases()
686 INV(_pimpl->_loaded); in test_cases()
749 _pbimpl->generic.cleanup(); in cleanup()
759 return _pbimpl->generic.original_pid(); in original_pid()
769 return _pbimpl->generic.start_time(); in start_time()
779 return _pbimpl->generic.end_time(); in end_time()
783 /// Returns the path to the test-specific work directory.
791 return _pbimpl->generic.work_directory(); in work_directory()
801 return _pbimpl->generic.stdout_file(); in stdout_file()
811 return _pbimpl->generic.stderr_file(); in stderr_file()
865 return _pimpl->test_program; in test_program()
875 return _pimpl->test_case_name; in test_case_name()
885 return _pimpl->test_result; in test_result()
922 % test_data->test_program->relative_path() in ~impl()
923 % test_data->test_case_name); in ~impl()
938 % test_data->test_program->relative_path() in ~impl()
939 % test_data->test_case_name); in ~impl()
960 if (test_data->needs_cleanup) { in tests_needing_cleanup()
962 test_data->needs_cleanup = false; in tests_needing_cleanup()
963 if (!test_data->exit_handle) in tests_needing_cleanup()
964 test_data->exit_handle = generic.reap(test_data->pid); in tests_needing_cleanup()
991 if (test_data->needs_execenv_cleanup) { in tests_needing_execenv_cleanup()
993 test_data->needs_execenv_cleanup = false; in tests_needing_execenv_cleanup()
994 if (!test_data->exit_handle) in tests_needing_execenv_cleanup()
995 test_data->exit_handle = generic.reap(test_data->pid); in tests_needing_execenv_cleanup()
1019 test_data->test_program, test_data->test_case_name, in sync_cleanup()
1020 test_data->user_config, test_data->exit_handle.get(), in sync_cleanup()
1022 generic.wait(cleanup_handle); in sync_cleanup()
1029 /// \param user_config User-provided configuration variables.
1046 find_interface(test_program->interface_name()); in spawn_cleanup()
1048 LI(F("Spawning %s:%s (cleanup)") % test_program->absolute_path() % in spawn_cleanup()
1081 test_data->test_program, test_data->test_case_name, in sync_execenv_cleanup()
1082 test_data->exit_handle.get(), result); in sync_execenv_cleanup()
1083 generic.wait(cleanup_handle); in sync_execenv_cleanup()
1105 % test_program->absolute_path() % test_case_name); in spawn_execenv_cleanup()
1142 return _pimpl->generic.root_work_directory(); in root_work_directory()
1156 _pimpl->generic.cleanup(); in cleanup()
1224 /// \param user_config User-provided configuration variables.
1232 _pimpl->generic.check_interrupt(); in list_tests()
1235 test_program->interface_name()); in list_tests()
1238 const executor::exec_handle exec_handle = _pimpl->generic.spawn( in list_tests()
1241 executor::exit_handle exit_handle = _pimpl->generic.wait(exec_handle); in list_tests()
1243 const model::test_cases_map test_cases = interface->parse_list( in list_tests()
1256 // cannot report failures at the test-program level. in list_tests()
1277 /// \param user_config User-provided configuration variables.
1287 _pimpl->generic.check_interrupt(); in spawn_test()
1290 test_program->interface_name()); in spawn_test()
1292 LI(F("Spawning %s:%s") % test_program->absolute_path() % test_case_name); in spawn_test()
1294 const model::test_case& test_case = test_program->find(test_case_name); in spawn_test()
1303 const executor::exec_handle handle = _pimpl->generic.spawn( in spawn_test()
1313 _pimpl->all_exec_data.find(handle.pid()) == _pimpl->all_exec_data.end(), in spawn_test()
1316 _pimpl->all_exec_data.insert(exec_data_map::value_type(handle.pid(), data)); in spawn_test()
1329 /// types and, at wait time, we don't know upfront what we are going to get.
1333 _pimpl->generic.check_interrupt(); in wait_any()
1335 executor::exit_handle handle = _pimpl->generic.wait_any(); in wait_any()
1337 const exec_data_map::iterator iter = _pimpl->all_exec_data.find( in wait_any()
1341 utils::dump_stacktrace_if_available(data->test_program->absolute_path(), in wait_any()
1342 _pimpl->generic, handle); in wait_any()
1352 test_data->exit_handle = handle; in wait_any()
1354 const model::test_case& test_case = test_data->test_program->find( in wait_any()
1355 test_data->test_case_name); in wait_any()
1381 test_data->needs_cleanup = false; in wait_any()
1382 test_data->needs_execenv_cleanup = false; in wait_any()
1386 result = test_data->interface->compute_result( in wait_any()
1399 if (test_data->needs_cleanup) { in wait_any()
1402 // is a cleanup routine, trigger it now and wait for any other test in wait_any()
1404 _pimpl->spawn_cleanup(test_data->test_program, in wait_any()
1405 test_data->test_case_name, in wait_any()
1406 test_data->user_config, handle, result.get()); in wait_any()
1416 if (test_data->needs_execenv_cleanup) { in wait_any()
1418 _pimpl->spawn_execenv_cleanup(test_data->test_program, in wait_any()
1419 test_data->test_case_name, in wait_any()
1421 test_data->needs_execenv_cleanup = false; in wait_any()
1440 const model::test_result& body_result = cleanup_data->body_result; in wait_any()
1461 // one in charge of doing so in the regular (non-cleanup) case. in wait_any()
1464 % cleanup_data->body_exit_handle.original_pid()); in wait_any()
1465 _pimpl->all_exec_data.erase(handle.original_pid()); in wait_any()
1467 handle = cleanup_data->body_exit_handle; in wait_any()
1469 const exec_data_map::iterator it = _pimpl->all_exec_data.find( in wait_any()
1471 if (it != _pimpl->all_exec_data.end()) { in wait_any()
1476 cleanup_data->test_program->find(cleanup_data->test_case_name); in wait_any()
1477 test_data->needs_cleanup = false; in wait_any()
1479 if (test_data->needs_execenv_cleanup) { in wait_any()
1481 _pimpl->spawn_execenv_cleanup(cleanup_data->test_program, in wait_any()
1482 cleanup_data->test_case_name, in wait_any()
1484 test_data->needs_execenv_cleanup = false; in wait_any()
1498 const model::test_result& body_result = execenv_data->body_result; in wait_any()
1519 % execenv_data->body_exit_handle.original_pid()); in wait_any()
1520 _pimpl->all_exec_data.erase(handle.original_pid()); in wait_any()
1522 handle = execenv_data->body_exit_handle; in wait_any()
1530 new result_handle::bimpl(handle, _pimpl->all_exec_data)); in wait_any()
1533 data->test_program, data->test_case_name, result.get())); in wait_any()
1545 /// \param user_config User-provided configuration variables.
1572 *output << utils::read_file(result_handle->stdout_file()); in debug_test()
1577 *output << utils::read_file(result_handle->stderr_file()); in debug_test()
1580 INV(result_handle->original_pid() == exec_handle); in debug_test()
1597 _pimpl->generic.check_interrupt(); in check_interrupt()
1637 props["unprivileged-user"] = user.name; in generate_config()