Skip to content

fromRational test failure #337

@TeofilC

Description

@TeofilC

On the latest master pipeline there's a failure in the fromRational test:

rel8-test-tests>   fromRational:                                           FAIL (0.08s)
rel8-test-tests>       ✗ <interactive> failed at tests/Main.hs:626:5
rel8-test-tests>         after 97 tests and 1 shrink.
rel8-test-tests>         shrink path: 97:y
rel8-test-tests>             ┏━━ tests/Main.hs ━━━
rel8-test-tests>         613 ┃ testFromRational :: IO TmpPostgres.DB -> TestTree
rel8-test-tests>         614 ┃ testFromRational = databasePropertyTest "fromRational" \transaction -> do
rel8-test-tests>         615 ┃   numerator <- forAll $ Gen.int64 Range.linearBounded
rel8-test-tests>             ┃   │ 2829082294886904251
rel8-test-tests>         616 ┃   denominator <- forAll $ Gen.int64 $ Range.linear 1 maxBound
rel8-test-tests>             ┃   │ 31093638555383358
rel8-test-tests>         617 ┃
rel8-test-tests>         618 ┃   let
rel8-test-tests>         619 ┃     rational = toInteger numerator % toInteger denominator
rel8-test-tests>         620 ┃     double = fromRational @Double rational
rel8-test-tests>         621 ┃
rel8-test-tests>         622 ┃   transaction do
rel8-test-tests>         623 ┃     result <- lift do
rel8-test-tests>         624 ┃       statement () $ Rel8.run1 $ Rel8.select do
rel8-test-tests>         625 ┃         pure $ fromRational rational
rel8-test-tests>         626 ┃     diff result (~=) double
rel8-test-tests>             ┃     ^^^^^^^^^^^^^^^^^^^^^^^
rel8-test-tests>             ┃     │ ━━━ Failed (- lhs) (+ rhs) ━━━
rel8-test-tests>             ┃     │ - 90.9858873495233
rel8-test-tests>             ┃     │ + 90.98588734952328
rel8-test-tests>         627 ┃   where
rel8-test-tests>         628 ┃     a ~= b = abs (a - b) < 1e-15
rel8-test-tests>         629 ┃     infix 4 ~=
rel8-test-tests>         This failure can be reproduced by running:
rel8-test-tests>         > recheckAt (Seed 12052790827278073641 10441109680714996319) "97:y" <property>
rel8-test-tests>     Use "--pattern '$NF ~ /fromRational/' --hedgehog-replay '97:y Seed 12052790827278073641 10441109680714996319'" to reproduce from the command-line.

I'll take a look. Looks to be some sort of rounding error

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions