A number that is not finite is stored as None at a field that accepts None
Maintainer thường phản hồi trong vòng 1 ngày
@jeevanabhi-r đang làm issue này rồi.
Từ ngày 4/11/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Issue trỏ đến ess/spec/request_types.py, cụ thể là inline, và cho biết các bài kiểm thử xác thực yêu cầu đã được chuyển sang request_types_test.py. Trước tiên, hãy đọc inline và các bài kiểm thử liên quan, sau đó chạy tệp kiểm thử đó. Hoàn thành khi các số không hữu hạn bị từ chối nếu trường chấp nhận None, kể cả bên trong các nhóm và danh sách, đồng thời hành vi hợp lệ hiện có của None vẫn được kiểm thử.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
A number that is not finite is refused at a float field, because JSON holds it as null. At a field that also accepts None, it is stored as None and the request is accepted, so the workflow runs with None instead of the value given.
import math
from pathlib import Path
from pydantic import BaseModel
from ess.spec.request_types import held
class P(BaseModel):
stop: float | None = None
class Q(BaseModel):
stop: float = 1.0
files = lambda name, marker: name
local_path = lambda ref: Path('x')
held(P, 'stop', math.inf, files, local_path) # (None, []): accepted, stored as None
held(Q, 'stop', math.inf, files, local_path) # ParamsError: stop: has no JSON form that reads back as the value
The same holds inside groups and lists, at any field whose type accepts None.
Cause: request_types.inline checks that the stored JSON form reads back as itself (stored vs the JSON form of again), not that it reads back as the value given (made). inf becomes null in stored, null validates as None, and None has the JSON form null again, so the check passes.
Found while moving the request-validation tests to request_types_test.py.
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 1
- Merge trung bình
- 15 giờ 25 phút
- Pull request đã merge (30 ngày)
- 60
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
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 scipp/essapps
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 8/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Output copies, model validators, and failed pushes on current mainCó thể đã có người làm @SimonHeybrock đã nhận 8 ngày trước. Đang mở
scipp/essapps#123 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Spec check misses NewType arguments of a generic groupCó thể đã có người làm @SimonHeybrock đã nhận 8 ngày trước. Đang mở
scipp/essapps#118 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
scipp/essapps#95 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của scipp/essapps
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
jejjohnson/gaussx#752 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
521xueweihan/HelloGitHub#4270 ·
-
enhancement owner: den-haag
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 6 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
ok-oldking/ok-wuthering-waves#1828 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
lesson-submission pending-review
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
Ikalus1988/MisakaNet#4512 ·
Maintainer thường phản hồi trong vòng 1 ngày