Полное раскрытие: это для школьного проекта. Проект находится на C ++. Они обычно хотят, чтобы мы использовали их лабораторные компьютеры, которые являются системами UNIX, что означает, что make-файл отлично работает на лабораторных компьютерах. Но, как и большинство лабораторных работ, они просто дерьмо. Я потерял более одного проекта из-за их глупости. Но это ни здесь, ни там.
Как я уже сказал, у меня есть этот make-файл UNIX. Меня не волнуют инструкции по компиляции; Я позволю msbuild справиться с этим. Что меня волнует, так это процедуры тестирования в конце make-файла. Это тесты (с использованием другого файла .cpp), которые мой проект должен пройти, чтобы оценить его. Теперь я хотел бы сделать этот проект в vs, но я не уверен, как преобразовать инструкции из make-файла UNIX в то, что может понять msbuild. Есть ли способ добавить это в файл XML в VS? Должен ли я использовать параметр командной строки после сборки для запуска этих тестов? Какой мой лучший вариант здесь? Я включил соответствующий код из make-файла ниже. Я знаю, что могу просто запустить каждый тест отдельно от командной строки, но это будет мучительно много времени. Любой совет и т. Д., Будет принята с благодарностью. Спасибо!
Обратите внимание, что я удалил инструкции по компиляции для других файлов, так как они (я не думаю) имеют отношение к моему вопросу.
КОД:
test:
rm -f test_results
ListTemplateTest && \
(echo "ListTemplateTest OK" >> test_results) || \
(echo "ListTemplateTest Failed" >> test_results) && \
HashTableTemplateTest test1 && \
(echo "HashTableTemplateTest test1 OK" >> test_results) || \
(echo "HashTableTemplateTest test1 Failed" >> test_results) && \
HashTableTemplateTest test2 && \
(echo "HashTableTemplateTest test2 OK" >> test_results) || \
(echo "HashTableTemplateTest test2 Failed" >> test_results) && \
HashTableTemplateTest test3 && \
(echo "HashTableTemplateTest test3 OK" >> test_results) || \
(echo "HashTableTemplateTest test3 Failed" >> test_results) && \
HashTableTemplateTest test4 && \
(echo "HashTableTemplateTest test4 OK" >> test_results) || \
(echo "HashTableTemplateTest test4 Failed" >> test_results) && \
HashTableTemplateTest test5 && \
(echo "HashTableTemplateTest test5 OK" >> test_results) || \
(echo "HashTableTemplateTest test5 Failed" >> test_results) && \
HashTableTemplateTest test6 && \
(echo "HashTableTemplateTest test6 OK" >> test_results) || \
(echo "HashTableTemplateTest test6 Failed" >> test_results) && \
HashTableVoidTest test1 && \
(echo "HashTableVoidTest test1 OK" >> test_results) || \
(echo "HashTableVoidTest test1 Failed" >> test_results) && \
HashTableVoidTest test2 && \
(echo "HashTableVoidTest test2 OK" >> test_results) || \
(echo "HashTableVoidTest test2 Failed" >> test_results) && \
HashTableVoidTest test3 && \
(echo "HashTableVoidTest test3 OK" >> test_results) || \
(echo "HashTableVoidTest test3 Failed" >> test_results) && \
HashTableVoidTest test4 && \
(echo "HashTableVoidTest test4 OK" >> test_results) || \
(echo "HashTableVoidTest test4 Failed" >> test_results) && \
HashTableVoidTest test5 && \
(echo "HashTableVoidTest test5 OK" >> test_results) || \
(echo "HashTableVoidTest test5 Failed" >> test_results) && \
HashTableVoidTest test6 && \
(echo "HashTableVoidTest test6 OK" >> test_results) || \
(echo "HashTableVoidTest test6 Failed" >> test_results) && \
(wcVoid greetings.txt | sort > out1) && (wcVoidExample greetings.txt | sort > out2) && \
diff out1 out2 && \
(echo "wcVoid greetings.txt OK" >> test_results) || \
(echo "wcVoid greetings.txt Failed" >> test_results) && \
(wcTemplate greetings.txt | sort > out1) && (wcVoidExample greetings.txt | sort > out2) && \
diff out1 out2 && \
(echo "wcTemplate greetings.txt OK" >> test_results) || \
(echo "wcTemplate greetings.txt Failed" >> test_results) && \
echo && \
echo ------ Test Results ----- && \
cat test_results
чистый:
rm -f core * .o HashTableTemplateTest HashTableVoidTest ListTemplateTest \
wcVoid wcTemplate out1 out2 test_results