Keep quoted string contents intact in CI condition expressions
Maintainer thường phản hồi trong vòng 1 ngày
Đá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
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- python
- Lĩnh vực
- ci-cd, testing-qa, tooling
Hướng nghiên cứu
Bắt đầu tại tools/ci/common.py:39 và chạy bản tái hiện evaluate() được cung cấp cho a!b. Theo dõi cách xử lý các literal được đặt trong dấu nháy và toán tử thực sự, sau đó thêm các bài kiểm thử hồi quy tích cực và tiêu cực, tập trung vào các cách viết toán tử, hàm và ngữ cảnh được liệt kê. Hoàn thành nghĩa là các chuỗi giống nhau được đặt trong dấu nháy vẫn so sánh bằng, trong khi toán tử boolean, tra cứu ngữ cảnh và đánh giá ngắn mạch vẫn hoạt động.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
The plan evaluator rewrites operators and function spellings before parsing quoted strings. Equality against the identical values a!b, a&&b, a||b, and always() returns false. Context-looking text inside a string needs the same protection.
Starting point: tools/ci/common.py:39.
Validation
Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed Python evaluate() reproductions. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.
from tools.ci.common import evaluate
print(evaluate("inputs.value == 'a!b'", {"inputs.value": "a!b"}))
# False; the comparison should be True.
Scope
Make expression token handling respect quoted literals while preserving the existing small checked expression language; do not broaden it into unrestricted evaluation.
Completion criteria
- Identical quoted strings containing operators/function/context spellings compare equal.
- Actual boolean operators, context lookup and short-circuiting retain their behavior.
- Add focused positive/negative evaluator regressions.
This is a bounded, unassigned task with the starting point and focused checks above. Keep unrelated refactoring out of the change.
- Ngôn ngữ chính
- Rust
- Star
- 56
- Fork
- 21
- Merge trung bình
- 7 giờ 19 phút
- Pull request đã merge (30 ngày)
- 61
Chuẩn bị môi trường
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 wavefnd/Wave
-
Validate CI command vectors before indexing Cargo subcommandsCó thể đã có người làm @amandeavor đã nhận hôm nay. Đang mởbug ci good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
build good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
area/tools bug session-analysis
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
README crane example out of dateĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
nix-community/fenix#262 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
GabrieleLozupone/kokon#41 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Small glitchĐang mởpriority: medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
storytold/photocraft#9538 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug P2 rust
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày