Jestem bardzo nowy w pisaniu skryptów i mam problem z ustaleniem, jak zacząć skrypt basha, który automatycznie przetestuje wyjście programu na oczekiwane wyjście.Skrypt Bash do automatycznego testowania wyjścia programu - C
Chcę napisać skrypt bash, który uruchomi określony plik wykonywalny na zestawie wejść testowych, np. In1 in2 itd., Odpowiadających oczekiwanym wyjściom, out1, out2 itd. I sprawdzi, czy pasują do siebie. Plik do przetestowania odczytuje dane wejściowe ze standardowego wejścia i wypisze dane wyjściowe na standardowe wyjście. Zatem wykonanie programu testowego na pliku wejściowym będzie wymagało przekierowania we/wy.
Skrypt zostanie wywołany z jednym argumentem, który będzie nazwą testowanego pliku wykonywalnego.
Mam problem z tym, że po prostu to robię, więc jakakolwiek pomoc (linki do wszelkich zasobów, które dodatkowo wyjaśnią, w jaki sposób mogę to zrobić) byłyby bardzo mile widziane. Najwyraźniej próbowałam się przeszukać, ale nie odniosłam w tym sukcesu.
Dzięki!
Można użyć poleceń 'diff' lub' cmp' do porównania wyjść. –
Programy 'diff',' cmp' i 'comm' (szczególnie pierwsze dwa) służą do porównywania dwóch plików. Można więc przechwycić oczekiwane dane wyjściowe w jednym pliku, rzeczywisty wynik w innym, a następnie porównać pliki. To najprostszy sposób na zrobienie tego; niekoniecznie jest najlepszy. –
Myślę, że twój opis jest trochę nie tak. Sposób, w jaki ją czytam, chcesz, aby dane wejściowe pasowały do wyjść. Ale myślę, że masz na myśli, że masz wejścia testowe, rzeczywiste wyniki i oczekiwane wyniki. I chcesz rozróżnić dwa ostatnie. – Mikel