Regenerate saved examples and test that compare() sets windowsOnly

Đang mở
#11 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đá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
50/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
cli, testing

Hướng nghiên cứu

Start with make examples and the diff command in the issue, which compares examples/shop output against examples/shop-1.21-to-1.24.txt; examples/real/cobra.txt needs the project cloned, per examples/README.md. For the test gap, read compare() and isWindowsOnly in plugin/scripts, then TestWindowsOnly, which sets WindowsOnly by hand. Done means the regenerated examples match, a test through compare() or tests/ fails when the assignment is removed, and the three polish points are settled.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Follow-up from #7. The Windows-only mark works; these are small cleanups.

  1. Saved examples are out of date. To reproduce: go run ./plugin/scripts --from 1.21 --to 1.24 examples/shop | diff examples/shop-1.21-to-1.24.txt - differs at lines 20 and 25, which lack (Windows only). Run make examples. examples/real/cobra.txt lists the same settings, so update it too (it needs the project cloned, see examples/README.md).

  2. No test checks that compare() sets the flag. TestWindowsOnly sets WindowsOnly: true by hand. To reproduce: delete c.WindowsOnly = isWindowsOnly(k) from compare() and run go test -count=1 ./.... Both packages still pass, while the report loses the mark. Add a test through compare() or tests/ asserting that winsymlink gets windowsOnly: true and a non-win setting does not. Computing the mark from the name in one place, instead of storing it on Change, would also remove the chance of the two disagreeing.

  3. Output and JSON polish:

  • The "No binary imports the package, so no effect" section prints winsymlink (os) (Windows only), where the mark adds nothing. To reproduce: run the tool from 1.22 to 1.23 on a module whose only binary is an empty func main() {}.
  • windowsOnly uses omitempty while goCommand is always present, so the JSON key is absent for most changes. Decide whether to always emit it.
  • The field comment on WindowsOnly says "Linux services can skip", which does not hold for modules built for Windows. Reword it.
  • Windows-only settings still count as reaching binaries and still appear in the suggested go.mod pins. That is accurate for Windows builds, but consider saying in the report that Linux-only services can ignore those pins.
Ngôn ngữ chính
Go
Star
0
Fork
3
Merge trung bình
6 giờ 20 phút
Pull request đã merge (30 ngày)
3

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của GillMacedo/godebugdiff

Tất cả issue của GillMacedo/godebugdiff

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.