Requirements: Runtime testing
- Ngôn ngữ chính
- Haskell
- Star
- 1.3k
- Fork
- 201
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
It would be great to be able to define runtime tests that must be passed as part of the requirements checker. This would involve a severe change in the way the requirements checker works, but my plan is this:
1. Implement the requirements checker as a GHC source plugin rather than a separate CodeWorld build step.
2. For static rules (all of those currently implemented), the result is computed at compile time and hard-coded into the generated code. For dynamic rules (like runtime tests), code is generated to check the result at runtime.
3. Code for reporting (and evaluation, in the dynamic case) of rules is injected at the beginning of `main`, to run as the first action of the compiled code before anything else.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách xác định trình kiểm tra yêu cầu và bước build riêng của CodeWorld, sau đó đọc cách các quy tắc tĩnh hiện tại được đánh giá. Công việc được đề xuất hoàn tất khi trình kiểm tra là một source plugin của GHC, xử lý các quy tắc tĩnh tại thời điểm biên dịch, các kiểm thử runtime động trong mã được tạo và việc báo cáo trước khi main thực hiện các hành động khác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- haskell
- Lĩnh vực
- compilers, testing-qa
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100