An unset variable in path: puts the working directory on PATH

Đang mở Phù hợp với người mới
#55 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ó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
75/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ệ
typescript
Lĩnh vực
cli, testing-qa

Hướng nghiên cứu

Tìm đoạn mã mở rộng các mục path: và kiểm tra cách các biến chưa được thiết lập trở thành các phần tử PATH. Thêm bài kiểm thử được đề xuất bằng cách sử dụng một $VAR đứng riêng, sau đó xác minh rằng phần mở rộng rỗng được bỏ qua và thư mục làm việc không được tìm kiếm; bài kiểm thử phải tạo ra kết quả command-not-found rõ ràng.

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

Mô tả

An unset variable in a path: entry expands to an empty string, and an empty PATH
element means the current directory to POSIX. So this front matter:

path:
  - $TOOL_DIR

silently puts the working directory on PATH when TOOL_DIR is not set, instead of
contributing nothing.

That is the wrong failure. A test that names a directory it cannot resolve should get a
clear "command not found", not a lookup that quietly searches somewhere the author never
named — and in a sandboxed run the working directory contains fixtures, which is exactly
where a stray executable could sit.

Proposal

Drop entries that expand to empty, rather than passing them through.

A test asserting that a bare $VAR does not put the working directory on PATH would pin
it: today that assertion fails.

Related

jlevy/tryscript#54 asks for requires:, which addresses the same underlying problem from
the other side — knowing which binary a run actually resolved rather than trusting PATH
composition to have gone as intended.

Ngôn ngữ chính
TypeScript
Star
13
Fork
1
Merge trung bình
3 giờ 38 phút
Pull request đã merge (30 ngày)
3

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

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 jlevy/tryscript

Tất cả issue của jlevy/tryscript

Issue tương tự

Thêm issue về TypeScript

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.