Skip to content

regex-automata v0.3.2: test failures on 32-bit architectures #1039

@decathorpe

Description

@decathorpe

I'm trying to update the Fedora Linux packages for the regex crate and its dependencies to the latest version, but I'm getting stuck on test failures on 32-bit x86 (i.e. i686-unknown-linux-gnu). Unit tests seem to be fine, but some doctests fail:

failures:
    src/dfa/dense.rs - dfa::dense::Config::determinize_size_limit (line 880)
    src/dfa/dense.rs - dfa::dense::Config::determinize_size_limit (line 913)
    src/util/captures.rs - util::captures::Captures::get_group (line 434)
test result: FAILED. 447 passed; 3 failed; 2 ignored; 0 measured; 0 filtered out; finished in 85.38s

The first two failures produce absolutely gigantic log output on failure, I've pasted the complete output of "cargo test" in a Gist here (though GitHub seems to cut off the content after only 12,000 of 19,000 lines): https://gist.github.com/decathorpe/a5e715d566c5b75838ccd1fbfd4cf4fa

But the gist (pun intended) seems to be:

---- src/dfa/dense.rs - dfa::dense::Config::determinize_size_limit (line 913) stdout ----
Test executable failed (exit status: 101).
stderr:
thread 'main' panicked at 'called `Result::unwrap_err()` on an `Ok` value: dense::DFA(
(... snip 6000 lines of text output ...)

and

---- src/dfa/dense.rs - dfa::dense::Config::determinize_size_limit (line 880) stdout ----
Test executable failed (exit status: 101).
stderr:
thread 'main' panicked at 'called `Result::unwrap_err()` on an `Ok` value: dense::DFA(
(... snip 12000 lines of text output ...)

The third failure is a simple one (numeric literal too large for usize, which is typically only 32-bit integer on 32-bit architectures):

---- src/util/captures.rs - util::captures::Captures::get_group (line 434) stdout ----
error: literal out of range for `usize`
  --> src/util/captures.rs:447:33
   |
16 | assert_eq!(None, caps.get_group(9944060567225171988));
   |                                 ^^^^^^^^^^^^^^^^^^^
   |
   = note: the literal `9944060567225171988` does not fit into the type `usize` whose range is `0..=4294967295`
   = note: `#[deny(overflowing_literals)]` on by default
error: aborting due to previous error
Couldn't compile the test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions