Repository navigation
tests/: merge by topic, [test(description=, timeout=)], the shape gate - #4489
Conversation
The [test] macro accepts description, timeout and standalone and rejects any other argument or a wrong type. dastest prints the description under a test's FAIL line and reports a test that finishes past its declared timeout; in isolated mode a declared timeout raises its own file's deadline by the same amount. dastest/file_census.das is the one textual census of a test tree: run files by dastest's rule, tests, arms, descriptions, headers and fence signatures, with an option's value part of the fence. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4453584 to
312b111
Compare
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🔵 Needs a closer look
The change reorganizes the tests/ tree and introduces/enforces new test metadata semantics and tooling across many fixtures, making correctness hinge on full CI and cross-platform validation that cannot be confidently verified from the provided diff excerpt.
No open issues 🎉
What changed in this PR
This pull request restructures the tests/ tree to reduce per-file runner overhead by consolidating tests by topic, while standardizing per-test metadata so failures and the generated tests/README.md index include explicit test “claims”. It also updates supporting review gates, documentation references, and CI wiring to enforce and consume the new test-tree shape.
Changes:
- Consolidate many
tests/**files into topic-based suites (with per-folderuncategorized.dasconventions) to reduce test runner per-file costs. - Standardize/expand
[test(description=..., timeout=..., standalone=...)]metadata and generate/verifytests/README.mdfrom descriptions. - Update review gates, docs, and CI/CMake references to align with the new merged test layout and enforcement tooling.
| File | Status |
|---|---|
| utils/watchdog/README.md | Reviewed |
| utils/internal/flatten-fuzz/README.md | Reviewed |
| utils/internal/das-herd/CONTAINER_INIT_PLAN.md | Reviewed |
| tutorials/macros/18_with_boost.das | Reviewed |
| tests/with_boost/failed_with_two_tables.das | Reviewed |
| tests/with_boost/failed_with_nested_array.das | Reviewed |
| tests/with_boost/failed_with_local.das | Reviewed |
| tests/with_boost/failed_with_function_call.das | Reviewed |
| tests/with_boost/failed_with_array_literal.das | Reviewed |
| tests/with_boost/failed_with_arity_mismatch.das | Reviewed |
| tests/verify/failed_test_verify_completion.das | Reviewed |
| tests/unsafe/failed_unsafe_reference.das | Reviewed |
| tests/typer_errors/failed_with_module_unsafe.das | Reviewed |
| tests/typer_errors/failed_with_module_unknown.das | Reviewed |
| tests/typer_errors/failed_thread_loop_void.das | Reviewed |
| tests/typer_errors/failed_local_reference_to_temporary_select.das | Reviewed |
| tests/typer_errors/failed_lattice_table_key.das | Reviewed |
| tests/typer_errors/failed_invalid_empty_name_structure.das | Reviewed |
| tests/typer_errors/failed_invalid_empty_name_struct_field.das | Reviewed |
| tests/typer_errors/failed_invalid_empty_name_function.das | Reviewed |
| tests/typer_errors/failed_invalid_empty_name_expr_var.das | Reviewed |
| tests/typer_errors/failed_invalid_empty_name_expr_call.das | Reviewed |
| tests/typer_errors/failed_distinct_table_key.das | Reviewed |
| tests/typer_errors/failed_distinct_private.das | Reviewed |
| tests/typer_errors/failed_distinct_mismatch.das | Reviewed |
| tests/typer_errors/failed_distinct_decl.das | Reviewed |
| tests/typer_errors/failed_distinct_ctor.das | Reviewed |
| tests/typemacro/test_shift_after_typemacro_gen1.das | Reviewed |
| tests/typemacro/failed_tsi_not_template_parent.das | Reviewed |
| tests/typemacro/failed_tsi_nonconst.das | Reviewed |
| tests/typemacro/failed_tsi_gate_not_bool.das | Reviewed |
| tests/typemacro/failed_tsi_field_collision.das | Reviewed |
| tests/typemacro/failed_tsi_bad_gate.das | Reviewed |
| tests/typemacro/failed_tsi_bad_call.das | Reviewed |
| tests/type_traits/test_traits.das | Reviewed |
| tests/template/uncategorized.das | Reviewed |
| tests/template/test_template.das | Reviewed |
| tests/template/failed_qmacro_template_class_untyped_name.das | Reviewed |
| tests/template/failed_qmacro_method_untyped_name.das | Reviewed |
| tests/strings/failed_temporary_strings.das | Reviewed |
| tests/strings/delete_strings_persistent.das | Reviewed |
| tests/promote/failed_int_overflow_uint8.das | Reviewed |
| tests/promote/failed_int_overflow_uint16.das | Reviewed |
| tests/promote/failed_int_overflow_int8.das | Reviewed |
| tests/promote/failed_int_overflow_int8_neg.das | Reviewed |
| tests/promote/failed_int_overflow_bitfield8.das | Reviewed |
| tests/promote/failed_int_negative_uint8.das | Reviewed |
| tests/promote/failed_in_variant_field.das | Reviewed |
| tests/promote/failed_in_variant_field_clone.das | Reviewed |
| tests/promote/failed_in_struct_field_decl.das | Reviewed |
| tests/promote/failed_in_struct_ctor.das | Reviewed |
| tests/promote/failed_in_return.das | Reviewed |
| tests/promote/failed_in_op2.das | Reviewed |
| tests/promote/failed_in_global_init.das | Reviewed |
| tests/promote/failed_in_copy.das | Reviewed |
| tests/promote/failed_in_clone.das | Reviewed |
| tests/promote/failed_in_array_literal.das | Reviewed |
| tests/promote/failed_hex_overflow_int8.das | Reviewed |
| tests/module_cache/test_global_offset_late_require.das | Reviewed |
| tests/math/math_pack_unpack.das | Reviewed |
| tests/match/failed_match_view_in_array.das | Reviewed |
| tests/match/failed_match_view_does_not_compile.das | Reviewed |
| tests/match/failed_match_variant_call_arity.das | Reviewed |
| tests/match/failed_match_variant_bare_case_missing.das | Reviewed |
| tests/match/failed_match_value_no_catch_all.das | Reviewed |
| tests/match/failed_match_unreachable_struct_arm.das | Reviewed |
| tests/match/failed_match_unreachable_exhausted_variant.das | Reviewed |
| tests/match/failed_match_unreachable_duplicate.das | Reviewed |
| tests/match/failed_match_unreachable_alternative.das | Reviewed |
| tests/match/failed_match_unreachable_after_complete_guards.das | Reviewed |
| tests/match/failed_match_unreachable_after_catch_all.das | Reviewed |
| tests/match/failed_match_unreachable_after_alternative_calls.das | Reviewed |
| tests/match/failed_match_unknown_tag.das | Reviewed |
| tests/match/failed_match_unknown_struct_field.das | Reviewed |
| tests/match/failed_match_unknown_alternative_call.das | Reviewed |
| tests/match/failed_match_table_set_value.das | Reviewed |
| tests/match/failed_match_table_not_table.das | Reviewed |
| tests/match/failed_match_string_not_string.das | Reviewed |
| tests/match/failed_match_several_values_arity.das | Reviewed |
| tests/match/failed_match_range_type.das | Reviewed |
| tests/match/failed_match_range_overlap.das | Reviewed |
| tests/match/failed_match_range_covered.das | Reviewed |
| tests/match/failed_match_not_exhaustive_variant_call.das | Reviewed |
| tests/match/failed_match_not_exhaustive_struct_fields.das | Reviewed |
| tests/match/failed_match_not_exhaustive_pair.das | Reviewed |
| tests/match/failed_match_not_exhaustive_many.das | Reviewed |
| tests/match/failed_match_not_exhaustive_enum.das | Reviewed |
| tests/match/failed_match_mixed_arms.das | Reviewed |
| tests/match/failed_match_float_guards_not_exhaustive.das | Reviewed |
| tests/match/failed_match_computed_pattern.das | Reviewed |
| tests/match/failed_match_call_guards_not_exhaustive.das | Reviewed |
| tests/match/failed_match_body_shadows_binding.das | Reviewed |
| tests/match/failed_match_binding_is_a_copy.das | Reviewed |
| tests/match/failed_match_assignment_body.das | Reviewed |
| tests/match/failed_match_alternative_names_differ.das | Reviewed |
| tests/macro_call/test_find_call_macro_null.das | Reviewed |
| tests/macro_call/test_add_new_call_macro_from_apply.das | Reviewed |
| tests/lint/stale_fixtures/_fixture_lint_skip.das | Reviewed |
| tests/lint/_fixture_style048_hints.das | Reviewed |
| tests/lint/_fixture_lint031_writer.das | Reviewed |
| tests/lint/_assume_block_lint013_fixture.das | Reviewed |
| tests/linq/failed_test_linq_join.das | Reviewed |
| tests/language/with_statement.das | Reviewed |
| tests/language/with_module_unsafe_policy.das | Reviewed |
| tests/language/unused_arguments_annotation.das | Reviewed |
| tests/language/typeinfo.das | Reviewed |
| tests/language/typefunction.das | Reviewed |
| tests/language/tuple_expansion.das | Reviewed |
| tests/language/to_table.das | Reviewed |
| tests/language/test_frame_position_nogc.das | Reviewed |
| tests/language/test_char_escapes_gen1.das | Reviewed |
| tests/language/table_value_lookup_no_collision.das | Reviewed |
| tests/language/string_clone_init_temporary.das | Reviewed |
| tests/language/stdvec_r2v.das | Reviewed |
| tests/language/rpipe.das | Reviewed |
| tests/language/require_as_fixture.das | Reviewed |
| tests/language/private_property_setter.das | Reviewed |
| tests/language/optional_require_fixture_skipme.das | Reviewed |
| tests/language/optional_require_fixture_private.das | Reviewed |
| tests/language/optional_require_fixture_pctskip.das | Reviewed |
| tests/language/optional_require_fixture_pctguard.das | Reviewed |
| tests/language/optional_require_fixture_pathguard.das | Reviewed |
| tests/language/optional_require_fixture_hidden.das | Reviewed |
| tests/language/option_type.das | Reviewed |
| tests/language/null_pointer_arith_fold.das | Reviewed |
| tests/language/no_default_initializer.das | Reviewed |
| tests/language/mksmart_zero.das | Reviewed |
| tests/language/memzero.das | Reviewed |
| tests/language/map_to_a.das | Reviewed |
| tests/language/macro_patch_per_instance.das | Reviewed |
| tests/language/line_info.das | Reviewed |
| tests/language/lambda_capture.das | Reviewed |
| tests/language/invoke_cmres_global_alias.das | Reviewed |
| tests/language/invalid_type_ref_in_table_value.das | Reviewed |
| tests/language/invalid_table_type_mix.das | Reviewed |
| tests/language/invalid_structure_field_type_void.das | Reviewed |
| tests/language/invalid_structure_field_type_ref.das | Reviewed |
| tests/language/invalid_return_type_mix.das | Reviewed |
| tests/language/invalid_infer_return_type.das | Reviewed |
| tests/language/invalid_index_type.das | Reviewed |
| tests/language/invalid_escape_sequence.das | Reviewed |
| tests/language/invalid_array_type_mix.das | Reviewed |
| tests/language/invalid_argument_count_mix.das | Reviewed |
| tests/language/inline_discarded_pure_result.das | Reviewed |
| tests/language/infer_alias_argument.das | Reviewed |
| tests/language/fully_qualified_generic_name.das | Reviewed |
| tests/language/for_single_element.das | Reviewed |
| tests/language/for_const_array.das | Reviewed |
| tests/language/failed_variant_bare_case_value.das | Reviewed |
| tests/language/failed_variant_bare_case_access.das | Reviewed |
| tests/language/failed_unused_argument.das | Reviewed |
| tests/language/failed_typeinfo_offsetof_missing_field.das | Reviewed |
| tests/language/failed_type_not_found.das | Reviewed |
| tests/language/failed_type_loop.das | Reviewed |
| tests/language/failed_tuple_shorthand_return_mismatch.das | Reviewed |
| tests/language/failed_tuple_shorthand_mismatch.das | Reviewed |
| tests/language/failed_tuple_dim_self_reference.das | Reviewed |
| tests/language/failed_table_lookup_collision.das | Reviewed |
| tests/language/failed_table_literal_float16_key.das | Reviewed |
| tests/language/failed_super_twice.das | Reviewed |
| tests/language/failed_super_skip_intermediate.das | Reviewed |
| tests/language/failed_super_on_branch.das | Reviewed |
| tests/language/failed_super_in_try_only_recover.das | Reviewed |
| tests/language/failed_super_args_mismatch.das | Reviewed |
| tests/language/failed_structure_field_already_declared.das | Reviewed |
| tests/language/failed_structure_already_defined.das | Reviewed |
| tests/language/failed_struct_alias_typemacro_loop.das | Reviewed |
| tests/language/failed_struct_alias_loop.das | Reviewed |
| tests/language/failed_static_assert_in_infer.das | Reviewed |
| tests/language/failed_sizeof_reference.das | Reviewed |
| tests/language/failed_run_annotation_side_effects.das | Reviewed |
| tests/language/failed_return_void_expression.das | Reviewed |
| tests/language/failed_return_in_try.das | Reviewed |
| tests/language/failed_return_in_recover.das | Reviewed |
| tests/language/failed_result_type_by_ref_too_big.das | Reviewed |
| tests/language/failed_require_as.das | Reviewed |
| tests/language/failed_reader_macro_not_found.das | Reviewed |
| tests/language/failed_pointer_math_unsized_pointee.das | Reviewed |
| tests/language/failed_not_all_paths_return_a_value.das | Reviewed |
| tests/language/failed_nodiscard.das | Reviewed |
| tests/language/failed_no_super.das | Reviewed |
| tests/language/failed_no_init.das | Reviewed |
| tests/language/failed_named_call_bare.das | Reviewed |
| tests/language/failed_mismatching_parentheses.das | Reviewed |
| tests/language/failed_mismatching_curly_bracers.das | Reviewed |
| tests/language/failed_macro_added_function_must_infer.das | Reviewed |
| tests/language/failed_inline_label_ternary.das | Reviewed |
| tests/language/failed_inline_label_let.das | Reviewed |
| tests/language/failed_inline_hoist_clone.das | Reviewed |
| tests/language/failed_inline_arg_clone.das | Reviewed |
| tests/language/failed_goto_out_of_block.das | Reviewed |
| tests/language/failed_global_variable_order.das | Reviewed |
| tests/language/failed_global_variable_order_itself.das | Reviewed |
| tests/language/failed_global_variable_init_loop.das | Reviewed |
| tests/language/failed_global_variable_already_declared.das | Reviewed |
| tests/language/failed_global_init_type_mismatch.das | Reviewed |
| tests/language/failed_generator_for_uninferred_rename.das | Reviewed |
| tests/language/failed_generator_dim.das | Reviewed |
| tests/language/failed_function_not_found_ambiguous.das | Reviewed |
| tests/language/failed_function_argument_already_declared.das | Reviewed |
| tests/language/failed_function_already_declared.das | Reviewed |
| tests/language/failed_finalize_super_twice.das | Reviewed |
| tests/language/failed_finalize_super_on_branch.das | Reviewed |
| tests/language/failed_failed_local_classes.das | Reviewed |
| tests/language/failed_failed_containers.das | Reviewed |
| tests/language/failed_duplicate_keys.das | Reviewed |
| tests/language/failed_container_init_off_resize.das | Reviewed |
| tests/language/failed_const_init_type_folding.das | Reviewed |
| tests/language/failed_const_and_block_folding.das | Reviewed |
| tests/language/failed_condition_must_be_bool.das | Reviewed |
| tests/language/failed_comprehension_source_in_generator.das | Reviewed |
| tests/language/failed_comment_eof.das | Reviewed |
| tests/language/failed_class_method_non_static.das | Reviewed |
| tests/language/failed_block.das | Reviewed |
| tests/language/failed_assume_loop.das | Reviewed |
| tests/language/failed_assert_over_effectful_field.das | Reviewed |
| tests/language/failed_any_argument_const_ref.das | Reviewed |
| tests/language/failed_annotation_int64_positive.das | Reviewed |
| tests/language/failed_annotation_int64_positive_gen1.das | Reviewed |
| tests/language/failed_annotation_int64_overflow.das | Reviewed |
| tests/language/failed_annotation_int64_overflow_gen1.das | Reviewed |
| tests/language/failed_aliasing.das | Reviewed |
| tests/language/failed_aka.das | Reviewed |
| tests/language/each_std_vector.das | Reviewed |
| tests/language/dummy.das | Reviewed |
| tests/language/deref_ptr_fun.das | Reviewed |
| tests/language/containers.das | Reviewed |
| tests/language/cant_write_generator_for_variable.das | Reviewed |
| tests/language/cant_unsafe_assign_operator_init.das | Reviewed |
| tests/language/cant_scratch_outside_unsafe.das | Reviewed |
| tests/language/cant_rpipe_into_operator.das | Reviewed |
| tests/language/cant_override_sealed.das | Reviewed |
| tests/language/cant_index.das | Reviewed |
| tests/language/cant_have_local_variable.das | Reviewed |
| tests/language/cant_get_field.das | Reviewed |
| tests/language/cant_derive_from_sealed_class.das | Reviewed |
| tests/language/cant_dereference_mix.das | Reviewed |
| tests/language/cant_delete_super_self.das | Reviewed |
| tests/language/cant_addr_cast_unsafe.das | Reviewed |
| tests/language/cant_addr_cast_non_pointer.das | Reviewed |
| tests/language/bool_condition.das | Reviewed |
| tests/language/block.das | Reviewed |
| tests/language/assume.das | Reviewed |
| tests/language/ascend_ctor.das | Reviewed |
| tests/language/aot_enum_named_like_module.das | Reviewed |
| tests/language/annotation_signed_numbers_gen1.das | Reviewed |
| tests/language/add_property_ext_const.das | Reviewed |
| tests/language/_require_as_fixture.das | Reviewed |
| tests/language/_optional_require_fixture_private.das | Reviewed |
| tests/language/_optional_require_fixture_pctskip.das | Reviewed |
| tests/language/_optional_require_fixture_pctguard.das | Reviewed |
| tests/language/_optional_require_fixture_pathguard.das | Reviewed |
| tests/language/_optional_require_fixture_hidden.das | Reviewed |
| tests/language/_never_inline_module.das | Reviewed |
| tests/language/_inline_counter_helper.das | Reviewed |
| tests/language/_arch_annotation_doc.md | Reviewed |
| tests/json/cant_sscan_vector_value.das | Reviewed |
| tests/json/cant_sscan_table_value.das | Reviewed |
| tests/json/cant_sscan_struct_value.das | Reviewed |
| tests/json/cant_sscan_struct_result.das | Reviewed |
| tests/json/cant_sscan_scalar_value.das | Reviewed |
| tests/json/cant_sscan_named_destination.das | Reviewed |
| tests/json/cant_sscan_fixed_array_value.das | Reviewed |
| tests/json/cant_sscan_fallback_value.das | Reviewed |
| tests/json/cant_sscan_const_struct.das | Reviewed |
| tests/json/cant_sscan_const_scalar.das | Reviewed |
| tests/json/cant_sscan_conditional_value.das | Reviewed |
| tests/json/cant_sscan_array_value.das | Reviewed |
| tests/jobque/test_thread_loop.das | Reviewed |
| tests/jit_tests/uninferred_local_typedef.das | Reviewed |
| tests/jit_tests/uncategorized_solid_context.das | Reviewed |
| tests/jit_tests/string_builder.das | Reviewed |
| tests/jit_tests/return_in_try_recover.das | Reviewed |
| tests/jit_tests/interop_call.das | Reviewed |
| tests/jit_tests/handle_list_substituted.das | Reviewed |
| tests/jit_tests/global_variables_solid.das | Reviewed |
| tests/jit_tests/extern_call.das | Reviewed |
| tests/jit_tests/default_fn_ptr.das | Reviewed |
| tests/interfaces/failed_test_missing_method.das | Reviewed |
| tests/interfaces/failed_test_missing_inherited.das | Reviewed |
| tests/flatten/test_flatten_swizzle.das | Reviewed |
| tests/flatten/test_flatten_opt.das | Reviewed |
| tests/flatten/test_flatten_dot.das | Reviewed |
| tests/flatten/no_aot/test_flatten_inline_accumulator.das | Reviewed |
| tests/fixed_array/failed_zero_dim.das | Reviewed |
| tests/fixed_array/failed_void_array.das | Reviewed |
| tests/fixed_array/failed_typedecl_dim.das | Reviewed |
| tests/fixed_array/failed_nonconst_dim.das | Reviewed |
| tests/fixed_array/failed_new_fixed_array.das | Reviewed |
| tests/fixed_array/failed_copy_noncopyable.das | Reviewed |
| tests/fio/_fixture_echo_args.das | Reviewed |
| tests/decs/test_stages_extra.das | Reviewed |
| tests/decs/failed_test_empty_template.das | Reviewed |
| tests/decs/failed_component_value_too_big.das | Reviewed |
| tests/decs/empty_query.das | Reviewed |
| tests/decs/_test_stages_extra.das | Reviewed |
| tests/dastest/_tests_shape_fixture/uncategorized_rtti.das | Reviewed |
| tests/dastest/_tests_shape_fixture/uncategorized_persistent_heap.das | Reviewed |
| tests/dastest/_tests_shape_fixture/uncategorized_persistent_heap_2.das | Reviewed |
| tests/dastest/_tests_shape_fixture/uncategorized_heap.das | Reviewed |
| tests/dastest/_tests_shape_fixture/uncategorized_3.das | Reviewed |
| tests/dastest/_tests_shape_fixture/plain.das | Reviewed |
| tests/dastest/_tests_shape_fixture/noprefix.das | Reviewed |
| tests/dastest/_tests_shape_fixture/lonely.das | Reviewed |
| tests/dastest/_tests_shape_fixture/failed_nohead.das | Reviewed |
| tests/dastest/_tests_shape_fixture/alone.das | Reviewed |
| tests/dastest/_tests_shape_fixture_plain/uncategorized.das | Reviewed |
| tests/dasSQLITE/migrate_85_struct_convert_user_overload.das | Reviewed |
| tests/dasSQLITE/migrate_64_try_form_returns_err.das | Reviewed |
| tests/dasSQLITE/migrate_45_baseline_then_migrate.das | Reviewed |
| tests/dasSQLITE/migrate_28_no_vacuum_no_analyze_default.das | Reviewed |
| tests/dasSQLITE/migrate_25_analyze.das | Reviewed |
| tests/dasSQLITE/migrate_22_add_column_dup_runtime.das | Reviewed |
| tests/dasSQLITE/migrate_20_create_index_basic.das | Reviewed |
| tests/dasSQLITE/migrate_19_add_column_blob.das | Reviewed |
| tests/dasSQLITE/migrate_18_add_column_json.das | Reviewed |
| tests/dasSQLITE/migrate_17_add_column_renamed.das | Reviewed |
| tests/dasSQLITE/migrate_14_add_column_optional.das | Reviewed |
| tests/dasSQLITE/migrate_13_data_preserved.das | Reviewed |
| tests/dasSQLITE/migrate_12_description_persists.das | Reviewed |
| tests/dasSQLITE/migrate_10_strict_forward.das | Reviewed |
| tests/dasSQLITE/migrate_09_steady_state.das | Reviewed |
| tests/dasSQLITE/failed_unbindable_bind.das | Reviewed |
| tests/dasSQLITE/failed_sql_view_schema.das | Reviewed |
| tests/dasSQLITE/failed_sql_upsert.das | Reviewed |
| tests/dasSQLITE/failed_sql_update_delete.das | Reviewed |
| tests/dasSQLITE/failed_sql_pragma_vacuum.das | Reviewed |
| tests/dasSQLITE/failed_sql_pragma_untyped_runner.das | Reviewed |
| tests/dasSQLITE/failed_sql_migration_dup_version.das | Reviewed |
| tests/dasSQLITE/failed_sql_fts5_unindexed_match.das | Reviewed |
| tests/dasSQLITE/failed_sql_composite_reference.das | Reviewed |
| tests/dasSQLITE/failed_schema_from_table_not_in_file.das | Reviewed |
| tests/dasSQLITE/failed_schema_from_pk_disagreement.das | Reviewed |
| tests/dasSQLITE/failed_schema_from_nullable_strict.das | Reviewed |
| tests/dasSQLITE/failed_schema_from_nullable_loose.das | Reviewed |
| tests/dasSQLITE/failed_schema_from_file_missing.das | Reviewed |
| tests/dasSQLITE/failed_schema_from_field_not_in_db.das | Reviewed |
| tests/dasSQLITE/failed_register_function.das | Reviewed |
| tests/dasSQLITE/failed_each_sql_terminals.das | Reviewed |
| tests/dasSQLITE/failed_create_index_unknown_field.das | Reviewed |
| tests/dasSQLITE/failed_create_index_empty_fields.das | Reviewed |
| tests/dasSQLITE/failed_add_column_unknown_field.das | Reviewed |
| tests/dasSQLITE/failed_add_column_unique_rejected.das | Reviewed |
| tests/dasSQLITE/failed_add_column_pk_rejected.das | Reviewed |
| tests/dasSQLITE/failed_add_column_no_sql_table.das | Reviewed |
| tests/daslib/cant_only_nttp_fixture.das | Reviewed |
| tests/daslib/cant_cmp_unknown_field.das | Reviewed |
| tests/daslib/cant_cmp_on_class.das | Reviewed |
| tests/daslib/cant_cmp_no_fields.das | Reviewed |
| tests/daslib/cant_cmp_listed_twice.das | Reviewed |
| tests/daslib/cant_cmp_by_no_placeholder.das | Reviewed |
| tests/daslib/cant_cmp_by_no_keys.das | Reviewed |
| tests/daslib/cant_cmp_bad_direction.das | Reviewed |
| tests/daslib/_only_nttp_fixture_good.das | Reviewed |
| tests/daslib/_eval_single_expression_fixture.das | Reviewed |
| tests/dasHV/test_file_stream_binding.das | Reviewed |
| tests/dasHV/no_aot/failed_upgrade_request_escape.das | Reviewed |
| tests/dasHV/no_aot/failed_checked_response_escape.das | Reviewed |
| tests/cuda/REVIEW.md | Reviewed |
| tests/constexpr/failed_test_constexpr.das | Reviewed |
| tests/class_boost/failed_explicit_const_non_static.das | Reviewed |
| tests/bare_block/failed_piped_no_default.das | Reviewed |
| tests/bare_block/failed_piped_no_block_param.das | Reviewed |
| tests/bare_block/failed_piped_field.das | Reviewed |
| tests/bare_block/failed_piped_block_mismatch.das | Reviewed |
| tests/bare_block/failed_piped_ambiguous.das | Reviewed |
| tests/ast/failed_sticky_macro_error.das | Reviewed |
| tests/ast/failed_short_iterator_arrays.das | Reviewed |
| tests/ast/failed_null_let_entry.das | Reviewed |
| tests/ast/failed_null_function_result.das | Reviewed |
| tests/ast/failed_null_for_body.das | Reviewed |
| tests/assert_once/test_assert_once.das | Reviewed |
| tests/aot/uncategorized_optimize_false.das | Reviewed |
| tests/aot/test_ref_make_local.das | Reviewed |
| tests/aot/test_lambda_handled_result.das | Reviewed |
| tests/aot/test_empty_tuple_aot.das | Reviewed |
| tests/aot/test_assume_string_builder.das | Reviewed |
| tests/algorithm/sets.das | Reviewed |
| modules/dasSQLITE/README.md | Reviewed |
| modules/dasMetal/REVIEW.md | Reviewed |
| modules/dasMetal/REVIEW.das | Reviewed |
| modules/dasLLVM/DEBUGGING.md | Reviewed |
| modules/dasLLVM/daslib/llvm_jit_run.das | Reviewed |
| modules/dasGLTF/README.md | Reviewed |
| include/daScript/simulate/ARCHITECTURE.md | Reviewed |
| dastest/tests/test_timeout.das | Reviewed |
| dastest/tests/_fixture_unknown_annotation_arg.das | Reviewed |
| dastest/tests/_fixture_bad_annotation_kind.das | Reviewed |
| dastest/tests/_fixture_bad_annotation_arg.das | Reviewed |
| dastest/log.das | Reviewed |
| CMakeCommon.txt | Reviewed |
| ci/CMakeLists.txt | Reviewed |
Review effort: Balanced
312b111 to
8aca9af
Compare
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🔵 Needs a closer look
The change is a large, cross-cutting reorganization of the test suite with newly enforced metadata/shape gates and timeout semantics whose correctness depends on end-to-end CI/lint/AOT and downstream tooling validation that cannot be fully verified from the available diff evidence alone.
No open issues 🎉
Review effort: Balanced
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🔵 Needs a closer look
The change combines a large test corpus reshuffle with new/changed CI gates, making it impractical to confirm from the diff excerpts alone that merged-file option/fence semantics and downstream CI workflows remain correct without full runs and targeted sanity checks.
No open issues 🎉
Review effort: Balanced
8aca9af to
627eed6
Compare
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🔵 Needs a closer look
The change is a sweeping tests/ refactor with merges/renames and new shape-enforcement rules where subtle suite-discovery and option/standalone boundary issues may exist, and the provided evidence only samples a subset without full CI/nightly confirmation.
No open issues 🎉
Review effort: Balanced
tests/REVIEW.das holds the tree to the shape: three or more tests per category file, one uncategorized.das per folder, fenced uncategorized_<signature>.das files, continuations past a cap of 100, a description on every test, a header on every compile-fail fixture, no bare script. utils/internal/test-audit audits how the tree packs and generates tests/README.md from the descriptions; check_tests_index verifies it in CI. The hand prose of the README moves to tests/ARCHITECTURE.md; tests/REVIEW.md, the skills and the tdd-auditor carry the placement rule, and a body-identical move is not a test edit. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1929 run files become 1068: tests move into topic files or their folder's uncategorized file, files that cannot share a program say why in standalone, waits carry timeouts, lone benchmarks and bare scripts gain a test, helper modules take the fixture prefix. The two generators that write test files write one described file per rail, the AOT lists and the documents that named moved files follow, and tests/README.md is regenerated. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The tests/lint file whose name stood in for the LINT002 fixture merged into its topic file; the dastest self-tests take expression bodies and a reason on each unsafe block. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
627eed6 to
4645997
Compare
There was a problem hiding this comment.
Note
Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.
🔵 Needs a closer look
The change substantially restructures the test suite and alters test execution/gating semantics in ways that can subtly affect CI behavior across the full matrix, so an end-to-end human validation run is needed beyond static review.
No open issues 🎉
Review effort: Balanced
Behavior change:
tests/holds 1068 files instead of 1929 - a new[test]goes into an existing topic file or the folder'suncategorized.das, never a new file.Why. A dastest run pays per file, and 48% of the 1929 suite files held one
[test]: the fixed cost was paid 1929 times for 6983 tests. The index intests/README.mdhad rotted to 822 rows.What changes.
[test(description = "...")]states the claim; dastest prints it under FAIL, andutils/internal/test-auditgeneratestests/README.mdfrom it.[test(timeout = 1200)]marks a slow test and lifts its file's time caps; the value is the suite default, never a measured one.[test(standalone = "why")]names why a file cannot share a program.tests/REVIEW.dasenforces the shape: three or more tests per category file, oneuncategorized.dasper folder, a cap of 100, a description on every test.tests/merges by topic;tests/REVIEW.mdand the tdd-auditor carry the placement rule.Observable behavior.
[test]-> 7017.tests/README.mdfailscheck_tests_index.Where to look.
dastest/suite.das,dastest/file_census.das,tests/REVIEW.das; the risky spots are merged files whose sources carried differentoptions.Validation, claims, ledger
Validation
#nightly- the whole-tree lint, the sanitizer cells, the full AOT suite and the backend sweeps run per-PR CI does not; the nightly's step times against master's 11/7 nightly and the two merged PRs' nightlies are the measurement this PR exists for.dastest/testsran on Windows only; Linux sees them in the nightly.lintgate cannot run its host rail on this diff locally: it passes the changed-file list on one command line and 2125 files exceed the Windows limit. The same lint ran by directory over every changed tree, on the host and under both mirror rails (dasMetal off, dasVulkan off): zero findings in changed files; the 15 that remain sit in the untoucheddastest/suite_result.das, where STYLE020's rewrite does not compile.tests/: 15634 tests, 15615 passed, 0 failed, 19 skipped (module-gated and hardware-gated skips, same as before).test_aot_subset(tests/language under AOT): 2011 tests, 2011 passed. The preflighttests-aot,tests-jit,tests-cppanddocslanes are green;utils-testsprints every suite green and reds only on MSBuild'serror :text matching of the refusal tests' own output, as on master.tests/REVIEW.dasnow requiresdastest/file_census, so that module joined the AOT corpus (tests/aot/CMakeLists.txt);modules/dasLLVM/daslib/llvm_jit_plan.dasis in the emitter pin's raw-byte hash set, so its one-line test-path comment rename bumpsLLVM_JIT_EMITTER_HASHinllvm_jit_run.daswith no codegen version change.REVIEW.dasgate green (utils/internal/review-md/all.das: 30 gates, 0 red) after LINT002 got its own fixture -tests/lint/test_lint002_block_var_used.dashad been standing in for it by name.tests/type_lattice/test_conformance.das: master's generatedtest_float2/3/4.dascarried a hand-addedHOST_FAST_MATHskip that the generator never emitted, so regenerating dropped it. The generator now emits the guard for the float vector specs; every otherHOST_FAST_MATHguard intests/(ten files) survived the merge unchanged.check_tests_index: that runner checks out withautocrlf=true, sotests/README.mdread back with CRLF against the generator's LF text.--verifynow compares with line endings stripped; the tool's self-test covers a CRLF index.no_aotJIT tests merged intotests/jit_tests/jit_artifacts.dasshare the LLVM-AOT corpus exclusion thatdll_cache.dasalone carried before, so they leave that object corpus.Claims - stated, not tested
tests/linq/test_linq_fold_ast*.das,test_linq_from_decs*.das,tests/stbimage,tests/dasSQLITE/parity_check*.das,tests/macro_boost,tests/escape_analysis) were written from test names, arm labels and assertion text, not from a full read of every body; a wrong claim reads wrong under a FAIL line and in the index, it changes no verdict.timeout = 1200) was judged from the bodies - a test that builds, spawns a child or waits on a peer - not from a timing run on CI hardware.Not done
modules/dasImgui/testsandmodules/dasLLAMA/testskeep their shape; each gets its own PR after this one lands.tests/README.mdis committed and verified; the generated index is not yet linked from the docs site.