Add tasks: "Where am I" and "Fix the Past"#4
Conversation
| ARG USERNAME=student | ||
| ARG GIT_USERNAME=student | ||
| ARG GIT_EMAIL=student@alivetech.com | ||
| ENV DESCRIPTION="Произошла авария на расчетном сервере! Наш модуль вычисления орбитальных маневров (src/orbital_calc.cpp) перестал работать и выдает нулевую скорость. Долгие попытки разобраться показали, что во время недавнего масштабного рефакторинга кто-то случайно стер точное значение одной из фундаментальных физических констант, заменив её на ноль. Точно известно, что правильное многозначное число внедрялось в одном из прошлых коммитов, но история проекта забита десятками других правок, добавлением телеметрии и удалением старого кода.\nВаша задача: Найти в истории изменений коммит, в котором добавлялось правильное значение этой константы и восстановить значение в коде и сделать спасительный коммит.\nВАЖНО: в этом задании нельзя использовать git checkout <hash коммита>. Вам нужно просто заглянуть в прошлое - найти команду Git, которая позволяет ПОКАЗАТЬ содержимое коммита и изменения в нем прямо в терминале." |
There was a problem hiding this comment.
"найти команду Git, которая позволяет ПОКАЗАТЬ содержимое коммита и изменения в нем прямо в терминале."
Мне кажется, что такие подсказки делать не стоит, пусть студенты сами ищут нужную команду
| mkdir build && cd build | ||
| cmake .. > /dev/null 2>&1 | ||
| make > /dev/null 2>&1 | ||
|
|
| @@ -0,0 +1,24 @@ | |||
| #!/bin/bash | |||
|
|
|||
| cd "$HOME/where-am-i" || exit 1 | |||
There was a problem hiding this comment.
Если уж тест выходит с ошибкой, то студент должен получить информацию об этой ошибке.
Стоит вынести проверку на сущестование папки "where-am-i" в более ранний тест.
Тесты зависят друг от друга: если не выполнился один тест, то следующие за ним скрипты тоже не будут выполняться, поэтому если вынести эту проверку в другой тест, не придётся писать эту строчку далее
|
|
||
| cd .. | ||
| OUTPUT=$(./build/orbital_app) | ||
| if echo "$OUTPUT" | grep -q "7672"; then |
There was a problem hiding this comment.
Лучше делать grep по всему тому, что выдала программа, потому что студент может сфабриковать правильный результат
| @@ -0,0 +1,22 @@ | |||
| #!/bin/bash | |||
|
|
|||
| cd "$HOME/where-am-i" || exit 1 | |||
| @@ -0,0 +1,30 @@ | |||
| #!/bin/bash | |||
|
|
|||
| cd "$HOME/fix-the-past" || exit 1 | |||
There was a problem hiding this comment.
Написал ревью к аналогичной строке где-то ниже
| @@ -0,0 +1,22 @@ | |||
| #!/bin/bash | |||
|
|
|||
| cd "$HOME/fix-the-past" || exit 1 | |||
There was a problem hiding this comment.
Написал ревью к аналогичной строке где-то ниже
| @@ -0,0 +1,41 @@ | |||
| #!/bin/bash | |||
|
|
|||
| cd "$HOME/fix-the-past" || exit 1 | |||
There was a problem hiding this comment.
Написал ревью к аналогичной строке где-то ниже
| rm -f app | ||
| g++ main.cpp -o app > /dev/null 2>&1 |
There was a problem hiding this comment.
Написал ревью к аналогичным строкам где-то ниже
| cd "$HOME/fix-the-past" || exit 1 | ||
|
|
||
| rm -f app |
There was a problem hiding this comment.
Написал ревью к аналогичным строкам ниже
|
Ещё мне кажется название "where-am-i" не очень подходит заданию, можно что-то ещё придумать |
добавлены задания: "Where am I " и "Fix the Past"