From bf467b9b5d192a8389849ef1a71bcefb603dba38 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 25 Nov 2022 08:19:09 +0000 Subject: [PATCH] Bug 32350: Die on unrecognised column passed to testbuilder This should prevent mis-matches between tests and database fields in the future and reduce our chances of hitting random test failures. However, it may have a performance impact on the test suite. --- t/lib/TestBuilder.pm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/t/lib/TestBuilder.pm b/t/lib/TestBuilder.pm index d065835ded..4e512e83fc 100644 --- a/t/lib/TestBuilder.pm +++ b/t/lib/TestBuilder.pm @@ -280,6 +280,11 @@ sub _buildColumnValues { my @columns = $self->schema->source($source)->columns; my %unique_constraints = $self->schema->source($source)->unique_constraints(); + for my $key ( keys %{$original_value} ) { + die "value passed for unrecognised column: $key" + if !( any { $key eq $_ } @columns ); + } + my $build_value = 5; # we try max $build_value times if there are unique constraints BUILD_VALUE: while ( $build_value ) { -- 2.20.1