ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
1047976 Топик полностью
fk0, легенда (29.10.2020 22:59, просмотров: 403) ответил lloyd на Познакомился с Tcl/Expect. Это офигенно, давно я не испытывал такого экстаза от автоматизации. Почти весь тот монстр, что у меня запускался на pytest/labgrid полминуты, поместился в 400 строк кода с авторизацией по паролям, переходом между пингвином и загрузчиком (в обе стороны), выполнение команд с захватом результата. Да, мб Tcl работает медленно, зато не медленно запускается, а бОльшая часть простоев в моих операциях - запись флешки или тест IO, переход между этапами не
Я кстати предупреждаю, что expect -- порядочная наколенная паделка. Там многое через ()() и пару раз из-за этого всё бросал и переписывал на чистом Tcl. Там какие-то малопонятные глюки если его заставить работать с сокетами во-первых. Во-вторых фокусы вроде того, что он переменные устанавливает (по факту парсинга) в каком попало скоупе: может в локальном (процедуры), может в глобальном. Когда пишешь скрипт (без процедур) и всё глобальное -- оно не заметно. Но когда начинаешь 

нормально программировать приходится расставлять костыли из "global" и "upvar/uplevel".


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

[ZX]