Bug 2257474 - Review Request: rust-parse_datetime - Parsing human-readable time strings and converting them to a DateTime
Summary: Review Request: rust-parse_datetime - Parsing human-readable time strings and...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/parse_datetime
Whiteboard:
Depends On:
Blocks: 2257475
TreeView+ depends on / blocked
 
Reported: 2024-01-09 20:14 UTC by Michel Lind
Modified: 2024-01-21 04:21 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-01-12 18:09:26 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)

Description Michel Lind 2024-01-09 20:14:56 UTC
Spec URL: https://salimma.fedorapeople.org/specs/rust-parse_datetime.spec
SRPM URL: https://salimma.fedorapeople.org/specs/rust-parse_datetime-0.5.0-1.fc38.src.rpm

Description:
Parsing human-readable time strings and converting them to a DateTime.

Fedora Account System Username: salimma

Comment 1 Fedora Review Service 2024-01-09 20:21:26 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6877094
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2257474-rust-parse_datetime/fedora-rawhide-x86_64/06877094-rust-parse_datetime/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Fabio Valentini 2024-01-09 23:24:04 UTC
I got a bunch of test failures building this package locally:

from --lib tests:

```
---- parse_relative_time::tests::test_days stdout ----
thread 'parse_relative_time::tests::test_days' panicked at src/parse_relative_time.rs:244:9:
assertion `left == right` failed
  left: Duration { secs: 0, nanos: 0 }
 right: Duration { secs: 86400, nanos: 0 }
---- parse_relative_time::tests::test_direction stdout ----
thread 'parse_relative_time::tests::test_direction' panicked at src/parse_relative_time.rs:401:9:
assertion `left == right` failed
  left: Duration { secs: -90000, nanos: 0 }
 right: Duration { secs: -3600, nanos: 0 }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- parse_relative_time::tests::test_fortnights stdout ----
thread 'parse_relative_time::tests::test_fortnights' panicked at src/parse_relative_time.rs:200:9:
assertion `left == right` failed
  left: Duration { secs: 1123200, nanos: 0 }
 right: Duration { secs: 1209600, nanos: 0 }
---- parse_relative_time::tests::test_duration_parsing stdout ----
thread 'parse_relative_time::tests::test_duration_parsing' panicked at src/parse_relative_time.rs:418:9:
assertion `left == right` failed
  left: Duration { secs: 31449600, nanos: 0 }
 right: Duration { secs: 31536000, nanos: 0 }
---- parse_relative_time::tests::test_hours stdout ----
thread 'parse_relative_time::tests::test_hours' panicked at src/parse_relative_time.rs:264:9:
assertion `left == right` failed
  left: Duration { secs: -82800, nanos: 0 }
 right: Duration { secs: 3600, nanos: 0 }
failures:
    parse_relative_time::tests::test_days
    parse_relative_time::tests::test_direction
    parse_relative_time::tests::test_duration_parsing
    parse_relative_time::tests::test_fortnights
    parse_relative_time::tests::test_hours
```

from --doc tests:

```
---- src/lib.rs - parse_datetime_at_date (line 113) stdout ----
Test executable failed (exit status: 101).
stderr:
thread 'main' panicked at src/lib.rs:11:2:
assertion `left == right` failed
  left: 2024-01-12T23:20:45.998325252
 right: 2024-01-11T23:20:45.998325252
stack backtrace:
   0:     0x55b782ddb8fc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h27ca87202d5ecd83
   1:     0x55b782dfcbd0 - core::fmt::write::h09cee20e85f5b605
   2:     0x55b782dd9b1d - std::io::Write::write_fmt::h8a4619fb34e615dd
   3:     0x55b782ddb6e4 - std::sys_common::backtrace::print::hf82af90349e2f7c0
   4:     0x55b782ddcc47 - std::panicking::default_hook::{{closure}}::h47113dde962f99f7
   5:     0x55b782ddc9af - std::panicking::default_hook::h6f77232024947fdb
   6:     0x55b782ddd0c8 - std::panicking::rust_panic_with_hook::h99c637896ca8c931
   7:     0x55b782ddcfae - std::panicking::begin_panic_handler::{{closure}}::had839c9cabb1c34e
   8:     0x55b782ddbdc6 - std::sys_common::backtrace::__rust_end_short_backtrace::h7f65a9354cd915f2
   9:     0x55b782ddcd12 - rust_begin_unwind
  10:     0x55b782ce3cf5 - core::panicking::panic_fmt::h6af3f6c496ab9237
  11:     0x55b782ce401b - core::panicking::assert_failed_inner::h29a649f352d26462
  12:     0x55b782ce79aa - core::panicking::assert_failed::h4aa2d7d47e97c7d4
  13:     0x55b782cf05fa - rust_out::main::_doctest_main_src_lib_rs_113_0::h22170e33ee46132b
  14:     0x55b782cf0456 - rust_out::main::ha9f16ac99a021700
  15:     0x55b782ce6883 - core::ops::function::FnOnce::call_once::hc5731df068f454ea
  16:     0x55b782ce5e36 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5ff7553019ede203
  17:     0x55b782ce5e89 - std::rt::lang_start::{{closure}}::h3715748a181cec2d
  18:     0x55b782dd6c17 - std::rt::lang_start_internal::h4ca6f69a96534026
  19:     0x55b782ce5e67 - std::rt::lang_start::h291929258001f237
  20:     0x55b782cf0655 - main
  21:     0x7f567f0b314a - __libc_start_call_main
  22:     0x7f567f0b320b - __libc_start_main@@GLIBC_2.34
  23:     0x55b782ce4455 - _start
  24:                0x0 - <unknown>
failures:
    src/lib.rs - parse_datetime_at_date (line 113)
```

Not sure why the COPR build passed but mine failed ... is it related to the current time? I ran the tests just after midnight local time.

Comment 3 Michel Lind 2024-01-10 02:32:08 UTC
I wonder if it's a locale issue... but you run yours in mock, right? My local mock build (x86_64) passes.

Comment 4 Fabio Valentini 2024-01-10 22:17:24 UTC
Looking at the code / tests, it seems like they will just return garbage when run around midnight.
parse_relative_time("1 day") should never return "0 seconds" ... but it does, in some cases.

It looks like this has already been reported upstream:
https://github.com/uutils/parse_datetime/issues/36

So I won't block the package review on the test failures.
Builders should have timezone set to UTC (I think), so koji builds likely won't hit this issue.

Please drop the "renovate.json" file from the installed files, though.

===

Package was generated with rust2rpm, simplifying the review.

- package builds and installs without errors on rawhide
- test suite is run and all unit tests pass
- latest version of the crate is packaged
- license matches upstream specification (MIT) and is acceptable for Fedora
- license file is included with %license in %files
- package complies with Rust Packaging Guidelines

Package APPROVED.

===

Recommended post-import rust-sig tasks:

- set up package on release-monitoring.org:
  project: $crate
  homepage: https://crates.io/crates/$crate
  backend: crates.io
  version scheme: semantic
  version filter: alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

- add @rust-sig with "commit" access as package co-maintainer
  (should happen automatically)

- set bugzilla assignee overrides to @rust-sig (optional)

- track package in koschei for all built branches
  (should happen automatically once rust-sig is co-maintainer)

Comment 5 Fedora Admin user for bugzilla script actions 2024-01-12 17:51:59 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-parse_datetime

Comment 6 Fedora Update System 2024-01-12 18:06:36 UTC
FEDORA-2024-dd2ef40606 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-dd2ef40606

Comment 7 Fedora Update System 2024-01-12 18:09:26 UTC
FEDORA-2024-dd2ef40606 has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2024-01-12 18:43:47 UTC
FEDORA-2024-312762d991 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-312762d991

Comment 9 Fedora Update System 2024-01-13 17:41:32 UTC
FEDORA-2024-312762d991 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-312762d991 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-312762d991

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2024-01-13 18:19:34 UTC
FEDORA-2024-a75cc1e651 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-a75cc1e651 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-a75cc1e651

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2024-01-21 03:30:48 UTC
FEDORA-2024-312762d991 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2024-01-21 04:21:43 UTC
FEDORA-2024-a75cc1e651 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.