Я запускаю тестовый сценарий из командного файла.
Поскольку это тест, программы ожидают сбоя один раз через некоторое время. Это файл, если возвращается код ошибки, поэтому я могу продолжить и пометить конкретный тест как неудавшийся.
Однако есть очень неприятное поведение исполняемых файлов в Microsoft Windows - если что-то не удается, появляется всплывающее окно вроде:
Это приложение не запустилось, потому что foo.dll не был найден. Повторная установка приложения может решить проблему
Или даже лучше:
Инструкция в "..." относится к памяти at "..." ..
Щелкните OK, чтобы завершить программу
m запускать тестовый сценарий из командного файла.Поскольку это тест, программы, как ожидается, будут время от времени давать сбой. Это файл, если возвращается код ошибки, поэтому я могу продолжить и пометить конкретный тест как неудавшийся.
Однако есть очень неприятное поведение исполняемых файлов в Microsoft Windows - если что-то не удается, появляется всплывающее окно вроде:
Это приложение не запустилось, потому что foo.dll не был найден. Повторная установка приложения может решить проблему
Или даже лучше:
Инструкция в "..." относится к памяти at "..." ..
Щелкните OK, чтобы завершить программу
m запускать тестовый сценарий из командного файла.Поскольку это тест, программы, как ожидается, будут время от времени давать сбой. Это файл, если возвращается код ошибки, поэтому я могу продолжить и пометить конкретный тест как неудавшийся.
Однако есть очень неприятное поведение исполняемых файлов в Microsoft Windows - если что-то не удается, появляется всплывающее окно вроде:
Это приложение не запустилось, потому что foo.dll не был найден. Повторная установка приложения может решить проблему
Или даже лучше:
Инструкция в "..." относится к памяти at "..." ..
Щелкните OK, чтобы завершить программу
Нажмите CANCEL, чтобы отладить программуРезультат известен - выполнение скрипта блокируется до тех пор, пока кто-нибудь не нажмет кнопку «Ok». И когда мы говорим об автоматических сценариях, которые могут автоматически запускаться ночью на какой-то безголовой виртуальной машине, это может быть очень проблематично.
Есть ли простой способ предотвратить такое поведение и просто заставить приложение выйти с кодом ошибки - без изменения кода самой программы?
Возможно ли это вообще?