Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Add tests for resolveSafePath

Đang mở Phù hợp với người mới
#9 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
88/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ệ
go
Lĩnh vực
cli

Hướng nghiên cứu

Đọc resolveSafePath ở cuối internal/tools/files.go, sau đó xem các quy ước hiện có trong internal/tools/tools_test.go. Thêm các trường hợp cho những đường dẫn được liệt kê bằng cách sử dụng một thư mục gốc tạm thời, rồi chạy các bài kiểm thử của package tools. Công việc hoàn tất khi các đường dẫn nằm trong thư mục gốc được phân giải mà không có lỗi và mọi đường dẫn thoát khỏi thư mục gốc hoặc là đường dẫn tuyệt đối đều trả về lỗi.

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

Mô tả

testing

What

resolveSafePath is the function that jails every file tool to the launch directory. It is pretty thin right now, add tests to try and break it and find real work around bugs to fix.

Where

internal/tools/files.go — the function is at the bottom of the file.
Tests go in internal/tools/tools_test.go (same package tools, so unexported funcs are reachable).

Cases to cover

Should resolve (no error), given a root like /tmp/root:

  • "main.go" → inside root
  • "sub/dir/file.go" → inside root
  • "./main.go" → inside root (cleanup)
  • "" → root itself

Should error (path escapes root):

  • "../secret"
  • "../../etc/passwd"
  • "sub/../../escape"
  • an absolute path like "/etc/passwd" (should not silently land inside root)

Notes

It's a pure function do not need ollama, try and break it its good if you find it failing

Ngôn ngữ chính
Go
Star
1
Fork
2
Merge trung bình
1 giờ 31 phút
Pull request đã merge (30 ngày)
7

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

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 Edwin-metcalf/MetCode

Tất cả issue của Edwin-metcalf/MetCode

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.