Никогда не называйте решения sol, или Как не надо писать тестирующие системы

— Интересно, что это так бумкнуло? Не мог же я один наделать столько шуму! И где, интересно знать, мой воздушный шарик? И откуда, интересно, взялась эта тряпочка?
Пятачок

Проблемсет из одной задачи: A+B. У всех всё круто. У меня -- TL1. Отправил 7 раз -- 7 раз TL1. Идём смотреть на сервер, что за ерунда. А ТАМ 7 КОСЫНОК ОТКРЫТО 0_о.
Олег-"Махешвари"

(За абсолютную достоверность изложенной ниже истории не ручаюсь, но основные моменты верны; и именно те детали, что написаны ниже, лучше всего соответствуют моим несколько обрывочным воспоминаниям.)

...Писали мы пробный тур на одном из финалов — наверное, на первом нашем финале, в 2003 году в Лос-Анджелесе. Простая задача, отправляем на тестирование — IL (Idleness limit exceeded, превышено время простоя) на первом тесте. Что за чушь? В клиенте тестирующей системы у них была особая функция — запустить указанное решение на указанном входном файле на локальном компьютере в условиях, наиболее приближенных к условиям тестирования. Запускаем нашу программу на нашем тесте. IL! Запускаем на том же тесте в среде — все работает. Еще раз в клиенте — IL!

...И тут мы замечаем, что у нас на компе откуда-то взялись два запущенных экземпляра косынки (пасьянса). И тут до нас потихоньку доходит, что решение мы назвали sol, и потому исполняемый файл нашей программы называется также, как и у косынки. И кроме того мы вспоминаем, что под линуксом (финал уже тогда был под линуксом), если в консоли написать просто sol, то запустится как раз sol из путей, а не sol из текущего каталога. И получит IL, что абсолютно логично. В общем, переименовали решение — и все заработало.

...Остались только два вопроса: во-первых, все-таки, что же такого надо было написать в тестирующей системе, чтобы она запускала косынку, т.к. простых способов сделать такой баг я не вижу; и во-вторых, что подумало жюри, когда обнаружило запущенную косынку у себя на тестирующем компе.

...

Я как-то эту историю то вспоминал, то опять забывал. Когда осенью я увидел, что команда моего брата называет решения sol.pas, я порекомендовал им переименовать их. Когда я увидел sol.pas у кого-то в этой ЛКШ.Зима, я забил. И вообще думал, что это был какой-то специфичный баг, который сейчас вряд ли где повторится.

Но вот оказывается, что в Сыктывкаре (если я правильно все понял) на области в тестирующей системе (причем под виндой) в точности такой же баг. И она запускает косынку вместо решения, названного sol. И, конечно же, посылка получает TL1. (И, судя по обсуждению, подобный баг не только в той системе.)

Поэтому, люди, никогда не называйте свои решения sol. А если создаете тестирующую систему, проверьте, не любит ли она запускать косынку.

Правда, объясните мне все-таки, что нужно сделать, чтобы получить такой баг?..

Похожие статьи

  • Писать или не писать отзыв, если тебе не понравилось?!
  • Почему решения трудны?
  • С Лето не надо бороться. Его надо принимать
  • ПисАть или не писАть?
  • Что делать, что писать???
  • Январь 21, 2011 | Категория: Без рубрики

    Добавить комментарий

    close window

    Service Times & Directions

    Weekend Masses in English

    Saturday Morning: 8:00 am

    Saturday Vigil: 4:30 pm

    Sunday: 7:30 am, 9:00 am, 10:45 am,
    12:30 pm, 5:30 pm

    Weekend Masses In Español

    Saturday Vigil: 6:15pm

    Sunday: 9:00am, 7:15pm

    Weekday Morning Masses

    Monday, Tuesday, Thursday & Friday: 8:30 am

    map
    6654 Main Street
    Wonderland, AK 45202
    (513) 555-7856