LINUX.ORG.RU

Проблемы с тестированием binutils с DejaGnu 1.6

 , , , ,


0

1

Пытаюсь прогнать тесты GNU binutils (из git) с переопределённой переменной RUNTESTFLAGS (хочу получить XML-отчёты):

$ make -k RUNTESTFLAGS='--all --xml' check

Всё было прекрасно с runtest 1.5.1, но вот с runtest 1.6 дерьмо летит в вентилятор:

Making a new site.exp file...
srcdir=`cd . && pwd`; export srcdir; \
r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \
EXPECT=expect; export EXPECT; \
runtest=runtest; \
if /bin/bash -c "$runtest --version" > /dev/null 2>&1; then \
  CC="gcc" CC_FOR_BUILD="gcc" \
  CC_FOR_TARGET="gcc" CFLAGS_FOR_TARGET="-g -O2" \
    $runtest --tool binutils --srcdir ${srcdir}/testsuite \
        --all --xml; \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi
WARNING: Couldn't find tool init file
couldn't open ".../binutils/testsuite": illegal operation on a directory
Makefile:1322: recipe for target 'check-DEJAGNU' failed
    while executing
"open [file join $outdir $xml_file_name] w"
    (procedure "open_logs" line 19)
    invoked from within
"open_logs"
    (file "/usr/share/dejagnu/runtest.exp" line 1223)
make[5]: *** [check-DEJAGNU] Error 1
make[4]: *** [check-am] Error 2
make[3]: *** [check-recursive] Error 1
make[2]: *** [check] Error 2
make[1]: *** [check-binutils] Error 2
make: *** [do-check] Error 2

Цель check-DEJAGNU выглядит идентично на системах с runtest 1.5 и runtest 1.6:

1321 check-DEJAGNU: site.exp
1322         srcdir=`cd $(srcdir) && pwd`; export srcdir; \
1323         r=`pwd`; export r; \
1324         LC_ALL=C; export LC_ALL; \
1325         EXPECT=$(EXPECT); export EXPECT; \
1326         runtest=$(RUNTEST); \
1327         if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
1328           CC="$(CC)" CC_FOR_BUILD="$(CC_FOR_BUILD)" \
1329           CC_FOR_TARGET="$(CC_FOR_TARGET)" CFLAGS_FOR_TARGET="$(CFLAGS)" \
1330                 $$runtest --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite \
1331                         $(RUNTESTFLAGS); \
1332         else echo "WARNING: could not find \`runtest'" 1>&2; :;\
1333         fi

Насколько я понял, «illegal operation on a directory» — это EISDIR, возникающий тупо из-за того, что $xml_file_name в исходнике на Expect на одной из систем тупо пуст, что и приводит к неудачной попытке писать отчёт в каталог вместо регулярного файла.

Я нашёл обходной путь — пришлось ключу --xml в случае runtest 1.6 сообщить явный аргумент (игнорируется версией runtest 1.5):

$ make -k RUNTESTFLAGS='--all --xml=testsuite.xml' check

Краткий вопрос: WTF? Более точно — чей именно это WTF? В какой из двух проектов (dejagnu или binutils) отправлять багрепорт?

★★★★★

Последнее исправление: Bass (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.