Files
drharness/tests/CMakeLists.txt
T

163 lines
5.8 KiB
CMake

# Add smoke test targets
function(add_dr_test script)
add_test(NAME ${script} COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh ${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh)
set_tests_properties(${script} PROPERTIES
TIMEOUT 30
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
endfunction()
add_dr_test(test_smoke_basic)
add_dr_test(test_smoke_tool_call)
add_dr_test(invalid_tool_fails)
# Add tool validation tests
add_dr_test(test_tool_edit)
add_dr_test(test_tool_read_file)
add_dr_test(test_tool_list_files)
add_dr_test(test_tool_grep)
add_dr_test(test_tool_shell)
add_dr_test(test_tool_read_multi_modal)
# Add feature validation tests
add_dr_test(test_tool_restrictions)
add_dr_test(test_n_flag)
add_dr_test(test_prompt_file)
add_dr_test(test_load_chat)
add_dr_test(process_reasoning)
add_dr_test(test_skill_scanner)
add_dr_test(test_nested_skills)
add_dr_test(test_skill_parsing)
add_dr_test(test_skill_validation)
add_dr_test(test_skill_listing)
# Add editor tests
add_dr_test(test_editor)
add_dr_test(test_tool_skill)
add_dr_test(test_skill_filter)
add_dr_test(test_skill_override)
add_dr_test(test_skill_unreadable_dir)
add_dr_test(test_auto_temp_file)
# Add JSON parsing and error handling tests
add_dr_test(test_json_safe_parse)
add_dr_test(test_json_type_mixed)
# Add json_to_field tests
add_dr_test(test_json_to_field)
# Add std::variant JSON serialization tests
add_dr_test(test_json_variant)
# Add expected error handling tests
add_dr_test(test_expected_errors)
# Add rebase parser tests (split into individual tests)
add_dr_test(test_rebase_parser_all_commands)
add_dr_test(test_rebase_parser_with_comments)
add_dr_test(test_rebase_parser_with_empty_lines)
add_dr_test(test_rebase_parser_invalid_command)
add_dr_test(test_rebase_parser_index_out_of_range)
add_dr_test(test_rebase_parser_duplicate_indices)
add_dr_test(test_rebase_parser_malformed_role)
add_dr_test(test_rebase_parser_invalid_role_value)
add_dr_test(test_rebase_parser_first_error_returned)
add_dr_test(test_rebase_parser_empty_rebase)
add_dr_test(test_rebase_parser_only_comments)
add_dr_test(test_rebase_parser_all_valid_roles)
add_dr_test(test_rebase_parser_invalid_command_digit)
add_dr_test(test_rebase_parser_invalid_index)
add_dr_test(test_rebase_parser_missing_role)
add_dr_test(test_rebase_parser_whitespace_variations)
add_dr_test(test_rebase_parser_comments_and_empty_lines_mixed)
# Add rebase content formatting tests (split into individual tests)
add_dr_test(test_rebase_content_basic_messages)
add_dr_test(test_rebase_content_multiline_content)
add_dr_test(test_rebase_content_tool_call_display)
add_dr_test(test_rebase_content_tool_message)
add_dr_test(test_rebase_content_empty_message)
add_dr_test(test_rebase_content_header_comments)
add_dr_test(test_rebase_content_multiple_tool_calls)
add_dr_test(test_rebase_content_message_indices)
add_dr_test(test_rebase_content_scissors_line)
add_dr_test(test_rebase_content_special_characters)
add_dr_test(test_rebase_content_unicode_characters)
add_dr_test(test_rebase_content_very_long_content)
# Add rebase apply tests (split into individual tests)
add_dr_test(test_rebase_apply_pick_preserves)
add_dr_test(test_rebase_apply_drop_removes)
add_dr_test(test_rebase_apply_edit_updates_role)
add_dr_test(test_rebase_apply_edit_preserves_fields)
add_dr_test(test_rebase_apply_implicit_pick)
add_dr_test(test_rebase_apply_mixed_commands)
add_dr_test(test_rebase_apply_empty_lines_preserves)
add_dr_test(test_rebase_apply_lenient_orphaned_results)
add_dr_test(test_rebase_apply_edit_preserves_tool_calls)
add_dr_test(test_rebase_apply_deleting_lines_drops)
add_dr_test(test_rebase_apply_all_lines_deleted_keeps)
# Add edit prompt tests (split from test_edit_prompt.sh)
add_dr_test(test_edit_prompt_with_context)
add_dr_test(test_edit_prompt_first_message)
add_dr_test(test_edit_prompt_separator_placement)
add_dr_test(test_edit_prompt_multiline_context)
add_dr_test(test_edit_prompt_tool_role)
add_dr_test(test_edit_prompt_middle_message)
# Add edit history flag tests (split from test_edit_history_flag.sh)
add_dr_test(test_edit_history_flag_requires_F_short)
add_dr_test(test_edit_history_flag_requires_F_long)
add_dr_test(test_edit_history_flag_empty_file_short)
add_dr_test(test_edit_history_flag_no_history)
add_dr_test(test_edit_history_flag_empty_file_long)
# Add edit history integration tests (split into individual tests)
add_dr_test(test_edit_history_pick_all_messages)
add_dr_test(test_edit_history_no_edits_unchanged)
add_dr_test(test_edit_history_drop_single_message)
add_dr_test(test_edit_history_edit_message_content)
add_dr_test(test_edit_history_change_message_role)
add_dr_test(test_edit_history_delete_line_equals_drop)
add_dr_test(test_edit_history_edit_first_message)
add_dr_test(test_edit_history_prompt_noop)
add_dr_test(test_edit_history_empty_history_rejected)
add_dr_test(test_edit_history_invalid_command_error)
add_dr_test(test_edit_history_invalid_index_error)
add_dr_test(test_edit_history_invalid_role_error)
add_dr_test(test_edit_history_multiple_edits)
add_dr_test(test_edit_history_then_continue)
add_dr_test(test_edit_history_remove_all_content)
add_dr_test(test_edit_history_multiple_consecutive_edits)
add_dr_test(test_edit_history_special_characters)
add_dr_test(test_edit_history_very_long_content)
add_dr_test(test_edit_history_assistant_with_tool_calls)
add_dr_test(test_edit_history_drop_all_messages)
add_dr_test(test_edit_history_unicode_characters)
# Add base64 encoding tests
add_dr_test(test_base64_encode)
# Add image file reading tests
add_dr_test(test_image_flag)
# Add ImageUrl and ContentPart tests
add_dr_test(test_image_url)
# Add multimodal message construction tests
add_dr_test(test_multimodal_message)
# Add multimodal round-trip persistence tests
add_dr_test(test_multimodal_roundtrip)
# Add print_history multimodal tests
add_dr_test(test_print_history_multimodal)
# Add encoding tests
add_dr_test(test_encoding)