Skip to content

test_fsize_not_too_big() fails on Solaris #154326

Description

@serhiy-storchaka

Bug report

test_resource.test_fsize_not_too_big() accepts that a platform can silently convert too large limits to RLIM_INFINITY, but only models the glibc quirk on 32-bit platforms.

Solaris converts every limit that does not fit in a signed 64-bit integer, so the test fails there:

AssertionError: (18446744073709551613, 18446744073709551613) not found in [(9223372036854775808, 18446744073709551613)]

RLIM_INFINITY is (rlim_t)-3 on Solaris. Measured on OpenIndiana: limits up to 0x7ffffffffffffffe are stored literally, from 0x7fffffffffffffff they are converted to RLIM_INFINITY.

Only 3.15 and main are affected: in 3.14 and 3.13 expected() accepts RLIM_INFINITY whenever it is negative, which covers Solaris.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.15pre-release feature fixes, bugs and security fixes3.16new features, bugs and security fixesOS-unsupportedtestsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions