date input: unrecognized trailing tokens rejected (e.g. `8j`, `8 j`)
Chưa có ai nhận issue này.
- #286 của @0xSoftBoi — đã đóng, không merge
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 65/100
Hướng nghiên cứu
Bắt đầu từ điểm vào parse_datetime và kiểm tra cách các token từ ở cuối được xử lý, sau đó xem lại bài kiểm thử được đề xuất trong bộ kiểm thử tích hợp của uutils/coreutils. Chạy các trường hợp date cho "8j" và "8 j" trong bản tái hiện; được xem là hoàn tất khi cả hai đầu vào đều thành công và tạo ra 08:00:00, trong khi các bài kiểm thử parsing hiện có vẫn tiếp tục đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
GNU date silently ignores unrecognized trailing word-tokens and parses the preceding number as an hour. parse_datetime errors out instead.
Found by a fuzz_date run on uutils/coreutils.
Reproduction
$ TZ=UTC /usr/bin/date -u -d '8j' '+%H:%M:%S'
08:00:00
$ echo $?
0
$ TZ=UTC target/debug/coreutils date -u -d '8j' '+%H:%M:%S'
date: invalid date '8j'
$ echo $?
1
$ TZ=UTC /usr/bin/date -u -d '8 j' '+%H:%M:%S'
08:00:00
$ TZ=UTC target/debug/coreutils date -u -d '8 j' '+%H:%M:%S'
date: invalid date '8 j'
Test (in uutils/coreutils integration suite)
#[test]
fn test_date_ignores_unrecognized_trailing_tokens() {
for input in ["8j", "8 j"] {
new_ucmd!()
.env("TZ", "UTC")
.arg("-u")
.arg("-d")
.arg(input)
.arg("+%H:%M:%S")
.succeeds()
.stdout_only("08:00:00\n");
}
}
- Ngôn ngữ chính
- Rust
- Star
- 37
- Fork
- 44
- Merge trung bình
- 2 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của uutils/parse_datetime
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 45/100
uutils/parse_datetime#240 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
uutils/parse_datetime#160 · 10 bình luận ·
-
Fuzzer instructions confusingĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
uutils/parse_datetime#82 ·
-
Cargo test fails at 0:20 JSTCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
uutils/parse_datetime#36 · 4 bình luận · 1 reaction ·
-
Dependency DashboardĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 20/100
uutils/parse_datetime#9 ·
Tất cả issue của uutils/parse_datetime
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
objectionary/sodg.rs#301 ·
-
[Bug] Completion info popup (.cm-completionInfo) ignores the configured editor fontCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug user-priority/P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
t8y2/dbx#11718 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
rescript-lang/rescript#8765 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
nautechsystems/nautilus_trader#5287 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
farion1231/cc-switch#8072 ·
Maintainer thường phản hồi trong vòng 1 ngày