#include "../src/fen.c" #include "../src/engine/search.c" #include "../src/engine/evaluate.c" #include "../src/engine/thread.c" #include "../src/engine/ttable.c" #include "../src/engine/threads.c" #include "../src/engine/moves.c" #include "../src/engine/moves/king.c" #include "../src/uci/command.c" #include "../src/uci/response.c" #include "../src/uci/state.c" int total_test_count = 86; bool (*tests[86])(void) = { test_fen_no_passant, test_fen_passant, test_starting_position, test_search_finds_mate_in_one, test_search_handles_no_moves, test_search_respects_depth, test_search_stop_signal_halts, test_qsearch_finds_capture, test_pv_reconstruction, test_eval_startpos_is_balanced, test_eval_scales_with_material, test_root_thread_emits_info_and_bestmove, test_root_thread_respects_depth_limit, test_root_thread_stops_on_node_limit, test_root_thread_reports_mate, test_child_workers_claim_and_share, test_child_thread_stops_on_signal, test_child_workers_find_mate_score, test_root_split_all_moves_claimed, test_root_with_workers_reports_mate, test_ttable_empty, test_ttable_insert_and_find, test_ttable_wrong_key, test_ttable_update_existing, test_bucket_collision, test_ttable_replace_shallowest, test_ttable_many_entries, test_threads_args_init_root_propagates, test_threads_args_init_child_propagates, test_split_pool_alloc_free, test_split_claim_moves_exactly_once, test_split_merge_last_owns, test_split_share_propagates_best, test_help_scan_finds_published_work, test_thrashing_counter_tracks_nodes, test_cooperative_stop_sets_finished, test_perft_starting_position, test_perft_kiwipete_position, test_perft_position3, test_white_king_corners, test_black_king_corners, test_uci_cmd_t, test_invalid_cmd_uci_cmd_t, test_uci_handshake_id_and_uciok, test_uci_handshake_prints_all_options, test_isready_returns_readyok, test_isready_transitions_to_idle, test_debug_on_sets_flag, test_debug_off_clears_flag, test_setoption_spin, test_setoption_spin_clamps_too_low, test_setoption_spin_clamps_too_high, test_setoption_check_true, test_setoption_check_false, test_setoption_button, test_setoption_string, test_setoption_hash_changes_value, test_position_startpos_loads, test_position_fen_loads, test_position_startpos_moves, test_go_depth_sets_args, test_go_wtime_btime_sets_args, test_go_nodes_sets_args, test_go_movetime_sets_args, test_go_movestogo_sets_args, test_go_mate_sets_args, test_go_infinite_sets_flag, test_go_ponder_sets_flag, test_go_combined_args, test_go_perft_sets_args, test_active_stop_transitions_to_idle, test_halt_sets_stop_signal, test_active_isready_transitions_to_ping, test_quit_sets_signal, test_new_game_accepted, test_full_handshake_sequence, test_uci_state_init_defaults, test_apply_option_spin_valid, test_apply_option_spin_below_min, test_apply_option_spin_above_max, test_apply_option_check, test_apply_option_button, test_apply_option_string, test_apply_option_unknown_ignored, test_option_settings_count, test_option_settings_types, }; int max_test_name_size = 35; char test_names[86][100] = { "fen_no_passant", "fen_passant", "starting_position", "search_finds_mate_in_one", "search_handles_no_moves", "search_respects_depth", "search_stop_signal_halts", "qsearch_finds_capture", "pv_reconstruction", "eval_startpos_is_balanced", "eval_scales_with_material", "root_thread_emits_info_and_bestmove", "root_thread_respects_depth_limit", "root_thread_stops_on_node_limit", "root_thread_reports_mate", "child_workers_claim_and_share", "child_thread_stops_on_signal", "child_workers_find_mate_score", "root_split_all_moves_claimed", "root_with_workers_reports_mate", "ttable_empty", "ttable_insert_and_find", "ttable_wrong_key", "ttable_update_existing", "bucket_collision", "ttable_replace_shallowest", "ttable_many_entries", "threads_args_init_root_propagates", "threads_args_init_child_propagates", "split_pool_alloc_free", "split_claim_moves_exactly_once", "split_merge_last_owns", "split_share_propagates_best", "help_scan_finds_published_work", "thrashing_counter_tracks_nodes", "cooperative_stop_sets_finished", "perft_starting_position", "perft_kiwipete_position", "perft_position3", "white_king_corners", "black_king_corners", "uci_cmd_t", "invalid_cmd_uci_cmd_t", "uci_handshake_id_and_uciok", "uci_handshake_prints_all_options", "isready_returns_readyok", "isready_transitions_to_idle", "debug_on_sets_flag", "debug_off_clears_flag", "setoption_spin", "setoption_spin_clamps_too_low", "setoption_spin_clamps_too_high", "setoption_check_true", "setoption_check_false", "setoption_button", "setoption_string", "setoption_hash_changes_value", "position_startpos_loads", "position_fen_loads", "position_startpos_moves", "go_depth_sets_args", "go_wtime_btime_sets_args", "go_nodes_sets_args", "go_movetime_sets_args", "go_movestogo_sets_args", "go_mate_sets_args", "go_infinite_sets_flag", "go_ponder_sets_flag", "go_combined_args", "go_perft_sets_args", "active_stop_transitions_to_idle", "halt_sets_stop_signal", "active_isready_transitions_to_ping", "quit_sets_signal", "new_game_accepted", "full_handshake_sequence", "uci_state_init_defaults", "apply_option_spin_valid", "apply_option_spin_below_min", "apply_option_spin_above_max", "apply_option_check", "apply_option_button", "apply_option_string", "apply_option_unknown_ignored", "option_settings_count", "option_settings_types", };