Tôi rất mới viết kịch bản và tôi gặp khó khăn trong việc tìm ra cách bắt đầu trên tập lệnh bash sẽ tự động kiểm tra đầu ra của chương trình dựa trên kết quả mong đợi.Kịch bản Bash tự động kiểm tra đầu ra chương trình - C
Tôi muốn viết một tập lệnh bash sẽ chạy một tập tin được chỉ định trên một tập hợp các đầu vào thử nghiệm, nói in1 in2, vv, so với các kết quả mong đợi tương ứng, out1, out2, vv và kiểm tra xem chúng có khớp không. Các tập tin được kiểm tra đọc đầu vào của nó từ stdin và viết đầu ra của nó để stdout. Vì vậy, việc thực hiện chương trình thử nghiệm trên một tệp đầu vào sẽ liên quan đến chuyển hướng I/O.
Tập lệnh sẽ được gọi với một đối số duy nhất, đây sẽ là tên của tệp thi hành được kiểm tra.
Tôi đang gặp sự cố khi thực hiện việc này, vì vậy bất kỳ trợ giúp nào (liên kết tới bất kỳ tài nguyên nào giải thích thêm về cách tôi có thể thực hiện việc này) sẽ được đánh giá cao. Tôi đã cố gắng tìm kiếm bản thân mình nhưng chưa thành công lắm.
Cảm ơn!
Bạn có thể sử dụng lệnh 'diff' hoặc' cmp' để so sánh kết quả đầu ra. –
Các chương trình 'diff',' cmp' và 'comm' (đặc biệt là hai chương trình đầu tiên) được sử dụng để so sánh hai tệp. Vì vậy, bạn có thể nắm bắt đầu ra mong đợi trong một tệp, đầu ra thực tế trong một tệp khác và sau đó so sánh các tệp. Đây là cách đơn giản nhất để làm điều đó; nó không nhất thiết phải là tốt nhất. –
Tôi nghĩ rằng mô tả của bạn hơi sai. Cách tôi đọc nó, bạn muốn các đầu vào để phù hợp với kết quả đầu ra. Nhưng tôi nghĩ bạn có nghĩa là bạn có đầu vào thử nghiệm, đầu ra thực tế và kết quả đầu ra mong đợi. Và bạn muốn phân biệt hai cái cuối cùng. – Mikel