-
Notifications
You must be signed in to change notification settings - Fork 602
Open
Description
As can be seen by these two smoke-test reports ...
... commit ec8fb4c (v5.43.3-217-gec8fb4ca44) caused many test failures in builds configured with
-DDEBUGGING.
The following test files failed during make minitest on Debian Linux:
$ sh ./Configure -des -Dusedevel -DDEBUGGING && make minitest
...
Failed 26 tests out of 352, 92.61% okay.
comp/parser.t
io/open.t
op/coreamp.t
op/die.t
op/evalbytes.t
op/fresh_perl_utf8.t
op/lexsub.t
op/substr.t
op/utf8cache.t
op/utfhash.t
re/pat_re_eval.t
run/fresh_perl.t
uni/bless.t
uni/caller.t
uni/goto.t
uni/gv.t
uni/labels.t
uni/method.t
uni/opcroak.t
uni/package.t
uni/parser.t
uni/readline.t
uni/select.t
uni/stash.t
uni/universal.t
uni/variables.t
There were 80 test failures during make test_harness:
comp/parser.t
../dist/constant/t/utf8.t
../ext/Devel-Peek/t/Peek.t
../ext/XS-APItest/t/fetch_pad_names.t
../ext/XS-APItest/t/gv_autoload4.t
../ext/XS-APItest/t/gv_fetchmeth_autoload.t
../ext/XS-APItest/t/gv_fetchmethod_flags.t
../ext/XS-APItest/t/gv_fetchmeth.t
../ext/XS-APItest/t/labelconst.t
../ext/XS-APItest/t/svpeek.t
../ext/XS-APItest/t/valid_identifier.t
io/open.t
../lib/B/Deparse.t
lib/croak.t
../lib/strict.t
../lib/subs.t
../lib/utf8.t
../lib/warnings.t
mro/basic_01_c3_utf8.t
mro/basic_01_dfs_utf8.t
mro/basic_02_c3_utf8.t
mro/basic_02_dfs_utf8.t
mro/basic_03_c3_utf8.t
mro/basic_03_dfs_utf8.t
mro/basic_04_c3_utf8.t
mro/basic_04_dfs_utf8.t
mro/basic_05_c3_utf8.t
mro/basic_05_dfs_utf8.t
mro/basic_utf8.t
mro/complex_c3_utf8.t
mro/complex_dfs_utf8.t
mro/dbic_c3_utf8.t
mro/dbic_dfs_utf8.t
mro/inconsistent_c3_utf8.t
mro/isa_aliases_utf8.t
mro/isa_c3_utf8.t
mro/isa_dfs_utf8.t
mro/isarev_utf8.t
mro/method_caching_utf8.t
mro/next_edgecases_utf8.t
mro/next_goto_utf8.t
mro/next_inanon_utf8.t
mro/next_ineval_utf8.t
mro/next_method_utf8.t
mro/next_NEXT_utf8.t
mro/next_skip_utf8.t
mro/overload_c3_utf8.t
mro/package_aliases_utf8.t
mro/pkg_gen_utf8.t
mro/recursion_c3_utf8.t
mro/recursion_dfs_utf8.t
mro/vulcan_c3_utf8.t
mro/vulcan_dfs_utf8.t
op/coreamp.t
op/die.t
op/evalbytes.t
op/fresh_perl_utf8.t
op/lexsub.t
op/substr.t
op/svleak.t
op/utf8cache.t
op/utfhash.t
re/pat_advanced.t
re/pat_re_eval.t
run/fresh_perl.t
uni/attrs.t
uni/bless.t
uni/caller.t
uni/goto.t
uni/gv.t
uni/labels.t
uni/method.t
uni/opcroak.t
uni/package.t
uni/parser.t
uni/readline.t
uni/select.t
uni/stash.t
uni/universal.t
uni/variables.t
This was the breaking commit:
commit ec8fb4ca440d25240bdf779967b119cb42325a1b (HEAD)
Merge: 3450d19250 e75a2dc5d0
Author: Karl Williamson <khw@cpan.org>
AuthorDate: Fri Oct 17 12:28:02 2025 -0600
Commit: Karl Williamson <khw@cpan.org>
CommitDate: Fri Oct 17 12:28:02 2025 -0600
Merge branch Generalize S_parse_ident' into blead
This series of commits documents, and generalizes this function so that
it can be called in more circumstances; the final commit calls it from
one such place, as a demonstration.
This includes adding a flag to it that allows code to be moved from
S_scan_ident to this function, and then called from a second place,
eliminating near-duplication.
The goal is to centralize to here the sort of handling of names, like
identifiers, so changes can be made in just one place, and we can get
rid of the other places which have slightly different rules from each
other.
Now, my impression is that this failure was quickly detected and corrected in the very next commit to blead:
$ gitshowf |cat
commit 8b0fd010119b23c56b5fab3c50afe392adf5e128
Author: Karl Williamson <khw@cpan.org>
AuthorDate: Fri Oct 17 13:28:30 2025 -0600
Commit: Karl Williamson <khw@cpan.org>
CommitDate: Fri Oct 17 13:30:40 2025 -0600
toke.c: Remove obsolete assert
This resulted in merging two different pull requests at nearly the same
time. One put in the assert; the other changed things so it was wrong.
They didn't touch the same lines of code, so rebasing didn't show any
conflict, and if it fails depends on the memory layout, so my testing
didn't fail.
diff --git a/toke.c b/toke.c
index 0e83002acb..7bfa1f42b0 100644
--- a/toke.c
+++ b/toke.c
@@ -10546,7 +10546,6 @@ S_parse_ident(pTHX_ const char *s, const char * const s_end,
bool is_utf8, U32 flags)
{
PERL_ARGS_ASSERT_PARSE_IDENT;
- assert(*s <= PL_bufend);
/* This function parses the string pointed to by '*s' (whose upper bound
* is 's_end') looking for an identifier. It stops at the first character
But why was this massive test failure apparently not detected by our CI test suite before the merge commit? @khwilliamson, can you investigate? Thanks.
Metadata
Metadata
Assignees
Labels
No labels