Skip to content

Comments

багфиксы и улучшения #1

Open
4RH1T3CT0R7 wants to merge 1 commit intomainfrom
refactor/bugfixes-and-tests
Open

багфиксы и улучшения #1
4RH1T3CT0R7 wants to merge 1 commit intomainfrom
refactor/bugfixes-and-tests

Conversation

@4RH1T3CT0R7
Copy link

  • Исправлена утечка дочерних процессов: SubprocessPlayer теперь хранит Child и реализует Drop с корректным завершением (try_wait - kill - wait)
  • Добавлен TimeoutWriter для stdin подпроцессов - устраняет потенциальный deadlock при заполнении pipe-буфера
  • EOF от подпроцесса теперь возвращает ошибку UnexpectedEof вместо пустой строки
  • Заменены .unwrap() на .take().ok_or_else() при захвате stdout/stdin
  • PrisonerDilemma::default() и TugOfWar::default() реализованы как impl Default (Clippy should_implement_trait)
  • Выровнены имена параметров PrisonerDilemma::new() с полями структуры
  • Добавлена валидация --iters >= 1 через value_parser
  • Добавлен префикс left/right player error: в сообщения об ошибках
  • Исправлены doc-комментарии
  • Добавлено 7 юнит-тестов для TugOfWar
  • Исправлены Python-примеры: добавлен flush=True во всех скриптах, evil.py переписан с корректным протоколом, p1.py переписан с отслеживанием энергии
  • Добавлено поле description в Cargo.toml

…gOfWar

- Исправлена утечка дочерних процессов: хранение Child + Drop (try_wait/kill/wait)
- Добавлен TimeoutWriter для stdin — устранён потенциальный deadlock
- EOF от подпроцесса возвращает UnexpectedEof вместо пустой строки
- Заменены unwrap() на take().ok_or_else() при захвате stdout/stdin
- impl Default для PrisonerDilemma и TugOfWar
- Выровнены имена параметров PrisonerDilemma::new() с полями структуры
- Валидация --iters >= 1, префикс left/right player error в ошибках
- Исправлены doc-комментарии (Player, Game, PrisonerDilemma, TugOfWar)
- Добавлено 7 юнит-тестов для TugOfWar
- Исправлены Python-примеры: flush=True, корректный протокол evil.py и p1.py
- Добавлено description в Cargo.toml
@4RH1T3CT0R7 4RH1T3CT0R7 requested a review from zhikh23 February 19, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant