Skip to content

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

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions