-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathjunit.xml
More file actions
1 lines (1 loc) · 162 KB
/
junit.xml
File metadata and controls
1 lines (1 loc) · 162 KB
1
<?xml version="1.0" encoding="utf-8"?><testsuites><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="872" time="217.990" timestamp="2025-07-26T16:58:50.947028-03:00" hostname="Robertos-MacBook-Pro.local"><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInternalError" name="test_check_communication_sol_run_log_is_none" file="tests/rbx/box/checkers_communication_test.py" line="137" time="6.099" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInternalError" name="test_check_communication_interactor_run_log_is_none" file="tests/rbx/box/checkers_communication_test.py" line="157" time="0.008" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInternalError" name="test_check_communication_sol_run_log_has_sandbox_error" file="tests/rbx/box/checkers_communication_test.py" line="177" time="0.010" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInternalError" name="test_check_communication_interactor_run_log_has_sandbox_error" file="tests/rbx/box/checkers_communication_test.py" line="198" time="0.014" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_wa" file="tests/rbx/box/checkers_communication_test.py" line="222" time="0.036" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_sol_terminated_and_fl" file="tests/rbx/box/checkers_communication_test.py" line="246" time="0.027" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_sol_terminated_and_interactor_rte" file="tests/rbx/box/checkers_communication_test.py" line="270" time="0.020" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_sol_terminated_and_interactor_tle" file="tests/rbx/box/checkers_communication_test.py" line="294" time="0.013" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_sol_terminated_and_interactor_internal_error" file="tests/rbx/box/checkers_communication_test.py" line="317" time="0.012" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_sol_sigpipe_and_wa" file="tests/rbx/box/checkers_communication_test.py" line="340" time="0.010" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorExitedFirst" name="test_check_communication_sol_sigpipe_as_rte_and_wa" file="tests/rbx/box/checkers_communication_test.py" line="364" time="0.010" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionCrashedFirst" name="test_check_communication_sol_rte" file="tests/rbx/box/checkers_communication_test.py" line="391" time="0.008" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionCrashedFirst" name="test_check_communication_sol_mle" file="tests/rbx/box/checkers_communication_test.py" line="414" time="0.009" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionCrashedFirst" name="test_check_communication_sol_tle" file="tests/rbx/box/checkers_communication_test.py" line="436" time="0.007" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionExitedOkFirst" name="test_check_communication_sol_ok_interactor_wa" file="tests/rbx/box/checkers_communication_test.py" line="460" time="0.009" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionExitedOkFirst" name="test_check_communication_sol_ok_interactor_fl" file="tests/rbx/box/checkers_communication_test.py" line="483" time="0.008" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionExitedOkFirst" name="test_check_communication_sol_ok_interactor_rte" file="tests/rbx/box/checkers_communication_test.py" line="506" time="0.008" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicatedSolutionExitedOkFirst" name="test_check_communication_sol_ok_interactor_tle" file="tests/rbx/box/checkers_communication_test.py" line="529" time="0.006" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationLegacyChecker" name="test_check_communication_checker_ac" file="tests/rbx/box/checkers_communication_test.py" line="553" time="0.195" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationLegacyChecker" name="test_check_communication_checker_wa" file="tests/rbx/box/checkers_communication_test.py" line="577" time="0.173" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationNoChecker" name="test_check_communication_no_checker_solution_accepted" file="tests/rbx/box/checkers_communication_test.py" line="605" time="0.010" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationNoChecker" name="test_check_communication_no_checker_solution_rte" file="tests/rbx/box/checkers_communication_test.py" line="624" time="0.009" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationNoChecker" name="test_check_communication_no_checker_interactor_wa" file="tests/rbx/box/checkers_communication_test.py" line="645" time="0.008" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationSanitizerWarnings" name="test_check_communication_sanitizer_warnings_on_accepted" file="tests/rbx/box/checkers_communication_test.py" line="671" time="0.155" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationSanitizerWarnings" name="test_check_communication_sanitizer_warnings_on_failure" file="tests/rbx/box/checkers_communication_test.py" line="696" time="0.011" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationSanitizerWarnings" name="test_check_communication_no_sanitizer_warnings" file="tests/rbx/box/checkers_communication_test.py" line="719" time="0.156" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationSkipRunLog" name="test_check_communication_skip_run_log_solution_accepted" file="tests/rbx/box/checkers_communication_test.py" line="748" time="0.158" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationSkipRunLog" name="test_check_communication_skip_run_log_with_bad_solution" file="tests/rbx/box/checkers_communication_test.py" line="773" time="0.177" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorComplexScenarios" name="test_check_communication_interactor_mle" file="tests/rbx/box/checkers_communication_test.py" line="805" time="0.014" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorComplexScenarios" name="test_check_communication_interactor_output_limit" file="tests/rbx/box/checkers_communication_test.py" line="827" time="0.010" /><testcase classname="tests.rbx.box.checkers_communication_test.TestCheckCommunicationInteractorComplexScenarios" name="test_check_communication_interactor_idleness" file="tests/rbx/box/checkers_communication_test.py" line="849" time="0.011" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_checker_success" file="tests/rbx/box/checkers_test.py" line="114" time="3.722" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_checker_with_progress" file="tests/rbx/box/checkers_test.py" line="130" time="0.006" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_checker_failure" file="tests/rbx/box/checkers_test.py" line="146" time="0.017" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_interactor_success" file="tests/rbx/box/checkers_test.py" line="159" time="0.005" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_interactor_with_progress" file="tests/rbx/box/checkers_test.py" line="175" time="0.006" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_interactor_not_found" file="tests/rbx/box/checkers_test.py" line="191" time="0.006" /><testcase classname="tests.rbx.box.checkers_test" name="test_compile_interactor_failure" file="tests/rbx/box/checkers_test.py" line="201" time="0.005" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_with_no_output_none" file="tests/rbx/box/checkers_test.py" line="215" time="0.006" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_with_no_output_accepted" file="tests/rbx/box/checkers_test.py" line="220" time="0.005" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_with_no_output_tle" file="tests/rbx/box/checkers_test.py" line="225" time="0.005" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_with_no_output_soft_tle" file="tests/rbx/box/checkers_test.py" line="231" time="0.005" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_with_testcase_no_output" file="tests/rbx/box/checkers_test.py" line="239" time="0.183" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_sets_sanitizer_warnings" file="tests/rbx/box/checkers_test.py" line="257" time="0.163" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_no_sanitizer_warnings" file="tests/rbx/box/checkers_test.py" line="277" time="0.163" /><testcase classname="tests.rbx.box.checkers_test" name="test_program_output_exactly_at_limit" file="tests/rbx/box/checkers_test.py" line="298" time="0.187" /><testcase classname="tests.rbx.box.checkers_test" name="test_program_output_just_over_limit" file="tests/rbx/box/checkers_test.py" line="319" time="0.010" /><testcase classname="tests.rbx.box.checkers_test" name="test_checker_with_timeout_exit_status" file="tests/rbx/box/checkers_test.py" line="340" time="0.009" /><testcase classname="tests.rbx.box.checkers_test" name="test_checker_with_signal_exit_status" file="tests/rbx/box/checkers_test.py" line="367" time="0.009" /><testcase classname="tests.rbx.box.checkers_test" name="test_check_fails_with_no_run_log" file="tests/rbx/box/checkers_test.py" line="394" time="0.008" /><testcase classname="tests.rbx.box.checkers_test" name="test_wcmp_checker_works_with_skipped_no_run_log" file="tests/rbx/box/checkers_test.py" line="411" time="0.151" /><testcase classname="tests.rbx.box.checkers_test" name="test_wcmp_checker_works_with_skipped_bad_run_log" file="tests/rbx/box/checkers_test.py" line="429" time="0.159" /><testcase classname="tests.rbx.box.checkers_test" name="test_wcmp_checker_works" file="tests/rbx/box/checkers_test.py" line="450" time="0.164" /><testcase classname="tests.rbx.box.checkers_test" name="test_wcmp_checker_wa" file="tests/rbx/box/checkers_test.py" line="468" time="0.164" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_tle" file="tests/rbx/box/checkers_test.py" line="486" time="0.012" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_idleness" file="tests/rbx/box/checkers_test.py" line="506" time="0.009" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_mle" file="tests/rbx/box/checkers_test.py" line="526" time="0.009" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_rte" file="tests/rbx/box/checkers_test.py" line="546" time="0.009" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_signal" file="tests/rbx/box/checkers_test.py" line="566" time="0.007" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_output_limit" file="tests/rbx/box/checkers_test.py" line="586" time="0.008" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_sandbox_internal_error" file="tests/rbx/box/checkers_test.py" line="606" time="0.007" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_time_based_2tle" file="tests/rbx/box/checkers_test.py" line="626" time="0.007" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_unbounded_tl" file="tests/rbx/box/checkers_test.py" line="646" time="0.148" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_unbounded_tl_because_sanitized" file="tests/rbx/box/checkers_test.py" line="668" time="0.152" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_soft_tle" file="tests/rbx/box/checkers_test.py" line="690" time="0.164" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_soft_tle_but_wa" file="tests/rbx/box/checkers_test.py" line="711" time="0.167" /><testcase classname="tests.rbx.box.checkers_test" name="test_run_log_has_soft_tle_but_rte" file="tests/rbx/box/checkers_test.py" line="732" time="0.014" /><testcase classname="tests.rbx.box.checkers_test" name="test_program_output_is_too_large" file="tests/rbx/box/checkers_test.py" line="754" time="0.011" /><testcase classname="tests.rbx.box.checkers_test" name="test_checker_item_run_log_has_fl_exitcode" file="tests/rbx/box/checkers_test.py" line="772" time="0.145" /><testcase classname="tests.rbx.box.checkers_test" name="test_checker_item_run_log_has_invalid_exitcode" file="tests/rbx/box/checkers_test.py" line="792" time="0.140" /><testcase classname="tests.rbx.box.checkers_test" name="test_checker_item_run_log_is_none" file="tests/rbx/box/checkers_test.py" line="813" time="0.013" /><testcase classname="tests.rbx.box.checkers_test" name="test_checker_item_has_sandbox_error" file="tests/rbx/box/checkers_test.py" line="847" time="0.012" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_cpp_commands_content" file="tests/rbx/box/code_compile_test.py" line="47" time="0.018" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_commands_content" file="tests/rbx/box/code_compile_test.py" line="65" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_python_no_compilation" file="tests/rbx/box/code_compile_test.py" line="85" time="0.013" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_sanitizer_flags_added" file="tests/rbx/box/code_compile_test.py" line="99" time="0.212" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_warning_flags_added" file="tests/rbx/box/code_compile_test.py" line="116" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_combined_flags" file="tests/rbx/box/code_compile_test.py" line="132" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_artifacts_input_files" file="tests/rbx/box/code_compile_test.py" line="150" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_artifacts_output_files" file="tests/rbx/box/code_compile_test.py" line="178" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_artifacts_with_testlib" file="tests/rbx/box/code_compile_test.py" line="196" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_artifacts_with_jngen" file="tests/rbx/box/code_compile_test.py" line="214" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_sandbox_params_basic" file="tests/rbx/box/code_compile_test.py" line="232" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_sandbox_params_sanitized_removes_limits" file="tests/rbx/box/code_compile_test.py" line="250" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_bits_stdcpp_added_for_cpp" file="tests/rbx/box/code_compile_test.py" line="267" time="0.017" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_precompilation_enabled_by_default" file="tests/rbx/box/code_compile_test.py" line="298" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_precompilation_disabled" file="tests/rbx/box/code_compile_test.py" line="342" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_basic" file="tests/rbx/box/code_compile_test.py" line="357" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_no_change_needed" file="tests/rbx/box/code_compile_test.py" line="390" time="0.013" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_with_whitespace_variations" file="tests/rbx/box/code_compile_test.py" line="418" time="0.013" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_with_complex_class_name" file="tests/rbx/box/code_compile_test.py" line="448" time="0.013" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_no_public_class_raises_exit" file="tests/rbx/box/code_compile_test.py" line="477" time="0.013" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_multiple_classes_renames_only_public" file="tests/rbx/box/code_compile_test.py" line="495" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_java_class_renaming_preserves_comments_and_imports" file="tests/rbx/box/code_compile_test.py" line="535" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_non_java_file_unchanged" file="tests/rbx/box/code_compile_test.py" line="576" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_warning_pragmas_processed" file="tests/rbx/box/code_compile_test.py" line="597" time="0.016" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_failure_raises_exit" file="tests/rbx/box/code_compile_test.py" line="648" time="0.014" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_nonexistent_file_raises_exit" file="tests/rbx/box/code_compile_test.py" line="661" time="0.003" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_metadata_set_for_sanitized" file="tests/rbx/box/code_compile_test.py" line="673" time="0.013" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_metadata_cleared_for_non_sanitized" file="tests/rbx/box/code_compile_test.py" line="692" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_verbose_mode_works" file="tests/rbx/box/code_compile_test.py" line="711" time="0.015" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_sanitization_level_prefer_vs_force" file="tests/rbx/box/code_compile_test.py" line="723" time="0.019" /><testcase classname="tests.rbx.box.code_compile_test.TestCompileItem" name="test_compile_returns_digest_string" file="tests/rbx/box/code_compile_test.py" line="744" time="0.014" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_basic_class_renaming" file="tests/rbx/box/code_java_rename_test.py" line="8" time="0.003" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_no_change_needed" file="tests/rbx/box/code_java_rename_test.py" line="29" time="0.003" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_whitespace_variations" file="tests/rbx/box/code_java_rename_test.py" line="45" time="0.004" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_complex_class_name" file="tests/rbx/box/code_java_rename_test.py" line="65" time="0.003" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_no_public_class_raises_error" file="tests/rbx/box/code_java_rename_test.py" line="85" time="0.003" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_multiple_classes_only_renames_public" file="tests/rbx/box/code_java_rename_test.py" line="99" time="0.003" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_preserves_comments_and_imports" file="tests/rbx/box/code_java_rename_test.py" line="145" time="0.003" /><testcase classname="tests.rbx.box.code_java_rename_test.TestMaybeRenameJavaClass" name="test_non_java_files_unaffected" file="tests/rbx/box/code_java_rename_test.py" line="179" time="0.004" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_simple_python_program" file="tests/rbx/box/code_run_test.py" line="25" time="0.112" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_stdin_input" file="tests/rbx/box/code_run_test.py" line="68" time="0.087" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_extra_args" file="tests/rbx/box/code_run_test.py" line="117" time="0.089" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_additional_input_files" file="tests/rbx/box/code_run_test.py" line="152" time="0.089" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_additional_output_files" file="tests/rbx/box/code_run_test.py" line="202" time="0.090" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_custom_execution_config" file="tests/rbx/box/code_run_test.py" line="253" time="0.086" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_retry_index" file="tests/rbx/box/code_run_test.py" line="298" time="0.086" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_sanitized_executable_removes_limits" file="tests/rbx/box/code_run_test.py" line="330" time="3.964" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_sanitized_executable_captures_stderr" file="tests/rbx/box/code_run_test.py" line="368" time="2.694" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_memory_limit_exceeded" file="tests/rbx/box/code_run_test.py" line="416" time="0.341" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_timeout_exceeded" file="tests/rbx/box/code_run_test.py" line="464" time="0.332" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_nonexistent_executable_fails" file="tests/rbx/box/code_run_test.py" line="503" time="0.046" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_checks_stack_limit" file="tests/rbx/box/code_run_test.py" line="528" time="0.088" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_disabled_by_config" file="tests/rbx/box/code_run_test.py" line="552" time="0.083" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_disabled_by_cli_state" file="tests/rbx/box/code_run_test.py" line="607" time="0.086" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_warns_on_low_stack_limit" file="tests/rbx/box/code_run_test.py" line="662" time="0.006" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_no_warning_on_sufficient_stack_limit" file="tests/rbx/box/code_run_test.py" line="708" time="0.087" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_no_warning_on_unlimited_stack" file="tests/rbx/box/code_run_test.py" line="763" time="0.086" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_formats_memory_correctly" file="tests/rbx/box/code_run_test.py" line="818" time="0.006" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_handles_getrlimit_exception" file="tests/rbx/box/code_run_test.py" line="862" time="0.091" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_stack_limit_check_calculates_target_correctly_with_hard_limit" file="tests/rbx/box/code_run_test.py" line="914" time="0.005" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_with_warnings_detection" file="tests/rbx/box/code_run_test.py" line="957" time="2.589" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_python_program_not_sanitized" file="tests/rbx/box/code_run_test.py" line="1016" time="0.089" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_cpp_program" file="tests/rbx/box/code_run_test.py" line="1054" time="2.132" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_java_program" file="tests/rbx/box/code_run_test.py" line="1091" time="0.477" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_returns_none_on_sandbox_failure" file="tests/rbx/box/code_run_test.py" line="1130" time="0.013" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_metadata_contains_correct_information" file="tests/rbx/box/code_run_test.py" line="1157" time="0.094" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_artifacts_setup_correctly" file="tests/rbx/box/code_run_test.py" line="1198" time="0.014" /><testcase classname="tests.rbx.box.code_run_test.TestRunItem" name="test_run_remote_path_disables_caching" file="tests/rbx/box/code_run_test.py" line="1268" time="0.087" /><testcase classname="tests.rbx.box.generator_outputs_test" name="test_generator_outputs_are_generated" file="tests/rbx/box/generator_outputs_test.py" line="32" time="4.131" /><testcase classname="tests.rbx.box.generator_outputs_test" name="test_generator_outputs_no_main_solution_and_needs_output" file="tests/rbx/box/generator_outputs_test.py" line="53" time="3.323" /><testcase classname="tests.rbx.box.generator_outputs_test" name="test_generator_outputs_no_main_solution_and_does_not_need_output" file="tests/rbx/box/generator_outputs_test.py" line="72" time="0.013" /><testcase classname="tests.rbx.box.generator_outputs_test" name="test_generator_outputs_main_solution_does_not_compile_and_needs_output" file="tests/rbx/box/generator_outputs_test.py" line="92" time="3.641" /><testcase classname="tests.rbx.box.generator_outputs_test" name="test_generator_outputs_main_solution_does_not_compile_and_does_not_need_output" file="tests/rbx/box/generator_outputs_test.py" line="115" time="0.010" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_in_testplan" file="tests/rbx/box/generators_test.py" line="12" time="3.322" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_in_testplan_without_extension" file="tests/rbx/box/generators_test.py" line="35" time="3.360" /><testcase classname="tests.rbx.box.generators_test" name="test_aliased_generator_in_testplan" file="tests/rbx/box/generators_test.py" line="49" time="3.374" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_in_testplan_with_multiple_generators" file="tests/rbx/box/generators_test.py" line="65" time="5.010" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_with_multiple_groups" file="tests/rbx/box/generators_test.py" line="89" time="4.236" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_with_script" file="tests/rbx/box/generators_test.py" line="117" time="3.671" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_only_necessary_groups" file="tests/rbx/box/generators_test.py" line="147" time="3.505" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_with_glob_and_plan" file="tests/rbx/box/generators_test.py" line="179" time="3.922" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_copy_output_over" file="tests/rbx/box/generators_test.py" line="200" time="0.010" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_fix_crlf" file="tests/rbx/box/generators_test.py" line="216" time="0.010" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_erases_previously_built_testcases" file="tests/rbx/box/generators_test.py" line="232" time="3.640" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_non_existent" file="tests/rbx/box/generators_test.py" line="257" time="0.010" /><testcase classname="tests.rbx.box.generators_test" name="test_generator_not_compile" file="tests/rbx/box/generators_test.py" line="274" time="1.630" /><testcase classname="tests.rbx.box.generators_test" name="test_generate_standalone_copied_from" file="tests/rbx/box/generators_test.py" line="290" time="0.005" /><testcase classname="tests.rbx.box.generators_test" name="test_generate_standalone_generator_call" file="tests/rbx/box/generators_test.py" line="308" time="3.316" /><testcase classname="tests.rbx.box.generators_test" name="test_generate_standalone_validation_works" file="tests/rbx/box/generators_test.py" line="329" time="3.294" /><testcase classname="tests.rbx.box.generators_test" name="test_generate_standalone_validation_fails" file="tests/rbx/box/generators_test.py" line="349" time="3.325" /><testcase classname="tests.rbx.box.lazy_importing_test" name="test_rich_not_imported_unnecessary" file="tests/rbx/box/lazy_importing_test.py" line="15" time="0.148" /><testcase classname="tests.rbx.box.presets.test_fetch.TestPresetFetchInfo" name="test_is_remote_with_fetch_uri" file="tests/rbx/box/presets/test_fetch.py" line="8" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestPresetFetchInfo" name="test_is_remote_without_fetch_uri" file="tests/rbx/box/presets/test_fetch.py" line="17" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestPresetFetchInfo" name="test_is_local_dir_with_inner_dir_no_fetch_uri" file="tests/rbx/box/presets/test_fetch.py" line="22" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestPresetFetchInfo" name="test_is_local_dir_with_inner_dir_and_fetch_uri" file="tests/rbx/box/presets/test_fetch.py" line="27" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestPresetFetchInfo" name="test_is_local_dir_without_inner_dir" file="tests/rbx/box/presets/test_fetch.py" line="36" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_none_input" file="tests/rbx/box/presets/test_fetch.py" line="45" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_full_url_without_subdirectory" file="tests/rbx/box/presets/test_fetch.py" line="50" time="0.002" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_full_url_with_subdirectory" file="tests/rbx/box/presets/test_fetch.py" line="63" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_full_url_with_git_extension" file="tests/rbx/box/presets/test_fetch.py" line="76" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_full_url_with_git_extension_and_subdirectory" file="tests/rbx/box/presets/test_fetch.py" line="90" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_subdomain_url" file="tests/rbx/box/presets/test_fetch.py" line="104" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_short_github_format" file="tests/rbx/box/presets/test_fetch.py" line="117" time="0.001" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_short_github_format_with_at_gh_prefix" file="tests/rbx/box/presets/test_fetch.py" line="130" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_short_github_format_with_subdirectory" file="tests/rbx/box/presets/test_fetch.py" line="143" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_with_dots_in_repo_name" file="tests/rbx/box/presets/test_fetch.py" line="156" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_with_hyphens_in_names" file="tests/rbx/box/presets/test_fetch.py" line="169" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_directory_existing_path" file="tests/rbx/box/presets/test_fetch.py" line="182" time="0.001" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_directory_nonexistent_path" file="tests/rbx/box/presets/test_fetch.py" line="195" time="0.001" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_directory_with_relative_path" file="tests/rbx/box/presets/test_fetch.py" line="204" time="0.001" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_preset_name_simple" file="tests/rbx/box/presets/test_fetch.py" line="220" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_preset_name_with_underscores" file="tests/rbx/box/presets/test_fetch.py" line="228" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_invalid_github_url_no_user_repo" file="tests/rbx/box/presets/test_fetch.py" line="236" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_invalid_url_format" file="tests/rbx/box/presets/test_fetch.py" line="245" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_empty_string" file="tests/rbx/box/presets/test_fetch.py" line="254" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_github_url_priority_over_short_format" file="tests/rbx/box/presets/test_fetch.py" line="262" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_directory_priority_over_preset_name" file="tests/rbx/box/presets/test_fetch.py" line="276" time="0.001" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_local_preset_name_partial_match_with_special_characters" file="tests/rbx/box/presets/test_fetch.py" line="292" time="0.000" /><testcase classname="tests.rbx.box.presets.test_fetch.TestGetPresetFetchInfo" name="test_path_with_exception_handling" file="tests/rbx/box/presets/test_fetch.py" line="301" time="0.000" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetDiscovery" name="test_find_preset_in_current_directory" file="tests/rbx/box/presets/test_presets.py" line="153" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetDiscovery" name="test_find_preset_not_found" file="tests/rbx/box/presets/test_presets.py" line="160" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetDiscovery" name="test_find_local_preset_in_local_rbx" file="tests/rbx/box/presets/test_presets.py" line="164" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetDiscovery" name="test_find_nested_preset" file="tests/rbx/box/presets/test_presets.py" line="172" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetDiscovery" name="test_is_installed_preset" file="tests/rbx/box/presets/test_presets.py" line="178" time="0.002" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetLoading" name="test_load_preset_yaml_success" file="tests/rbx/box/presets/test_presets.py" line="200" time="0.006" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetLoading" name="test_load_preset_yaml_not_found" file="tests/rbx/box/presets/test_presets.py" line="208" time="0.002" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetLoading" name="test_get_active_preset_when_installed" file="tests/rbx/box/presets/test_presets.py" line="213" time="0.092" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetLoading" name="test_get_active_preset_none_active" file="tests/rbx/box/presets/test_presets.py" line="220" time="0.002" /><testcase classname="tests.rbx.box.presets.test_presets.TestAssetTracking" name="test_process_globbing_simple_files" file="tests/rbx/box/presets/test_presets.py" line="234" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestAssetTracking" name="test_process_globbing_with_wildcards" file="tests/rbx/box/presets/test_presets.py" line="244" time="0.004" /><testcase classname="tests.rbx.box.presets.test_presets.TestAssetTracking" name="test_process_globbing_recursive_pattern" file="tests/rbx/box/presets/test_presets.py" line="258" time="0.002" /><testcase classname="tests.rbx.box.presets.test_presets.TestAssetTracking" name="test_dedup_tracked_assets" file="tests/rbx/box/presets/test_presets.py" line="269" time="0.000" /><testcase classname="tests.rbx.box.presets.test_presets.TestAssetTracking" name="test_get_preset_tracked_assets_problem" file="tests/rbx/box/presets/test_presets.py" line="279" time="0.006" /><testcase classname="tests.rbx.box.presets.test_presets.TestAssetTracking" name="test_get_preset_tracked_assets_with_symlinks" file="tests/rbx/box/presets/test_presets.py" line="288" time="0.007" /><testcase classname="tests.rbx.box.presets.test_presets.TestSymlinkHandling" name="test_symlink_info_for_regular_file" file="tests/rbx/box/presets/test_presets.py" line="316" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestSymlinkHandling" name="test_symlink_info_for_valid_symlink" file="tests/rbx/box/presets/test_presets.py" line="324" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestSymlinkHandling" name="test_symlink_info_for_broken_symlink" file="tests/rbx/box/presets/test_presets.py" line="339" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestSymlinkHandling" name="test_symlink_info_for_outside_symlink" file="tests/rbx/box/presets/test_presets.py" line="350" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestFileOperations" name="test_copy_preset_file_regular" file="tests/rbx/box/presets/test_presets.py" line="372" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestFileOperations" name="test_copy_preset_file_creates_parent_dirs" file="tests/rbx/box/presets/test_presets.py" line="385" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestFileOperations" name="test_copy_preset_file_preserves_symlinks" file="tests/rbx/box/presets/test_presets.py" line="396" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestFileOperations" name="test_copy_preset_file_overwrites_existing" file="tests/rbx/box/presets/test_presets.py" line="411" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetInstallation" name="test_install_preset_from_dir" file="tests/rbx/box/presets/test_presets.py" line="431" time="0.005" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetInstallation" name="test_install_preset_cleans_build_dirs" file="tests/rbx/box/presets/test_presets.py" line="443" time="0.004" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetInstallation" name="test_install_problem_package" file="tests/rbx/box/presets/test_presets.py" line="460" time="0.009" /><testcase classname="tests.rbx.box.presets.test_presets.TestPresetInstallation" name="test_install_contest_package" file="tests/rbx/box/presets/test_presets.py" line="477" time="0.008" /><testcase classname="tests.rbx.box.presets.test_presets.TestLockGeneration" name="test_build_package_locked_assets" file="tests/rbx/box/presets/test_presets.py" line="506" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestLockGeneration" name="test_build_package_locked_assets_with_symlinks" file="tests/rbx/box/presets/test_presets.py" line="519" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestLockGeneration" name="test_find_non_modified_assets" file="tests/rbx/box/presets/test_presets.py" line="535" time="0.000" /><testcase classname="tests.rbx.box.presets.test_presets.TestLockGeneration" name="test_find_modified_assets" file="tests/rbx/box/presets/test_presets.py" line="555" time="0.000" /><testcase classname="tests.rbx.box.presets.test_presets.TestLockGeneration" name="test_generate_lock_creates_file" file="tests/rbx/box/presets/test_presets.py" line="575" time="0.008" /><testcase classname="tests.rbx.box.presets.test_presets.TestPackageDetection" name="test_is_contest_detection" file="tests/rbx/box/presets/test_presets.py" line="597" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPackageDetection" name="test_is_problem_detection" file="tests/rbx/box/presets/test_presets.py" line="608" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestPackageDetection" name="test_check_valid_package" file="tests/rbx/box/presets/test_presets.py" line="619" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestCleanupFunctions" name="test_clean_copied_package_dir" file="tests/rbx/box/presets/test_presets.py" line="643" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestCleanupFunctions" name="test_clean_copied_contest_dir" file="tests/rbx/box/presets/test_presets.py" line="663" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestCleanupFunctions" name="test_clean_copied_problem_dir" file="tests/rbx/box/presets/test_presets.py" line="679" time="0.001" /><testcase classname="tests.rbx.box.presets.test_presets.TestIntegrationScenarios" name="test_complete_preset_workflow" file="tests/rbx/box/presets/test_presets.py" line="702" time="0.012" /><testcase classname="tests.rbx.box.presets.test_presets.TestIntegrationScenarios" name="test_symlink_preservation_workflow" file="tests/rbx/box/presets/test_presets.py" line="733" time="0.013" /><testcase classname="tests.rbx.box.presets.test_presets.TestIntegrationScenarios" name="test_nested_files_workflow" file="tests/rbx/box/presets/test_presets.py" line="767" time="0.008" /><testcase classname="tests.rbx.box.presets.test_presets.TestErrorHandling" name="test_install_preset_without_problem_definition" file="tests/rbx/box/presets/test_presets.py" line="809" time="0.006" /><testcase classname="tests.rbx.box.presets.test_presets.TestErrorHandling" name="test_copy_file_with_missing_source" file="tests/rbx/box/presets/test_presets.py" line="831" time="0.001" /><testcase classname="tests.rbx.box.remote_test.TestExpander" name="test_get_remote_path" file="tests/rbx/box/remote_test.py" line="14" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestExpander" name="test_cacheable_paths_default_empty" file="tests/rbx/box/remote_test.py" line="25" time="0.002" /><testcase classname="tests.rbx.box.remote_test.TestExpander" name="test_cacheable_globs_default_empty" file="tests/rbx/box/remote_test.py" line="35" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestMainExpander" name="test_expand_with_main_path" file="tests/rbx/box/remote_test.py" line="49" time="0.004" /><testcase classname="tests.rbx.box.remote_test.TestMainExpander" name="test_expand_with_non_main_path" file="tests/rbx/box/remote_test.py" line="60" time="0.002" /><testcase classname="tests.rbx.box.remote_test.TestMainExpander" name="test_expand_with_no_main_solution" file="tests/rbx/box/remote_test.py" line="70" time="0.004" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_get_match_valid_run_with_site" file="tests/rbx/box/remote_test.py" line="87" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_get_match_valid_run_without_site" file="tests/rbx/box/remote_test.py" line="95" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_get_match_invalid_format" file="tests/rbx/box/remote_test.py" line="103" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_get_match_non_boca_path" file="tests/rbx/box/remote_test.py" line="111" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_get_boca_path" file="tests/rbx/box/remote_test.py" line="119" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_cacheable_globs_valid_boca_path" file="tests/rbx/box/remote_test.py" line="128" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_cacheable_globs_invalid_path" file="tests/rbx/box/remote_test.py" line="140" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_expand_valid_boca_path" file="tests/rbx/box/remote_test.py" line="150" time="0.004" /><testcase classname="tests.rbx.box.remote_test.TestBocaExpander" name="test_expand_invalid_boca_path" file="tests/rbx/box/remote_test.py" line="178" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestExpandFiles" name="test_expand_files_normal_paths" file="tests/rbx/box/remote_test.py" line="192" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestExpandFiles" name="test_expand_files_with_main_expansion" file="tests/rbx/box/remote_test.py" line="202" time="0.005" /><testcase classname="tests.rbx.box.remote_test.TestExpandFiles" name="test_expand_files_with_unexpandable_paths" file="tests/rbx/box/remote_test.py" line="215" time="0.004" /><testcase classname="tests.rbx.box.remote_test.TestExpandFiles" name="test_expand_files_with_cached_file" file="tests/rbx/box/remote_test.py" line="230" time="0.005" /><testcase classname="tests.rbx.box.remote_test.TestExpandFiles" name="test_expand_files_mixed_paths" file="tests/rbx/box/remote_test.py" line="249" time="0.005" /><testcase classname="tests.rbx.box.remote_test.TestExpandFiles" name="test_expand_files_not_in_package" file="tests/rbx/box/remote_test.py" line="266" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestExpandFile" name="test_expand_file_single_result" file="tests/rbx/box/remote_test.py" line="280" time="0.004" /><testcase classname="tests.rbx.box.remote_test.TestExpandFile" name="test_expand_file_no_expansion" file="tests/rbx/box/remote_test.py" line="291" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestExpandFile" name="test_expand_file_multiple_results" file="tests/rbx/box/remote_test.py" line="298" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestIsPathRemote" name="test_is_path_remote_true" file="tests/rbx/box/remote_test.py" line="317" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestIsPathRemote" name="test_is_path_remote_false" file="tests/rbx/box/remote_test.py" line="328" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestIsPathRemote" name="test_is_path_remote_relative_path" file="tests/rbx/box/remote_test.py" line="337" time="0.003" /><testcase classname="tests.rbx.box.remote_test.TestBocaRegex" name="test_boca_regex_with_site" file="tests/rbx/box/remote_test.py" line="356" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaRegex" name="test_boca_regex_without_site" file="tests/rbx/box/remote_test.py" line="364" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaRegex" name="test_boca_regex_invalid_format" file="tests/rbx/box/remote_test.py" line="372" time="0.000" /><testcase classname="tests.rbx.box.remote_test.TestBocaRegex" name="test_boca_regex_non_boca_path" file="tests/rbx/box/remote_test.py" line="378" time="0.000" /><testcase classname="tests.rbx.box.solutions_test" name="test_solutions" file="tests/rbx/box/solutions_test.py" line="17" time="33.507" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetEnvironmentLanguagesForStatement" name="test_get_languages_with_compilation_commands" file="tests/rbx/box/statements/test_build_statements.py" line="116" time="0.002" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetBuilder" name="test_get_existing_builder" file="tests/rbx/box/statements/test_build_statements.py" line="144" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetBuilder" name="test_get_nonexistent_builder_raises_exit" file="tests/rbx/box/statements/test_build_statements.py" line="151" time="0.001" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetImplicitBuilders" name="test_direct_conversion_possible" file="tests/rbx/box/statements/test_build_statements.py" line="162" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetImplicitBuilders" name="test_multi_step_conversion" file="tests/rbx/box/statements/test_build_statements.py" line="171" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetImplicitBuilders" name="test_impossible_conversion" file="tests/rbx/box/statements/test_build_statements.py" line="183" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetBuilders" name="test_no_steps_with_same_input_output_types" file="tests/rbx/box/statements/test_build_statements.py" line="197" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetBuilders" name="test_explicit_steps" file="tests/rbx/box/statements/test_build_statements.py" line="209" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetBuilders" name="test_implicit_conversion_with_output_type" file="tests/rbx/box/statements/test_build_statements.py" line="228" time="0.001" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetBuilders" name="test_configure_overrides" file="tests/rbx/box/statements/test_build_statements.py" line="243" time="0.000" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetRelativeAssets" name="test_basic_asset_resolution" file="tests/rbx/box/statements/test_build_statements.py" line="268" time="0.001" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetRelativeAssets" name="test_glob_pattern_asset_resolution" file="tests/rbx/box/statements/test_build_statements.py" line="281" time="0.002" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetRelativeAssets" name="test_nonexistent_asset_raises_exit" file="tests/rbx/box/statements/test_build_statements.py" line="296" time="0.002" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestGetRelativeAssets" name="test_asset_outside_relative_path_raises_exit" file="tests/rbx/box/statements/test_build_statements.py" line="301" time="0.001" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatementBytes" name="test_build_simple_statement" file="tests/rbx/box/statements/test_build_statements.py" line="347" time="0.011" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatementBytes" name="test_build_with_assets" file="tests/rbx/box/statements/test_build_statements.py" line="361" time="0.003" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatementBytes" name="test_build_with_custom_vars" file="tests/rbx/box/statements/test_build_statements.py" line="387" time="0.003" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatementBytes" name="test_build_nonexistent_statement_file_raises_exit" file="tests/rbx/box/statements/test_build_statements.py" line="411" time="0.001" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatement" name="test_build_statement_creates_file" file="tests/rbx/box/statements/test_build_statements.py" line="443" time="0.003" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatementsIntegration" name="test_full_statement_build_pipeline" file="tests/rbx/box/statements/test_build_statements.py" line="482" time="0.015" /><testcase classname="tests.rbx.box.statements.test_build_statements.TestBuildStatementsIntegration" name="test_build_with_samples" file="tests/rbx/box/statements/test_build_statements.py" line="538" time="0.014" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementCodeLanguage" name="test_creation" file="tests/rbx/box/statements/test_builders.py" line="36" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderContext" name="test_build_jinja_kwargs" file="tests/rbx/box/statements/test_builders.py" line="49" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementSample" name="test_from_testcase_basic" file="tests/rbx/box/statements/test_builders.py" line="74" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementSample" name="test_from_testcase_with_pin_pout_files" file="tests/rbx/box/statements/test_builders.py" line="89" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementSample" name="test_from_testcase_with_interaction" file="tests/rbx/box/statements/test_builders.py" line="107" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementSample" name="test_from_testcase_interaction_parsing_error" file="tests/rbx/box/statements/test_builders.py" line="141" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementSample" name="test_from_testcases" file="tests/rbx/box/statements/test_builders.py" line="163" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderProblem" name="test_build_inner_jinja_kwargs_basic" file="tests/rbx/box/statements/test_builders.py" line="218" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderProblem" name="test_build_inner_jinja_kwargs_with_short_name" file="tests/rbx/box/statements/test_builders.py" line="237" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderProblem" name="test_build_inner_jinja_kwargs_with_io_path" file="tests/rbx/box/statements/test_builders.py" line="251" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderProblem" name="test_build_jinja_kwargs" file="tests/rbx/box/statements/test_builders.py" line="266" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderContest" name="test_build_inner_jinja_kwargs_basic" file="tests/rbx/box/statements/test_builders.py" line="283" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderContest" name="test_build_inner_jinja_kwargs_full" file="tests/rbx/box/statements/test_builders.py" line="293" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestStatementBuilderContest" name="test_build_jinja_kwargs" file="tests/rbx/box/statements/test_builders.py" line="307" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestPrepareAssets" name="test_prepare_assets_basic" file="tests/rbx/box/statements/test_builders.py" line="327" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestPrepareAssets" name="test_prepare_assets_nonexistent_source" file="tests/rbx/box/statements/test_builders.py" line="352" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestRenderJinja" name="test_render_jinja_basic" file="tests/rbx/box/statements/test_builders.py" line="365" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestRenderJinja" name="test_render_jinja_with_complex_vars" file="tests/rbx/box/statements/test_builders.py" line="372" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestRenderJinjaBlocks" name="test_render_jinja_blocks_latex" file="tests/rbx/box/statements/test_builders.py" line="387" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestRenderJinjaBlocks" name="test_render_jinja_blocks_markdown" file="tests/rbx/box/statements/test_builders.py" line="405" time="0.007" /><testcase classname="tests.rbx.box.statements.test_builders.TestRenderJinjaBlocks" name="test_render_jinja_blocks_with_explanations" file="tests/rbx/box/statements/test_builders.py" line="422" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestRenderJinjaBlocks" name="test_render_jinja_blocks_invalid_mode" file="tests/rbx/box/statements/test_builders.py" line="444" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestJinjaTeXBuilder" name="test_properties" file="tests/rbx/box/statements/test_builders.py" line="484" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestJinjaTeXBuilder" name="test_build" file="tests/rbx/box/statements/test_builders.py" line="493" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxTeXBuilder" name="test_properties" file="tests/rbx/box/statements/test_builders.py" line="537" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxTeXBuilder" name="test_inject_assets_with_template" file="tests/rbx/box/statements/test_builders.py" line="546" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxTeXBuilder" name="test_inject_assets_no_template" file="tests/rbx/box/statements/test_builders.py" line="559" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxTeXBuilder" name="test_build" file="tests/rbx/box/statements/test_builders.py" line="568" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxTeXBuilder" name="test_build_with_explanations" file="tests/rbx/box/statements/test_builders.py" line="580" time="0.004" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxMarkdownToTeXBuilder" name="test_properties" file="tests/rbx/box/statements/test_builders.py" line="662" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestrbxMarkdownToTeXBuilder" name="test_build" file="tests/rbx/box/statements/test_builders.py" line="671" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestTeX2PDFBuilder" name="test_properties" file="tests/rbx/box/statements/test_builders.py" line="728" time="0.000" /><testcase classname="tests.rbx.box.statements.test_builders.TestTeX2PDFBuilder" name="test_build_success" file="tests/rbx/box/statements/test_builders.py" line="737" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestTeX2PDFBuilder" name="test_build_with_verbose" file="tests/rbx/box/statements/test_builders.py" line="746" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestTeX2PDFBuilder" name="test_build_failure" file="tests/rbx/box/statements/test_builders.py" line="754" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestExplainedStatementSample" name="test_creation_from_statement_sample" file="tests/rbx/box/statements/test_builders.py" line="779" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestExplainedStatementSample" name="test_creation_without_explanation" file="tests/rbx/box/statements/test_builders.py" line="799" time="0.001" /><testcase classname="tests.rbx.box.statements.test_builders.TestIntegration" name="test_full_pipeline_jinja_to_pdf" file="tests/rbx/box/statements/test_builders.py" line="816" time="0.002" /><testcase classname="tests.rbx.box.statements.test_builders.TestIntegration" name="test_rbx_tex_with_template_pipeline" file="tests/rbx/box/statements/test_builders.py" line="862" time="0.002" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_no_extensions" file="tests/rbx/box/statements/test_expander.py" line="23" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_single_extension" file="tests/rbx/box/statements/test_expander.py" line="40" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_chain_extension" file="tests/rbx/box/statements/test_expander.py" line="62" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_multiple_children" file="tests/rbx/box/statements/test_expander.py" line="94" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_complex_inheritance_tree" file="tests/rbx/box/statements/test_expander.py" line="124" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_preserves_order" file="tests/rbx/box/statements/test_expander.py" line="155" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_cycle_detection" file="tests/rbx/box/statements/test_expander.py" line="168" time="0.001" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_self_reference_cycle" file="tests/rbx/box/statements/test_expander.py" line="178" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_three_way_cycle" file="tests/rbx/box/statements/test_expander.py" line="187" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_missing_parent" file="tests/rbx/box/statements/test_expander.py" line="198" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_empty_list" file="tests/rbx/box/statements/test_expander.py" line="207" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_single_statement" file="tests/rbx/box/statements/test_expander.py" line="212" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_complex_field_inheritance" file="tests/rbx/box/statements/test_expander.py" line="222" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatements" name="test_expand_statements_mixed_scenario" file="tests/rbx/box/statements/test_expander.py" line="238" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatementsIntegration" name="test_expand_real_statements_basic_inheritance" file="tests/rbx/box/statements/test_expander.py" line="270" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatementsIntegration" name="test_expand_real_statements_complex_inheritance" file="tests/rbx/box/statements/test_expander.py" line="314" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatementsIntegration" name="test_expand_real_statements_multilingual" file="tests/rbx/box/statements/test_expander.py" line="358" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatementsIntegration" name="test_expand_real_statements_cycle_detection" file="tests/rbx/box/statements/test_expander.py" line="400" time="0.000" /><testcase classname="tests.rbx.box.statements.test_expander.TestExpandStatementsIntegration" name="test_expand_real_statements_preserves_defaults" file="tests/rbx/box/statements/test_expander.py" line="410" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_returns_lark_parse_tree" file="tests/rbx/box/stressing/test_finder_parser.py" line="21" time="0.010" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_simple_solution_name" file="tests/rbx/box/stressing/test_finder_parser.py" line="41" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_solution_with_checker_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="59" time="0.009" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_matching_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="76" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_equality_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="92" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_complex_logical_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="111" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_disjunction_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="130" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_negation_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="149" time="0.009" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_wildcard_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="165" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_two_way_checking_mode" file="tests/rbx/box/stressing/test_finder_parser.py" line="180" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_nil_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="196" time="0.005" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_quoted_filenames" file="tests/rbx/box/stressing/test_finder_parser.py" line="209" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_validation_fails_for_missing_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="224" time="0.006" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_validation_fails_for_missing_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="234" time="0.007" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_validation_fails_for_three_way_without_main_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="246" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_validation_succeeds_for_two_way_without_main_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="261" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_syntax_error_raises_lark_exception" file="tests/rbx/box/stressing/test_finder_parser.py" line="277" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_empty_string_raises_lark_exception" file="tests/rbx/box/stressing/test_finder_parser.py" line="282" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_preserves_grammar_structure" file="tests/rbx/box/stressing/test_finder_parser.py" line="287" time="0.010" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_at_prefix_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="306" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseFunction" name="test_parse_different_outcome_types" file="tests/rbx/box/stressing/test_finder_parser.py" line="322" time="0.013" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_solutions_single_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="349" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_solutions_multiple_solutions" file="tests/rbx/box/stressing/test_finder_parser.py" line="365" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_solutions_with_wildcard" file="tests/rbx/box/stressing/test_finder_parser.py" line="385" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_solutions_with_three_way_checking_adds_main_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="401" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_solution_items_returns_code_items" file="tests/rbx/box/stressing/test_finder_parser.py" line="422" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_solution_items_main_solution_first" file="tests/rbx/box/stressing/test_finder_parser.py" line="444" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_checkers_single_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="463" time="0.009" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_checkers_multiple_checkers" file="tests/rbx/box/stressing/test_finder_parser.py" line="479" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_checkers_with_wildcard_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="502" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_checkers_with_nil_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="518" time="0.006" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_get_all_checker_items_returns_code_items" file="tests/rbx/box/stressing/test_finder_parser.py" line="533" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_needs_expected_output_true_for_three_way_checking" file="tests/rbx/box/stressing/test_finder_parser.py" line="550" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_needs_expected_output_false_for_two_way_checking" file="tests/rbx/box/stressing/test_finder_parser.py" line="565" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_needs_expected_output_false_for_nil_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="580" time="0.006" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_needs_expected_output_mixed_checking_modes" file="tests/rbx/box/stressing/test_finder_parser.py" line="594" time="0.011" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_validate_passes_for_valid_expression" file="tests/rbx/box/stressing/test_finder_parser.py" line="614" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_validate_fails_for_missing_main_solution_three_way" file="tests/rbx/box/stressing/test_finder_parser.py" line="629" time="0.009" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_validate_passes_for_two_way_without_main_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="644" time="0.008" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_validate_fails_for_nonexistent_checker" file="tests/rbx/box/stressing/test_finder_parser.py" line="659" time="0.007" /><testcase classname="tests.rbx.box.stressing.test_finder_parser.TestParseTreeMethods" name="test_validate_fails_for_nonexistent_solution" file="tests/rbx/box/stressing/test_finder_parser.py" line="673" time="0.007" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_returns_lark_parse_tree" file="tests/rbx/box/stressing/test_generator_parser.py" line="19" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_simple_text_arguments" file="tests/rbx/box/stressing/test_generator_parser.py" line="26" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_empty_string" file="tests/rbx/box/stressing/test_generator_parser.py" line="35" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_variable_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="44" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_range_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="52" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_select_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="60" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_random_hex_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="68" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_ticked_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="76" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_complex_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="84" time="0.005" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_nested_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="100" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_char_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="108" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_float_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="118" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_syntax_error_raises_lark_exception" file="tests/rbx/box/stressing/test_generator_parser.py" line="128" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestParseFunction" name="test_parse_preserves_grammar_structure" file="tests/rbx/box/stressing/test_generator_parser.py" line="133" time="0.006" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_int_valid_range" file="tests/rbx/box/stressing/test_generator_parser.py" line="149" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_int_single_value" file="tests/rbx/box/stressing/test_generator_parser.py" line="159" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_int_invalid_range_raises_error" file="tests/rbx/box/stressing/test_generator_parser.py" line="166" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_char_valid_range" file="tests/rbx/box/stressing/test_generator_parser.py" line="173" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_char_single_value" file="tests/rbx/box/stressing/test_generator_parser.py" line="184" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_char_invalid_length_raises_error" file="tests/rbx/box/stressing/test_generator_parser.py" line="191" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_char_invalid_range_raises_error" file="tests/rbx/box/stressing/test_generator_parser.py" line="202" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_hex_default_length" file="tests/rbx/box/stressing/test_generator_parser.py" line="209" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_hex_custom_length" file="tests/rbx/box/stressing/test_generator_parser.py" line="217" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestRandomClasses" name="test_random_hex_zero_length" file="tests/rbx/box/stressing/test_generator_parser.py" line="225" time="0.000" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_simple_text" file="tests/rbx/box/stressing/test_generator_parser.py" line="236" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_variables" file="tests/rbx/box/stressing/test_generator_parser.py" line="244" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_int_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="252" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_float_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="263" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_char_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="274" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_variable_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="285" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_select_expressions" file="tests/rbx/box/stressing/test_generator_parser.py" line="296" time="0.003" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_nested_select_expressions" file="tests/rbx/box/stressing/test_generator_parser.py" line="314" time="0.003" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_select_containing_variables" file="tests/rbx/box/stressing/test_generator_parser.py" line="328" time="0.003" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_random_hex" file="tests/rbx/box/stressing/test_generator_parser.py" line="343" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_ticked_expressions" file="tests/rbx/box/stressing/test_generator_parser.py" line="352" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_complex_expression" file="tests/rbx/box/stressing/test_generator_parser.py" line="360" time="0.005" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_nested_ranges" file="tests/rbx/box/stressing/test_generator_parser.py" line="381" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_undefined_variable_raises_error" file="tests/rbx/box/stressing/test_generator_parser.py" line="393" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_invalid_variable_type_raises_error" file="tests/rbx/box/stressing/test_generator_parser.py" line="403" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_incompatible_range_types_raises_error" file="tests/rbx/box/stressing/test_generator_parser.py" line="414" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_empty_args" file="tests/rbx/box/stressing/test_generator_parser.py" line="425" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_float_precision" file="tests/rbx/box/stressing/test_generator_parser.py" line="433" time="0.001" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_mixed_variable_types" file="tests/rbx/box/stressing/test_generator_parser.py" line="442" time="0.003" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_deterministic_int_range" file="tests/rbx/box/stressing/test_generator_parser.py" line="450" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_deterministic_float_range" file="tests/rbx/box/stressing/test_generator_parser.py" line="462" time="0.002" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_deterministic_select" file="tests/rbx/box/stressing/test_generator_parser.py" line="474" time="0.003" /><testcase classname="tests.rbx.box.stressing.test_generator_parser.TestGeneratorClass" name="test_generator_with_escaped_strings" file="tests/rbx/box/stressing/test_generator_parser.py" line="485" time="0.002" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_non_string_values" file="tests/rbx/box/test_fields.py" line="10" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_escaped_strings" file="tests/rbx/box/test_fields.py" line="17" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_regular_strings" file="tests/rbx/box/test_fields.py" line="24" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_python_expressions_string" file="tests/rbx/box/test_fields.py" line="32" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_python_expressions_int" file="tests/rbx/box/test_fields.py" line="39" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_python_expressions_float" file="tests/rbx/box/test_fields.py" line="46" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_python_expressions_bool" file="tests/rbx/box/test_fields.py" line="52" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_python_expressions_complex_calculations" file="tests/rbx/box/test_fields.py" line="59" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_unsupported_types_raise_error" file="tests/rbx/box/test_fields.py" line="66" time="0.002" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_invalid_python_expressions" file="tests/rbx/box/test_fields.py" line="86" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVar" name="test_expand_var_edge_cases" file="tests/rbx/box/test_fields.py" line="97" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_empty_dict" file="tests/rbx/box/test_fields.py" line="116" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_mixed_types" file="tests/rbx/box/test_fields.py" line="120" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_python_expressions" file="tests/rbx/box/test_fields.py" line="136" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_escaped_strings" file="tests/rbx/box/test_fields.py" line="152" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_comprehensive_example" file="tests/rbx/box/test_fields.py" line="166" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_error_propagation" file="tests/rbx/box/test_fields.py" line="188" time="0.000" /><testcase classname="tests.rbx.box.test_fields.TestExpandVars" name="test_expand_vars_preserves_key_order" file="tests/rbx/box/test_fields.py" line="201" time="0.000" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_no_variables" file="tests/rbx/box/test_header.py" line="11" time="0.004" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_string_variables" file="tests/rbx/box/test_header.py" line="37" time="0.005" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_int_variables" file="tests/rbx/box/test_header.py" line="68" time="0.005" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_float_variables" file="tests/rbx/box/test_header.py" line="99" time="0.004" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_bool_variables" file="tests/rbx/box/test_header.py" line="121" time="0.004" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_mixed_variables" file="tests/rbx/box/test_header.py" line="141" time="0.005" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_override_file" file="tests/rbx/box/test_header.py" line="168" time="0.003" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_get_header_creates_and_returns_path" file="tests/rbx/box/test_header.py" line="184" time="0.003" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_get_header_caching" file="tests/rbx/box/test_header.py" line="194" time="0.003" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_check_int_bounds_valid_values" file="tests/rbx/box/test_header.py" line="208" time="0.000" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_check_int_bounds_too_large" file="tests/rbx/box/test_header.py" line="217" time="0.001" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_check_int_bounds_too_small" file="tests/rbx/box/test_header.py" line="224" time="0.002" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_large_int_fails" file="tests/rbx/box/test_header.py" line="231" time="0.004" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_with_small_int_fails" file="tests/rbx/box/test_header.py" line="246" time="0.004" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_deterministic_order" file="tests/rbx/box/test_header.py" line="261" time="0.004" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_string_repr_escaping" file="tests/rbx/box/test_header.py" line="285" time="0.005" /><testcase classname="tests.rbx.box.test_header.TestHeader" name="test_generate_header_bool_as_int_in_int_block" file="tests/rbx/box/test_header.py" line="335" time="0.004" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestVisitorPatterns" name="test_testcase_group_visitor_no_groups" file="tests/rbx/box/testcase_extractors_test.py" line="17" time="0.000" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestVisitorPatterns" name="test_testcase_group_visitor_with_groups" file="tests/rbx/box/testcase_extractors_test.py" line="27" time="0.000" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestVisitorPatterns" name="test_testcase_visitor_default_methods" file="tests/rbx/box/testcase_extractors_test.py" line="39" time="0.000" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_empty_package" file="tests/rbx/box/testcase_extractors_test.py" line="55" time="0.004" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_with_manual_testcases" file="tests/rbx/box/testcase_extractors_test.py" line="70" time="0.006" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_with_glob_testcases" file="tests/rbx/box/testcase_extractors_test.py" line="102" time="0.006" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_with_generators" file="tests/rbx/box/testcase_extractors_test.py" line="126" time="0.007" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_with_generator_script" file="tests/rbx/box/testcase_extractors_test.py" line="154" time="0.008" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_with_subgroups" file="tests/rbx/box/testcase_extractors_test.py" line="181" time="0.007" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_with_validators" file="tests/rbx/box/testcase_extractors_test.py" line="211" time="0.009" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_group_filtering" file="tests/rbx/box/testcase_extractors_test.py" line="250" time="0.011" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_subgroup_filtering" file="tests/rbx/box/testcase_extractors_test.py" line="284" time="0.007" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestRunTestcaseVisitor" name="test_run_testcase_visitor_generator_script_filtering" file="tests/rbx/box/testcase_extractors_test.py" line="315" time="0.011" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_extract_generation_testcases" file="tests/rbx/box/testcase_extractors_test.py" line="361" time="0.009" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_extract_generation_testcases_partial" file="tests/rbx/box/testcase_extractors_test.py" line="392" time="0.007" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_extract_generation_testcases_from_groups" file="tests/rbx/box/testcase_extractors_test.py" line="421" time="0.009" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_extract_generation_testcases_from_groups_filtered" file="tests/rbx/box/testcase_extractors_test.py" line="444" time="0.011" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_extract_generation_testcases_from_patterns" file="tests/rbx/box/testcase_extractors_test.py" line="469" time="0.009" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_generator_script_parsing_behavior" file="tests/rbx/box/testcase_extractors_test.py" line="504" time="0.008" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestExtractionFunctions" name="test_testcase_path_generation_behavior" file="tests/rbx/box/testcase_extractors_test.py" line="545" time="0.007" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestComplexScenarios" name="test_mixed_testcase_types" file="tests/rbx/box/testcase_extractors_test.py" line="593" time="0.016" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestComplexScenarios" name="test_subgroups_with_mixed_types" file="tests/rbx/box/testcase_extractors_test.py" line="637" time="0.007" /><testcase classname="tests.rbx.box.testcase_extractors_test.TestComplexScenarios" name="test_validators_inheritance" file="tests/rbx/box/testcase_extractors_test.py" line="674" time="0.010" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_key_method" file="tests/rbx/box/testcase_utils_test.py" line="29" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_str_method" file="tests/rbx/box/testcase_utils_test.py" line="34" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_parse_valid_spec" file="tests/rbx/box/testcase_utils_test.py" line="39" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_parse_with_whitespace" file="tests/rbx/box/testcase_utils_test.py" line="45" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_parse_invalid_spec_no_slash" file="tests/rbx/box/testcase_utils_test.py" line="51" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_parse_invalid_spec_multiple_slashes" file="tests/rbx/box/testcase_utils_test.py" line="56" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_parse_invalid_spec_non_integer_index" file="tests/rbx/box/testcase_utils_test.py" line="61" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseEntry" name="test_get_prefix_path" file="tests/rbx/box/testcase_utils_test.py" line="66" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_group_method" file="tests/rbx/box/testcase_utils_test.py" line="85" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_group_method_empty_prefix" file="tests/rbx/box/testcase_utils_test.py" line="90" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_match_exact_with_index" file="tests/rbx/box/testcase_utils_test.py" line="95" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_match_wrong_index" file="tests/rbx/box/testcase_utils_test.py" line="101" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_match_wrong_group_with_index" file="tests/rbx/box/testcase_utils_test.py" line="107" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_match_prefix_without_index" file="tests/rbx/box/testcase_utils_test.py" line="113" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_match_longer_group_prefix" file="tests/rbx/box/testcase_utils_test.py" line="119" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_match_partial_prefix" file="tests/rbx/box/testcase_utils_test.py" line="125" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_with_no_index" file="tests/rbx/box/testcase_utils_test.py" line="131" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_intersecting_group_when_group_inside_pattern" file="tests/rbx/box/testcase_utils_test.py" line="138" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_intersecting_group_when_pattern_inside_group" file="tests/rbx/box/testcase_utils_test.py" line="143" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_intersecting_group_no_intersection" file="tests/rbx/box/testcase_utils_test.py" line="148" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_str_wildcard" file="tests/rbx/box/testcase_utils_test.py" line="153" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_str_group_without_index" file="tests/rbx/box/testcase_utils_test.py" line="158" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_str_group_with_index" file="tests/rbx/box/testcase_utils_test.py" line="163" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_parse_wildcard" file="tests/rbx/box/testcase_utils_test.py" line="168" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_parse_single_part" file="tests/rbx/box/testcase_utils_test.py" line="174" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_parse_group_with_index" file="tests/rbx/box/testcase_utils_test.py" line="180" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_parse_multi_part_group" file="tests/rbx/box/testcase_utils_test.py" line="186" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_parse_multi_part_group_with_index" file="tests/rbx/box/testcase_utils_test.py" line="192" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcasePattern" name="test_parse_with_whitespace" file="tests/rbx/box/testcase_utils_test.py" line="198" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestFindBuiltTestcases" name="test_find_built_testcase_inputs" file="tests/rbx/box/testcase_utils_test.py" line="208" time="0.004" /><testcase classname="tests.rbx.box.testcase_utils_test.TestFindBuiltTestcases" name="test_find_built_testcase_inputs_no_directory" file="tests/rbx/box/testcase_utils_test.py" line="228" time="0.003" /><testcase classname="tests.rbx.box.testcase_utils_test.TestFindBuiltTestcases" name="test_find_built_testcases" file="tests/rbx/box/testcase_utils_test.py" line="241" time="0.003" /><testcase classname="tests.rbx.box.testcase_utils_test.TestClearBuiltTestcases" name="test_clear_built_testcases" file="tests/rbx/box/testcase_utils_test.py" line="267" time="0.004" /><testcase classname="tests.rbx.box.testcase_utils_test.TestClearBuiltTestcases" name="test_clear_built_testcases_nonexistent" file="tests/rbx/box/testcase_utils_test.py" line="280" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestGetSamples" name="test_get_samples" file="tests/rbx/box/testcase_utils_test.py" line="289" time="0.004" /><testcase classname="tests.rbx.box.testcase_utils_test.TestGetSamples" name="test_get_samples_no_output_file" file="tests/rbx/box/testcase_utils_test.py" line="322" time="0.004" /><testcase classname="tests.rbx.box.testcase_utils_test.TestFillOutputForDefinedTestcase" name="test_testcase_already_has_output" file="tests/rbx/box/testcase_utils_test.py" line="356" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestFillOutputForDefinedTestcase" name="test_testcase_no_output_with_ans_file" file="tests/rbx/box/testcase_utils_test.py" line="367" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestFillOutputForDefinedTestcase" name="test_testcase_no_output_no_ans_file" file="tests/rbx/box/testcase_utils_test.py" line="382" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseInteractionParsing" name="test_parse_interaction_valid_file" file="tests/rbx/box/testcase_utils_test.py" line="398" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseInteractionParsing" name="test_parse_interaction_missing_prefixes" file="tests/rbx/box/testcase_utils_test.py" line="429" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseInteractionParsing" name="test_parse_interaction_invalid_line" file="tests/rbx/box/testcase_utils_test.py" line="443" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseInteractionParsing" name="test_parse_interaction_empty_content" file="tests/rbx/box/testcase_utils_test.py" line="457" time="0.001" /><testcase classname="tests.rbx.box.testcase_utils_test.TestTestcaseInteractionParsing" name="test_parse_interaction_file_read_error" file="tests/rbx/box/testcase_utils_test.py" line="469" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestGetAlternateInteractionTexts" name="test_get_alternate_interaction_texts" file="tests/rbx/box/testcase_utils_test.py" line="481" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestGetAlternateInteractionTexts" name="test_get_alternate_interaction_texts_with_multiline" file="tests/rbx/box/testcase_utils_test.py" line="502" time="0.000" /><testcase classname="tests.rbx.box.testcase_utils_test.TestPrintInteraction" name="test_print_interaction" file="tests/rbx/box/testcase_utils_test.py" line="529" time="0.001" /><testcase classname="tests.rbx.box.unit_test.TestValidatorUnitTests" name="test_no_validator_unit_tests" file="tests/rbx/box/unit_test.py" line="19" time="0.005" /><testcase classname="tests.rbx.box.unit_test.TestValidatorUnitTests" name="test_validator_unit_tests_with_valid_inputs" file="tests/rbx/box/unit_test.py" line="29" time="3.516" /><testcase classname="tests.rbx.box.unit_test.TestValidatorUnitTests" name="test_validator_unit_tests_with_invalid_inputs" file="tests/rbx/box/unit_test.py" line="55" time="3.472" /><testcase classname="tests.rbx.box.unit_test.TestValidatorUnitTests" name="test_validator_unit_tests_with_mixed_outcomes" file="tests/rbx/box/unit_test.py" line="81" time="3.342" /><testcase classname="tests.rbx.box.unit_test.TestValidatorUnitTests" name="test_validator_unit_tests_with_custom_validator" file="tests/rbx/box/unit_test.py" line="116" time="3.368" /><testcase classname="tests.rbx.box.unit_test.TestCheckerUnitTests" name="test_no_checker_unit_tests" file="tests/rbx/box/unit_test.py" line="148" time="0.012" /><testcase classname="tests.rbx.box.unit_test.TestCheckerUnitTests" name="test_no_checker_defined" file="tests/rbx/box/unit_test.py" line="161" time="0.006" /><testcase classname="tests.rbx.box.unit_test.TestCheckerUnitTests" name="test_checker_unit_tests_with_accepted_outcome" file="tests/rbx/box/unit_test.py" line="175" time="3.409" /><testcase classname="tests.rbx.box.unit_test.TestCheckerUnitTests" name="test_checker_unit_tests_with_wrong_answer_outcome" file="tests/rbx/box/unit_test.py" line="201" time="3.430" /><testcase classname="tests.rbx.box.unit_test.TestCheckerUnitTests" name="test_checker_unit_tests_with_mixed_outcomes" file="tests/rbx/box/unit_test.py" line="227" time="3.793" /><testcase classname="tests.rbx.box.unit_test.TestCheckerUnitTests" name="test_checker_unit_tests_with_missing_files" file="tests/rbx/box/unit_test.py" line="266" time="3.441" /><testcase classname="tests.rbx.box.unit_test.TestRunUnitTests" name="test_run_unit_tests_calls_both_functions" file="tests/rbx/box/unit_test.py" line="297" time="5.354" /><testcase classname="tests.rbx.box.unit_test.TestRunUnitTests" name="test_run_unit_tests_with_progress" file="tests/rbx/box/unit_test.py" line="329" time="3.658" /><testcase classname="tests.rbx.box.unit_test.TestHelperFunctions" name="test_extract_validator_test_entries" file="tests/rbx/box/unit_test.py" line="352" time="0.010" /><testcase classname="tests.rbx.box.unit_test.TestHelperFunctions" name="test_extract_checker_test_entries" file="tests/rbx/box/unit_test.py" line="381" time="0.009" /><testcase classname="tests.rbx.box.unit_test.TestHelperFunctions" name="test_extract_checker_test_entries_with_missing_files" file="tests/rbx/box/unit_test.py" line="409" time="0.008" /><testcase classname="tests.rbx.box.validators_test" name="test_no_validator_does_not_validate" file="tests/rbx/box/validators_test.py" line="11" time="0.009" /><testcase classname="tests.rbx.box.validators_test" name="test_main_validator_works" file="tests/rbx/box/validators_test.py" line="24" time="3.344" /><testcase classname="tests.rbx.box.validators_test" name="test_main_validator_catches_invalid_case" file="tests/rbx/box/validators_test.py" line="36" time="3.328" /><testcase classname="tests.rbx.box.validators_test" name="test_main_validator_report_hit_bound_issues" file="tests/rbx/box/validators_test.py" line="56" time="3.364" /><testcase classname="tests.rbx.box.validators_test" name="test_main_validator_skip_hit_bound_issues_on_samples" file="tests/rbx/box/validators_test.py" line="83" time="3.304" /><testcase classname="tests.rbx.box.validators_test" name="test_main_validator_no_hit_bound_issues" file="tests/rbx/box/validators_test.py" line="111" time="3.351" /><testcase classname="tests.rbx.box.validators_test" name="test_group_specific_validator_catches_invalid_cases" file="tests/rbx/box/validators_test.py" line="139" time="5.978" /><testcase classname="tests.rbx.box.validators_test" name="test_group_specific_validator_overrides_main_validator" file="tests/rbx/box/validators_test.py" line="177" time="5.180" /><testcase classname="tests.rbx.box.validators_test" name="test_group_specific_extra_validators_catch_invalid_cases" file="tests/rbx/box/validators_test.py" line="208" time="5.823" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_full_content" file="tests/rbx/grading/judge/storage_test.py" line="34" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_with_buffer_size" file="tests/rbx/grading/judge/storage_test.py" line="44" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_with_maxlen_smaller_than_source" file="tests/rbx/grading/judge/storage_test.py" line="54" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_with_maxlen_larger_than_source" file="tests/rbx/grading/judge/storage_test.py" line="64" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_empty_source" file="tests/rbx/grading/judge/storage_test.py" line="74" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_with_zero_maxlen" file="tests/rbx/grading/judge/storage_test.py" line="83" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestCopyFileObj" name="test_copy_text_mode" file="tests/rbx/grading/judge/storage_test.py" line="93" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_get_file_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="111" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_create_file_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="116" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_commit_file_returns_false" file="tests/rbx/grading/judge/storage_test.py" line="121" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_commit_file_with_metadata_returns_false" file="tests/rbx/grading/judge/storage_test.py" line="127" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_set_metadata_does_nothing" file="tests/rbx/grading/judge/storage_test.py" line="134" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_set_metadata_with_none_does_nothing" file="tests/rbx/grading/judge/storage_test.py" line="140" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_get_metadata_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="145" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_list_metadata_returns_empty_list" file="tests/rbx/grading/judge/storage_test.py" line="150" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_exists_returns_false" file="tests/rbx/grading/judge/storage_test.py" line="155" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_get_size_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="159" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_delete_does_nothing" file="tests/rbx/grading/judge/storage_test.py" line="164" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_list_returns_empty_list" file="tests/rbx/grading/judge/storage_test.py" line="169" time="0.000" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_path_for_symlink_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="174" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestNullStorage" name="test_filename_from_symlink_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="179" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_init_creates_metadata_directory" file="tests/rbx/grading/judge/storage_test.py" line="205" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_get_file_nonexistent_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="212" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_create_and_commit_file_basic" file="tests/rbx/grading/judge/storage_test.py" line="217" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_create_file_already_exists_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="243" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_commit_file_already_exists_returns_false" file="tests/rbx/grading/judge/storage_test.py" line="257" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_metadata_operations" file="tests/rbx/grading/judge/storage_test.py" line="274" time="0.004" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_metadata_operations_multiple_keys" file="tests/rbx/grading/judge/storage_test.py" line="297" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_set_metadata_nonexistent_file_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="325" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_get_metadata_nonexistent_key_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="331" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_set_metadata_none_removes_metadata" file="tests/rbx/grading/judge/storage_test.py" line="345" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_get_size" file="tests/rbx/grading/judge/storage_test.py" line="370" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_get_size_nonexistent_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="383" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_delete_file" file="tests/rbx/grading/judge/storage_test.py" line="388" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_delete_nonexistent_file_no_error" file="tests/rbx/grading/judge/storage_test.py" line="412" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_list_files" file="tests/rbx/grading/judge/storage_test.py" line="416" time="0.005" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_compression_with_context" file="tests/rbx/grading/judge/storage_test.py" line="450" time="0.003" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_compression_with_flag" file="tests/rbx/grading/judge/storage_test.py" line="479" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_compression_round_trip_data_integrity" file="tests/rbx/grading/judge/storage_test.py" line="503" time="0.003" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_compression_round_trip_with_flag" file="tests/rbx/grading/judge/storage_test.py" line="552" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_commit_file_with_additional_metadata" file="tests/rbx/grading/judge/storage_test.py" line="581" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_commit_file_creates_parent_directories" file="tests/rbx/grading/judge/storage_test.py" line="607" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_path_for_symlink_uncompressed" file="tests/rbx/grading/judge/storage_test.py" line="624" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_path_for_symlink_compressed_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="640" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_path_for_symlink_nonexistent_raises_key_error" file="tests/rbx/grading/judge/storage_test.py" line="658" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_valid" file="tests/rbx/grading/judge/storage_test.py" line="663" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_not_symlink_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="682" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_broken_link_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="691" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_large_file_operations" file="tests/rbx/grading/judge/storage_test.py" line="700" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_empty_file_operations" file="tests/rbx/grading/judge/storage_test.py" line="719" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_unicode_filename_handling" file="tests/rbx/grading/judge/storage_test.py" line="738" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_concurrent_file_creation_race_condition" file="tests/rbx/grading/judge/storage_test.py" line="756" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_metadata_directory_structure" file="tests/rbx/grading/judge/storage_test.py" line="768" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_chain_resolution" file="tests/rbx/grading/judge/storage_test.py" line="793" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_outside_storage_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="815" time="0.003" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_points_to_directory_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="832" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_broken_chain_returns_none" file="tests/rbx/grading/judge/storage_test.py" line="847" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_circular_reference_handling" file="tests/rbx/grading/judge/storage_test.py" line="860" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_subdirectory_file" file="tests/rbx/grading/judge/storage_test.py" line="873" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_relative_vs_absolute_paths" file="tests/rbx/grading/judge/storage_test.py" line="894" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_special_characters_in_path" file="tests/rbx/grading/judge/storage_test.py" line="918" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_with_spaces_in_path" file="tests/rbx/grading/judge/storage_test.py" line="936" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_mixed_chain_types" file="tests/rbx/grading/judge/storage_test.py" line="954" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_edge_case_empty_storage" file="tests/rbx/grading/judge/storage_test.py" line="974" time="0.001" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_case_sensitivity" file="tests/rbx/grading/judge/storage_test.py" line="986" time="0.002" /><testcase classname="tests.rbx.grading.judge.storage_test.TestFilesystemStorage" name="test_filename_from_symlink_max_depth_protection" file="tests/rbx/grading/judge/storage_test.py" line="1006" time="0.014" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_init_non_shared_creates_temp_directory" file="tests/rbx/grading/judge/test_cacher.py" line="64" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_init_shared_uses_provided_folder" file="tests/rbx/grading/judge/test_cacher.py" line="73" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_init_shared_creates_folder_if_provided" file="tests/rbx/grading/judge/test_cacher.py" line="82" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_precache_lock_exclusive" file="tests/rbx/grading/judge/test_cacher.py" line="90" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_exists_cache_only_true_when_cached" file="tests/rbx/grading/judge/test_cacher.py" line="106" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_exists_cache_only_false_when_not_cached" file="tests/rbx/grading/judge/test_cacher.py" line="114" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_exists_checks_backend_when_not_cache_only" file="tests/rbx/grading/judge/test_cacher.py" line="120" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_exists_remembers_existing_files" file="tests/rbx/grading/judge/test_cacher.py" line="131" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_cache_file_tombstone_raises_error" file="tests/rbx/grading/judge/test_cacher.py" line="140" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_cache_file_with_cache_only_behavior" file="tests/rbx/grading/judge/test_cacher.py" line="145" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_cache_file_loads_from_backend_when_not_cached" file="tests/rbx/grading/judge/test_cacher.py" line="157" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_tombstone_raises_error" file="tests/rbx/grading/judge/test_cacher.py" line="173" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_from_cache_when_available" file="tests/rbx/grading/judge/test_cacher.py" line="178" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_loads_from_backend_when_not_cached" file="tests/rbx/grading/judge/test_cacher.py" line="191" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_uses_symlink_when_available" file="tests/rbx/grading/judge/test_cacher.py" line="208" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_content_returns_bytes" file="tests/rbx/grading/judge/test_cacher.py" line="229" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_to_fobj_writes_to_file_object" file="tests/rbx/grading/judge/test_cacher.py" line="241" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_to_path_writes_to_path" file="tests/rbx/grading/judge/test_cacher.py" line="254" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_file_to_path_creates_parent_directories" file="tests/rbx/grading/judge/test_cacher.py" line="268" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_put_file_from_fobj_stores_content" file="tests/rbx/grading/judge/test_cacher.py" line="284" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_put_file_from_fobj_stores_in_backend_when_not_transient" file="tests/rbx/grading/judge/test_cacher.py" line="297" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_put_file_from_fobj_with_metadata" file="tests/rbx/grading/judge/test_cacher.py" line="313" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_put_file_content_calls_put_file_from_fobj" file="tests/rbx/grading/judge/test_cacher.py" line="329" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_put_file_text_encodes_to_utf8" file="tests/rbx/grading/judge/test_cacher.py" line="344" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_put_file_from_path_reads_file" file="tests/rbx/grading/judge/test_cacher.py" line="356" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_path_for_symlink_tombstone_raises_error" file="tests/rbx/grading/judge/test_cacher.py" line="369" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_path_for_symlink_returns_none_when_transient" file="tests/rbx/grading/judge/test_cacher.py" line="374" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_path_for_symlink_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="381" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_digest_from_symlink_returns_none_when_transient" file="tests/rbx/grading/judge/test_cacher.py" line="394" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_digest_from_symlink_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="405" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_set_metadata_skips_when_transient" file="tests/rbx/grading/judge/test_cacher.py" line="420" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_set_metadata_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="429" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_metadata_tombstone_raises_error" file="tests/rbx/grading/judge/test_cacher.py" line="442" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_metadata_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="447" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_list_metadata_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="462" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_size_tombstone_raises_error" file="tests/rbx/grading/judge/test_cacher.py" line="474" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_get_size_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="479" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_delete_removes_from_cache_and_backend" file="tests/rbx/grading/judge/test_cacher.py" line="491" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_delete_tombstone_does_nothing" file="tests/rbx/grading/judge/test_cacher.py" line="509" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_drop_removes_only_from_cache" file="tests/rbx/grading/judge/test_cacher.py" line="515" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_drop_tombstone_does_nothing" file="tests/rbx/grading/judge/test_cacher.py" line="533" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_purge_cache_clears_cache_directory" file="tests/rbx/grading/judge/test_cacher.py" line="539" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_destroy_cache_removes_cache_directory" file="tests/rbx/grading/judge/test_cacher.py" line="560" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_destroy_cache_raises_for_shared_cache" file="tests/rbx/grading/judge/test_cacher.py" line="568" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_list_delegates_to_backend" file="tests/rbx/grading/judge/test_cacher.py" line="573" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_check_backend_integrity_valid_files" file="tests/rbx/grading/judge/test_cacher.py" line="587" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_check_backend_integrity_invalid_file_reports_error" file="tests/rbx/grading/judge/test_cacher.py" line="598" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_check_backend_integrity_delete_corrupted_files" file="tests/rbx/grading/judge/test_cacher.py" line="616" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_integration_put_and_get_file" file="tests/rbx/grading/judge/test_cacher.py" line="635" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_integration_cache_persistence" file="tests/rbx/grading/judge/test_cacher.py" line="647" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_integration_with_metadata" file="tests/rbx/grading/judge/test_cacher.py" line="662" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_large_file_handling" file="tests/rbx/grading/judge/test_cacher.py" line="679" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_concurrent_cache_operations" file="tests/rbx/grading/judge/test_cacher.py" line="691" time="0.006" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_error_handling_missing_file" file="tests/rbx/grading/judge/test_cacher.py" line="712" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_tombstone_raises_error" file="tests/rbx/grading/judge/test_cacher.py" line="722" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_returns_cached_file_path" file="tests/rbx/grading/judge/test_cacher.py" line="727" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_loads_from_backend_when_not_cached" file="tests/rbx/grading/judge/test_cacher.py" line="744" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_uses_symlink_when_available" file="tests/rbx/grading/judge/test_cacher.py" line="764" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_backend_keyerror_propagates" file="tests/rbx/grading/judge/test_cacher.py" line="785" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_cache_file_disappears_after_load" file="tests/rbx/grading/judge/test_cacher.py" line="798" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_cacher.TestFileCacher" name="test_transient_path_for_symlink_multiple_calls_same_digest" file="tests/rbx/grading/judge/test_cacher.py" line="815" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramIO" name="test_default_io" file="tests/rbx/grading/judge/test_program.py" line="78" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramIO" name="test_custom_io_paths" file="tests/rbx/grading/judge/test_program.py" line="85" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramIO" name="test_io_with_file_descriptors" file="tests/rbx/grading/judge/test_program.py" line="112" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramIO" name="test_io_creates_parent_directories" file="tests/rbx/grading/judge/test_program.py" line="121" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramParams" name="test_default_params" file="tests/rbx/grading/judge/test_program.py" line="142" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramParams" name="test_custom_params" file="tests/rbx/grading/judge/test_program.py" line="154" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_program.TestPreexecFn" name="test_preexec_fn_with_limits" file="tests/rbx/grading/judge/test_program.py" line="178" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestPreexecFn" name="test_preexec_fn_no_limits" file="tests/rbx/grading/judge/test_program.py" line="185" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestResourceUtilities" name="test_get_cpu_time" file="tests/rbx/grading/judge/test_program.py" line="195" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestResourceUtilities" name="test_get_memory_usage[darwin-1]" file="tests/rbx/grading/judge/test_program.py" line="205" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestResourceUtilities" name="test_get_memory_usage[linux-1024]" file="tests/rbx/grading/judge/test_program.py" line="205" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_simple_program_execution" file="tests/rbx/grading/judge/test_program.py" line="236" time="0.138" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_with_exit_code" file="tests/rbx/grading/judge/test_program.py" line="251" time="0.099" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_with_input_output" file="tests/rbx/grading/judge/test_program.py" line="262" time="0.105" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_with_working_directory" file="tests/rbx/grading/judge/test_program.py" line="287" time="0.079" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_with_environment_variables" file="tests/rbx/grading/judge/test_program.py" line="297" time="0.083" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_cpu_time_limit" file="tests/rbx/grading/judge/test_program.py" line="319" time="0.316" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_wall_time_limit" file="tests/rbx/grading/judge/test_program.py" line="330" time="0.517" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_memory_limit" file="tests/rbx/grading/judge/test_program.py" line="343" time="0.320" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_output_limit" file="tests/rbx/grading/judge/test_program.py" line="354" time="0.073" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_signal_handling" file="tests/rbx/grading/judge/test_program.py" line="367" time="1.052" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_pipes_access" file="tests/rbx/grading/judge/test_program.py" line="395" time="0.100" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_pid_access" file="tests/rbx/grading/judge/test_program.py" line="410" time="0.100" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_multiple_program_codes" file="tests/rbx/grading/judge/test_program.py" line="424" time="0.216" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_program_result_attributes" file="tests/rbx/grading/judge/test_program.py" line="454" time="0.088" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgram" name="test_file_size_calculation" file="tests/rbx/grading/judge/test_program.py" line="472" time="0.089" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramCode" name="test_program_code_values" file="tests/rbx/grading/judge/test_program.py" line="502" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramMocks" name="test_process_exit_with_mocks" file="tests/rbx/grading/judge/test_program.py" line="516" time="0.013" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramMocks" name="test_preexec_fn_behavior" file="tests/rbx/grading/judge/test_program.py" line="552" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramMocks" name="test_handle_alarm_cpu_limit" file="tests/rbx/grading/judge/test_program.py" line="578" time="0.317" /><testcase classname="tests.rbx.grading.judge.test_program.TestProgramMocks" name="test_handle_alarm_memory_limit" file="tests/rbx/grading/judge/test_program.py" line="603" time="0.362" /><testcase classname="tests.rbx.grading.judge.test_program.TestEdgeCases" name="test_nonexistent_program" file="tests/rbx/grading/judge/test_program.py" line="631" time="0.020" /><testcase classname="tests.rbx.grading.judge.test_program.TestEdgeCases" name="test_empty_command" file="tests/rbx/grading/judge/test_program.py" line="639" time="0.004" /><testcase classname="tests.rbx.grading.judge.test_program.TestEdgeCases" name="test_concurrent_programs" file="tests/rbx/grading/judge/test_program.py" line="647" time="0.143" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxParams" name="test_set_stdio" file="tests/rbx/grading/judge/test_sandbox.py" line="33" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxParams" name="test_set_stdall" file="tests/rbx/grading/judge/test_sandbox.py" line="44" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxParams" name="test_add_mapped_directory" file="tests/rbx/grading/judge/test_sandbox.py" line="57" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxParams" name="test_add_mapped_directory_ignore_nonexistent" file="tests/rbx/grading/judge/test_sandbox.py" line="70" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxParams" name="test_get_cacheable_params" file="tests/rbx/grading/judge/test_sandbox.py" line="79" time="0.000" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_sandbox_initialization" file="tests/rbx/grading/judge/test_sandbox.py" line="94" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_sandbox_with_custom_name" file="tests/rbx/grading/judge/test_sandbox.py" line="100" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_relative_path" file="tests/rbx/grading/judge/test_sandbox.py" line="106" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_plain" file="tests/rbx/grading/judge/test_sandbox.py" line="114" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_executable" file="tests/rbx/grading/judge/test_sandbox.py" line="131" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_with_nested_directory" file="tests/rbx/grading/judge/test_sandbox.py" line="155" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_override" file="tests/rbx/grading/judge/test_sandbox.py" line="167" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_duplicate_without_override" file="tests/rbx/grading/judge/test_sandbox.py" line="183" time="0.005" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_symlink" file="tests/rbx/grading/judge/test_sandbox.py" line="196" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_symlink_override" file="tests/rbx/grading/judge/test_sandbox.py" line="211" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_fifo" file="tests/rbx/grading/judge/test_sandbox.py" line="231" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_from_bytes" file="tests/rbx/grading/judge/test_sandbox.py" line="241" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_from_string" file="tests/rbx/grading/judge/test_sandbox.py" line="251" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_from_other_file" file="tests/rbx/grading/judge/test_sandbox.py" line="261" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_create_file_from_storage" file="tests/rbx/grading/judge/test_sandbox.py" line="276" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file" file="tests/rbx/grading/judge/test_sandbox.py" line="294" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file_text" file="tests/rbx/grading/judge/test_sandbox.py" line="304" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file_with_truncation" file="tests/rbx/grading/judge/test_sandbox.py" line="314" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file_to_bytes" file="tests/rbx/grading/judge/test_sandbox.py" line="326" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file_to_bytes_with_limit" file="tests/rbx/grading/judge/test_sandbox.py" line="334" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file_to_string" file="tests/rbx/grading/judge/test_sandbox.py" line="344" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_get_file_to_storage" file="tests/rbx/grading/judge/test_sandbox.py" line="352" time="0.005" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_stat_file" file="tests/rbx/grading/judge/test_sandbox.py" line="366" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_file_exists" file="tests/rbx/grading/judge/test_sandbox.py" line="376" time="0.003" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_remove_file" file="tests/rbx/grading/judge/test_sandbox.py" line="386" time="0.004" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_remove_nonexistent_file" file="tests/rbx/grading/judge/test_sandbox.py" line="397" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_glob" file="tests/rbx/grading/judge/test_sandbox.py" line="404" time="0.004" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_reset_sandbox" file="tests/rbx/grading/judge/test_sandbox.py" line="425" time="0.002" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxBase" name="test_cleanup_sandbox" file="tests/rbx/grading/judge/test_sandbox.py" line="439" time="0.004" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestTruncator" name="test_truncator_basic" file="tests/rbx/grading/judge/test_sandbox.py" line="460" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestTruncator" name="test_truncator_seek_and_tell" file="tests/rbx/grading/judge/test_sandbox.py" line="472" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestTruncator" name="test_truncator_seek_end" file="tests/rbx/grading/judge/test_sandbox.py" line="495" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestTruncator" name="test_truncator_readinto" file="tests/rbx/grading/judge/test_sandbox.py" line="512" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestTruncator" name="test_truncator_properties" file="tests/rbx/grading/judge/test_sandbox.py" line="527" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestTruncator" name="test_truncator_close" file="tests/rbx/grading/judge/test_sandbox.py" line="543" time="0.001" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxEdgeCases" name="test_get_file_to_storage_with_truncation" file="tests/rbx/grading/judge/test_sandbox.py" line="559" time="0.005" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxEdgeCases" name="test_empty_file_operations" file="tests/rbx/grading/judge/test_sandbox.py" line="577" time="0.005" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxEdgeCases" name="test_unicode_file_operations" file="tests/rbx/grading/judge/test_sandbox.py" line="590" time="0.004" /><testcase classname="tests.rbx.grading.judge.test_sandbox.TestSandboxEdgeCases" name="test_large_file_operations" file="tests/rbx/grading/judge/test_sandbox.py" line="606" time="0.007" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_empty_commands_returns_true" file="tests/rbx/grading/steps_compile_test.py" line="29" time="0.005" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_successful_cpp_compilation" file="tests/rbx/grading/steps_compile_test.py" line="40" time="0.286" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_successful_python_no_compilation" file="tests/rbx/grading/steps_compile_test.py" line="72" time="0.003" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_java_compilation_removes_memory_constraints" file="tests/rbx/grading/steps_compile_test.py" line="92" time="0.387" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_compilation_error_returns_false" file="tests/rbx/grading/steps_compile_test.py" line="128" time="0.178" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_detects_compilation_warnings" file="tests/rbx/grading/steps_compile_test.py" line="159" time="0.230" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_multiple_commands_stops_on_first_error" file="tests/rbx/grading/steps_compile_test.py" line="199" time="0.434" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_multiple_commands_all_succeed" file="tests/rbx/grading/steps_compile_test.py" line="257" time="0.216" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_with_input_and_output_artifacts" file="tests/rbx/grading/steps_compile_test.py" line="300" time="0.191" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_output_artifact_processing_failure_returns_false" file="tests/rbx/grading/steps_compile_test.py" line="328" time="0.195" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_optional_output_artifacts_dont_cause_failure" file="tests/rbx/grading/steps_compile_test.py" line="354" time="0.196" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_creates_stdout_stderr_files_in_sandbox" file="tests/rbx/grading/steps_compile_test.py" line="388" time="0.175" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_with_sanitizer_command" file="tests/rbx/grading/steps_compile_test.py" line="416" time="0.200" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_logs_contain_command_and_outputs" file="tests/rbx/grading/steps_compile_test.py" line="452" time="0.181" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_compile_with_multiple_input_files" file="tests/rbx/grading/steps_compile_test.py" line="495" time="0.190" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_command_detection" file="tests/rbx/grading/steps_compile_test.py" line="536" time="0.001" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_gcc_on_linux_no_warning" file="tests/rbx/grading/steps_compile_test.py" line="564" time="0.181" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_gcc_on_macos_raises_error" file="tests/rbx/grading/steps_compile_test.py" line="612" time="0.009" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_clang_on_macos_works" file="tests/rbx/grading/steps_compile_test.py" line="646" time="0.638" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_version_check_failure_handles_gracefully" file="tests/rbx/grading/steps_compile_test.py" line="689" time="0.179" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_warning_detection_in_stderr" file="tests/rbx/grading/steps_compile_test.py" line="726" time="0.179" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_sanitizer_warning_line_detection" file="tests/rbx/grading/steps_compile_test.py" line="782" time="0.000" /><testcase classname="tests.rbx.grading.steps_compile_test.TestStepsCompile" name="test_non_sanitizer_command_on_macos_no_check" file="tests/rbx/grading/steps_compile_test.py" line="815" time="0.180" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_simple_communication" file="tests/rbx/grading/steps_run_coordinated_test.py" line="31" time="0.092" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_with_timeout" file="tests/rbx/grading/steps_run_coordinated_test.py" line="124" time="0.318" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_with_wall_timeout" file="tests/rbx/grading/steps_run_coordinated_test.py" line="173" time="2.027" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_solution_error" file="tests/rbx/grading/steps_run_coordinated_test.py" line="224" time="0.110" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_interactor_error" file="tests/rbx/grading/steps_run_coordinated_test.py" line="264" time="0.085" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_java_memory_handling" file="tests/rbx/grading/steps_run_coordinated_test.py" line="304" time="0.090" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_with_merged_capture" file="tests/rbx/grading/steps_run_coordinated_test.py" line="379" time="0.132" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_output_artifacts_failure" file="tests/rbx/grading/steps_run_coordinated_test.py" line="446" time="0.095" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_command_expansion" file="tests/rbx/grading/steps_run_coordinated_test.py" line="489" time="0.091" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_sandbox_reset_called" file="tests/rbx/grading/steps_run_coordinated_test.py" line="527" time="0.093" /><testcase classname="tests.rbx.grading.steps_run_coordinated_test.TestStepsRunCoordinated" name="test_run_coordinated_without_logs_holder" file="tests/rbx/grading/steps_run_coordinated_test.py" line="563" time="0.090" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_simple_python_command" file="tests/rbx/grading/steps_run_test.py" line="30" time="0.081" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_input_file" file="tests/rbx/grading/steps_run_test.py" line="61" time="0.081" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_creates_output_file" file="tests/rbx/grading/steps_run_test.py" line="94" time="0.078" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_error_returns_error_exitcode" file="tests/rbx/grading/steps_run_test.py" line="131" time="0.080" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_timeout" file="tests/rbx/grading/steps_run_test.py" line="158" time="0.626" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_wall_timeout" file="tests/rbx/grading/steps_run_test.py" line="188" time="0.528" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_memory_limit" file="tests/rbx/grading/steps_run_test.py" line="218" time="3.064" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_memory_limit_regression_test" file="tests/rbx/grading/steps_run_test.py" line="248" time="0.231" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_metadata" file="tests/rbx/grading/steps_run_test.py" line="290" time="0.094" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_java_removes_memory_constraints" file="tests/rbx/grading/steps_run_test.py" line="326" time="0.062" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_optional_output_file" file="tests/rbx/grading/steps_run_test.py" line="362" time="0.083" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_executable_output" file="tests/rbx/grading/steps_run_test.py" line="398" time="0.078" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_missing_required_output_returns_none" file="tests/rbx/grading/steps_run_test.py" line="433" time="0.078" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_maxlen_output" file="tests/rbx/grading/steps_run_test.py" line="464" time="0.079" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_touch_output" file="tests/rbx/grading/steps_run_test.py" line="501" time="0.080" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_processes_input_artifacts" file="tests/rbx/grading/steps_run_test.py" line="537" time="0.078" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_sanitizer_warnings_detection" file="tests/rbx/grading/steps_run_test.py" line="568" time="0.080" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_logs_are_captured" file="tests/rbx/grading/steps_run_test.py" line="607" time="0.077" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_without_logs_holder" file="tests/rbx/grading/steps_run_test.py" line="639" time="0.080" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_actual_sanitizer_warnings" file="tests/rbx/grading/steps_run_test.py" line="667" time="0.077" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_intermediate_output" file="tests/rbx/grading/steps_run_test.py" line="705" time="0.083" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_no_hash_tracking" file="tests/rbx/grading/steps_run_test.py" line="740" time="0.080" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_glob_expansion" file="tests/rbx/grading/steps_run_test.py" line="771" time="0.081" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_glob_no_matches" file="tests/rbx/grading/steps_run_test.py" line="833" time="0.078" /><testcase classname="tests.rbx.grading.steps_run_test.TestStepsRun" name="test_run_with_mixed_glob_and_normal_args" file="tests/rbx/grading/steps_run_test.py" line="875" time="0.077" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_from_digest" file="tests/rbx/grading/steps_with_caching_run_test.py" line="21" time="0.087" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_from_disk" file="tests/rbx/grading/steps_with_caching_run_test.py" line="51" time="0.081" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_reruns_if_cache_disabled" file="tests/rbx/grading/steps_with_caching_run_test.py" line="80" time="0.159" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_reruns_if_first_run_cache_disabled" file="tests/rbx/grading/steps_with_caching_run_test.py" line="116" time="0.155" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_reruns_if_second_run_cache_disabled" file="tests/rbx/grading/steps_with_caching_run_test.py" line="156" time="0.153" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_caches_intermediate_digest_if_dest_changes" file="tests/rbx/grading/steps_with_caching_run_test.py" line="198" time="0.081" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_caches_intermediate_digest_if_dest_changes_and_cache_transient" file="tests/rbx/grading/steps_with_caching_run_test.py" line="235" time="0.082" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_overwrites_changed_file_when_storage_value_is_changed_and_cache_transient" file="tests/rbx/grading/steps_with_caching_run_test.py" line="274" time="0.084" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_overwrites_changed_file_when_file_deleted_and_cache_transient" file="tests/rbx/grading/steps_with_caching_run_test.py" line="312" time="0.084" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_fails_when_storage_value_is_changed_and_integrity_check_is_enabled" file="tests/rbx/grading/steps_with_caching_run_test.py" line="350" time="0.080" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_evicts_and_recreates_deleted_file_with_storage_value" file="tests/rbx/grading/steps_with_caching_run_test.py" line="387" time="0.083" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_evicts_when_storage_value_deleted" file="tests/rbx/grading/steps_with_caching_run_test.py" line="424" time="0.158" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_overwrite_exec_bit_when_changed" file="tests/rbx/grading/steps_with_caching_run_test.py" line="464" time="0.083" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_evicts_when_changed_file_and_no_hash" file="tests/rbx/grading/steps_with_caching_run_test.py" line="508" time="0.164" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_evicts_when_exec_bit_different_and_no_hash" file="tests/rbx/grading/steps_with_caching_run_test.py" line="545" time="0.156" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_evicts_when_input_fingerprint_changes" file="tests/rbx/grading/steps_with_caching_run_test.py" line="584" time="0.156" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_evicts_when_output_is_deleted_and_no_hash" file="tests/rbx/grading/steps_with_caching_run_test.py" line="625" time="0.157" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_misses_when_input_file_changes" file="tests/rbx/grading/steps_with_caching_run_test.py" line="667" time="0.159" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_coordinated_from_digest" file="tests/rbx/grading/steps_with_caching_run_test.py" line="710" time="0.120" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_coordinated_caches_intermediate_digest_if_dest_changes" file="tests/rbx/grading/steps_with_caching_run_test.py" line="776" time="0.121" /><testcase classname="tests.rbx.grading.steps_with_caching_run_test" name="test_run_coordinated_evicts_when_retry_index_changes" file="tests/rbx/grading/steps_with_caching_run_test.py" line="847" time="0.368" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_model_dump_json_serialization" file="tests/rbx/test_utils.py" line="80" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_model_to_yaml_output_format" file="tests/rbx/test_utils.py" line="113" time="0.003" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_boolean_serialization" file="tests/rbx/test_utils.py" line="143" time="0.002" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_path_serialization" file="tests/rbx/test_utils.py" line="166" time="0.002" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_date_serialization" file="tests/rbx/test_utils.py" line="190" time="0.003" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_exclude_unset_and_none" file="tests/rbx/test_utils.py" line="213" time="0.002" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_schema_path_generation" file="tests/rbx/test_utils.py" line="236" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelToYaml" name="test_yaml_roundtrip" file="tests/rbx/test_utils.py" line="244" time="0.003" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_basic_model_from_yaml" file="tests/rbx/test_utils.py" line="276" time="0.002" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_boolean_parsing_from_yaml" file="tests/rbx/test_utils.py" line="301" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_path_parsing_from_yaml" file="tests/rbx/test_utils.py" line="316" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_date_parsing_from_yaml" file="tests/rbx/test_utils.py" line="333" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_optional_fields_from_yaml" file="tests/rbx/test_utils.py" line="350" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_collections_from_yaml" file="tests/rbx/test_utils.py" line="367" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_invalid_yaml_raises_error" file="tests/rbx/test_utils.py" line="394" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_missing_required_field_raises_error" file="tests/rbx/test_utils.py" line="404" time="0.001" /><testcase classname="tests.rbx.test_utils.TestModelFromYaml" name="test_yaml_with_schema_comment" file="tests/rbx/test_utils.py" line="415" time="0.001" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_complete_roundtrip" file="tests/rbx/test_utils.py" line="443" time="0.003" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_roundtrip_with_full_yaml_including_schema" file="tests/rbx/test_utils.py" line="468" time="0.003" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_boolean_roundtrip" file="tests/rbx/test_utils.py" line="482" time="0.001" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_path_roundtrip" file="tests/rbx/test_utils.py" line="501" time="0.001" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_date_roundtrip" file="tests/rbx/test_utils.py" line="525" time="0.001" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_optional_fields_roundtrip" file="tests/rbx/test_utils.py" line="548" time="0.001" /><testcase classname="tests.rbx.test_utils.TestYamlRoundtrip" name="test_collections_roundtrip" file="tests/rbx/test_utils.py" line="569" time="0.013" /></testsuite></testsuites>