2020-01-28 22:41:27 +00:00
|
|
|
|
# testtool - проверка решений
|
|
|
|
|
|
|
|
|
|
testtool - cobra-based cli. У всех комманд есть help.
|
|
|
|
|
Использование можно начать с такого:
|
|
|
|
|
```
|
2020-02-12 22:25:12 +00:00
|
|
|
|
go run ./tools/testtool/cmd/testtool/main.go --help
|
2020-01-28 22:41:27 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-02-14 19:36:18 +00:00
|
|
|
|
При тестировании посылки выполняются следующие шаги:
|
2020-01-31 20:12:27 +00:00
|
|
|
|
1. Создаётся временная директория, в которой будут собраны необходимые файлы.
|
|
|
|
|
2. Копируются файлы пакета из посылки.
|
|
|
|
|
3. Копируются все файлы тестов из приватного репозитория.
|
|
|
|
|
4. Копируются !change файлы из приватного репозитория.
|
|
|
|
|
5. Копируются testdata из приватного репозитория.
|
|
|
|
|
6. Копируются go.mod и go.sum
|
|
|
|
|
7. Запускается go test -mod=readonly -tags private ./...
|
2020-01-28 22:41:27 +00:00
|
|
|
|
|
|
|
|
|
## Разработчикам
|
|
|
|
|
|
|
|
|
|
Запуск тестов:
|
|
|
|
|
```
|
|
|
|
|
go test -v ./tools/testtool/...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
В tools/testtool/testdata/submissions находятся sample проекты, на которых запускаются тесты.
|
|
|
|
|
В поддиректории correct - тесты с верным решением студента, в incorrect - c неверным.
|