Split distbuild task into two parts
This commit is contained in:
parent
e7eb367383
commit
515a3bc4ce
10 changed files with 34 additions and 13 deletions
|
@ -1,3 +1,17 @@
|
||||||
|
- group: [HW] Distbuild blocks
|
||||||
|
start: 09-04-2020 18:00
|
||||||
|
deadline: 30-04-2020 23:59
|
||||||
|
tasks:
|
||||||
|
- task: disttest
|
||||||
|
score: 0
|
||||||
|
|
||||||
|
- group: Distbuild blocks
|
||||||
|
start: 09-04-2020 18:00
|
||||||
|
deadline: 23-04-2020 23:59
|
||||||
|
tasks:
|
||||||
|
- task: distbuild
|
||||||
|
score: 300
|
||||||
|
|
||||||
- group: Concurrency with shared memory
|
- group: Concurrency with shared memory
|
||||||
start: 26-03-2020 18:00
|
start: 26-03-2020 18:00
|
||||||
deadline: 05-04-2020 23:59
|
deadline: 05-04-2020 23:59
|
||||||
|
|
|
@ -85,17 +85,17 @@ type Job struct {
|
||||||
|
|
||||||
Рекомендуемый порядок выполнения:
|
Рекомендуемый порядок выполнения:
|
||||||
|
|
||||||
- [`distbuild/pkg/build`](./distbuild/pkg/build) - определение графа сборки. В этом пакете ничего писать не нужно,
|
- [`distbuild/pkg/build`](./pkg/build) - определение графа сборки. В этом пакете ничего писать не нужно,
|
||||||
нужно ознакомиться с существующим кодом.
|
нужно ознакомиться с существующим кодом.
|
||||||
- [`distbuild/pkg/tarstream`](./distbuild/pkg/tarstream) - передача директории через сокет.
|
- [`distbuild/pkg/tarstream`](./pkg/tarstream) - передача директории через сокет.
|
||||||
- [`distbuild/pkg/api`](./distbuild/pkg/api) - протокол общения между компонентами.
|
- [`distbuild/pkg/api`](./pkg/api) - протокол общения между компонентами.
|
||||||
- [`distbuild/pkg/artifact`](./distbuild/pkg/artifact) - кеш артефактов и протокол передачи артефактов между воркерами.
|
- [`distbuild/pkg/artifact`](./pkg/artifact) - кеш артефактов и протокол передачи артефактов между воркерами.
|
||||||
- [`distbuild/pkg/filecache`](./distbuild/pkg/filecache) - кеш файлов и протокол передачи файлов между компонентами.
|
- [`distbuild/pkg/filecache`](./pkg/filecache) - кеш файлов и протокол передачи файлов между компонентами.
|
||||||
- [`distbuild/pkg/scheduler`](./distbuild/pkg/filecache) - планировщик с эвристикой локальности.
|
- [`distbuild/pkg/scheduler`](./pkg/scheduler) - планировщик с эвристикой локальности.
|
||||||
|
|
||||||
После того, как все кубики будут готовы, нужно будет соединить их вместе, реализовав `distbuild/pkg/worker`,
|
После того, как все кубики будут готовы, нужно будет соединить их вместе, реализовав `distbuild/pkg/worker`,
|
||||||
`distbuild/pkg/client` и `distbuild/pkg/coordinator`. Код в этих пакетах нужно отлаживать на
|
`distbuild/pkg/client` и `distbuild/pkg/dist`. Код в этих пакетах нужно отлаживать на
|
||||||
интеграционных тестах в [`distbuild/disttest`](./distbuild/disttest).
|
интеграционных тестах в [`distbuild/disttest`](../disttest).
|
||||||
|
|
||||||
Код тестов в этом задании менять нельзя. Это значит, что вы не можете менять интерфейсы в тех местах, где
|
Код тестов в этом задании менять нельзя. Это значит, что вы не можете менять интерфейсы в тех местах, где
|
||||||
код покрыт тестами.
|
код покрыт тестами.
|
||||||
|
@ -132,7 +132,14 @@ prime@bee ~/C/shad-go> find distbuild -iname '*.go' | grep -v test | grep -v moc
|
||||||
|
|
||||||
# Критерии оценки
|
# Критерии оценки
|
||||||
|
|
||||||
Решение должно проходить все тесты, так же как в обычной задаче. После успешной попытки, в таблице gdoc
|
Решение должно проходить все тесты, так же как в обычной задаче.
|
||||||
будет стоять 0. После этого, проверяющие должны будут просмотреть решение и заменить оценку в таблице на 1.
|
|
||||||
Это будет значить, что задача засчитана. Code Review не будет, проверка нужна только чтобы удостовериться что
|
Задача разбита на две части:
|
||||||
посылка честно проходит все тесты. Отдельный Merge Request создавать не нужно.
|
- `distbuild` проверяет решение всех "кубиков". Эта задача расчитывается как обычная семинарская.
|
||||||
|
- `disttest` проверяет интеграционные тесты. Эта задача оценивается как домашка. После успешной попытки, в таблице gdoc
|
||||||
|
будет стоять 0. После этого, проверяющие должны будут просмотреть решение и заменить оценку в таблице на 1.
|
||||||
|
Это будет значить, что домашнее задание засчитано. Code Review не будет, проверка нужна только чтобы удостовериться что
|
||||||
|
посылка честно проходит все тесты. Отдельный Merge Request создавать не нужно.
|
||||||
|
|
||||||
|
Чтобы запустить проверку внутри `disttest`, сделайте коммит добавляющий незначащий перенос строки в какой-нибудь файл
|
||||||
|
из этой директории.
|
||||||
|
|
|
@ -16,4 +16,4 @@
|
||||||
|
|
||||||
Все тесты останавливают окружение отменяя корневой контекст. Если ваш код где-то неправильно обрабатывает
|
Все тесты останавливают окружение отменяя корневой контекст. Если ваш код где-то неправильно обрабатывает
|
||||||
отмену контекста, то тест может зависать на остановке. Вы можете отладить такое зависание, подключившись
|
отмену контекста, то тест может зависать на остановке. Вы можете отладить такое зависание, подключившись
|
||||||
к зависшему тесту в дебагере, или послав SIGQUIT зависшему процессу.
|
к зависшему тесту в дебагере, или послав SIGQUIT зависшему процессу.
|
Loading…
Reference in a new issue