Ada_Ru форум

Обсуждение языка Ада

Анонс: GNAT и GCC

Оставить новое сообщение

Сообщения

Vadim Godunko
Анонс: GNAT и GCC
2003-11-29 06:10:12

День добрый!

 

Наконец свершилось!

 

С 24 октября ACT запустила в эксплуатацию систему автоматической синхронизации внутреннего репозитория компилятора с репозиторием компилятора в рамках проекта GCC.

 

Кроме этого в состав тестов компилятора GCC включены тесты ACATS.

 

Так что теперь все новые версии Linux-ов будут содержать поседнюю версию компилятора.

 

Но среди этого есть и неприятности, касающиеся использования дополнительных компонентов, таких как поддержка распределенных вычислений GLADE, связка с POSIX API Florist, и интерфейс ASIS. Их исходники не только не выложены, но и использование исходников из 3.15 совместно с новым компилятором фактически невозможно.

 

-- Vadim Godunko

Vasiliy Fofanov wrote:

ACATS это как я понимаю тесты на право называться Ада компилятором,

а не знают ли Уважаемые, опубликованы ли GNAT тесты, которые ACT

создает по баг репортам позьзователей ?

 

 

Нет, и этого никогда в жизни по определению не может случиться.

No-Disclosure Agreement. Уж ты-то Дмитрий должен знать, ты же его тоже

наверняка подписывал!

 

Дмитрий скорее всего подразумевал тесты, которые ACT создаёт _по_ bug report-ам, но не догадывался, что ACT просто _использует_ код пользователей, а не создаёт свой собственный на основе кода пользователей. :)

 

 

-- Vadim Godunko

Дмитрий скорее всего подразумевал тесты, которые ACT создаёт _по_ bug report-ам, но не догадывался, что ACT просто _использует_ код пользователей, а не создаёт свой собственный на основе кода пользователей. :)

 

В 9 случаях из 10 действительно на основе bug report-а пользователя создается

новый тест. Но бывает и так, что код пользователя практически

без изменений становится тестом.

Vadim Godunko wrote:

ACATS это как я понимаю тесты на право называться Ада компилятором,

а не знают ли Уважаемые, опубликованы ли GNAT тесты, которые ACT

создает по баг репортам позьзователей ?

 

 

Нет, и этого никогда в жизни по определению не может случиться.

No-Disclosure Agreement. Уж ты-то Дмитрий должен знать, ты же его тоже

наверняка подписывал!

 

 

Дмитрий скорее всего подразумевал тесты, которые ACT создаёт _по_ bug report-ам, но не догадывался, что ACT просто _использует_ код пользователей, а не создаёт свой собственный на основе кода пользователей. :)

 

У меня в связи с этим родилась идея. Раз ACT не может опубликовать тесты из кода пользователей,

почему бы не создать альтернативную коллекцию тестов по баг репортам, которые репортующие не против опубликовать,

у меня уже есть несколько штук.

 

их можно разделить на 2 вида.

тесты общей Ada функциональности и тесты GNAT speсific функциональности.

 

Надо только их организовать как-то.

В 9 случаях из 10 действительно на основе bug report-а пользователя создается новый тест.

 

Я склонен считать что оценка абсолютно нового кода, создаваемого для теста, завышена радикальным образом. Как правило уж если тест и локализуется, то посредством отбрасывания частей кода, а не посредством написания нового теста проверяющего ту же конструкцию. Это разумеется продолжает оставаться под NDA.

 

Кроме того вообще говоря как Вы наверное знаете усечение теста считается у нас порочной практикой, так как качество покрытия это ухудшает.

Best regards,

Vasiliy

У меня в связи с этим родилась идея. Раз ACT не может опубликовать тесты из кода пользователей, почему бы не создать альтернативную коллекцию тестов по баг репортам, которые репортующие не против опубликовать, у меня уже есть несколько штук.

 

Гм. Осталось только пользователям перестать присылать запросы на

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

 

Василий.

Vasiliy Fofanov wrote:

У меня в связи с этим родилась идея. Раз ACT не может опубликовать тесты

из кода пользователей, почему бы не создать альтернативную коллекцию

тестов по баг репортам, которые репортующие не против опубликовать, у

меня уже есть несколько штук.

 

 

Гм. Осталось только пользователям перестать присылать запросы на

улучшения и сообщения об ошибках, но платить деньги продолжать, и мы

наконец-то сможем заняться подобной благотворительностью ;)

 

Недождетесь! Вот закончу я эту <бип> <бип> <бип> сертификацю и вышлю вам все найденные ошибки в GNAT-е и документации!!!

 

 

-- Vadim Godunko

Dmitriy Anisimkov wrote:

 

У меня в связи с этим родилась идея. Раз ACT не может опубликовать тесты из кода пользователей,

почему бы не создать альтернативную коллекцию тестов по баг репортам, которые репортующие не против опубликовать,

у меня уже есть несколько штук.

 

их можно разделить на 2 вида.

тесты общей Ada функциональности и тесты GNAT speсific функциональности.

 

Надо только их организовать как-то.

 

Дима, на эту тему лучше писать в список gcc. Точный адрес не помню, но он есть на gcc.gnu.org.

 

В принципе идея грамотная, а в текущем дереве GCC-шных тестов место под такие штуки имеется. Если хочешь, напиши им, я сейчас зашиваюсь. Если что решиться - готов поискать собственные тесты и подарить их миру :) (Благо они по большей части под NDA не попадают)

 

 

PS. А на текущем GCC на i686-pc-linux-gnu 8 (восемь) ACATS-ов не проходит!

 

-- Vadim Godunko

PS. А на текущем GCC на i686-pc-linux-gnu 8 (восемь) ACATS-ов не проходит!

 

Мммм... ну и что? Подумаешь, сыплется несколько тестов из приложения Д. Пользуйтесь стабильной версией, никто прохождения всех ACATSов любым произвольно выбранным срезом исходников не обещал. Бывает и деи когда три с половиной тысячи тестов не проходит :)

 

Василий.

Vasiliy Fofanov wrote:

PS. А на текущем GCC на i686-pc-linux-gnu 8 (восемь) ACATS-ов не проходит!

 

 

Мммм... ну и что? Подумаешь, сыплется несколько тестов из приложения Д.

Пользуйтесь стабильной версией, никто прохождения всех ACATSов любым

произвольно выбранным срезом исходников не обещал. Бывает и деи когда три с

половиной тысячи тестов не проходит :)

 

Три с половиной из трех с полтиной? Это интересно! ;-)

 

Хотя вылетают на сегодняшний день c34005a, c34005d, c34005g, c34005j, cc3601a, cxb3010, cxb3014, cxb3015. А тест cdd2a03 вообще не запускается.

 

c34005X - это отсутствие предопределенных операторов.

cc3601a - предача предопределенных операторов в generic-и.

cxb3010 - приложение B, интерфейс с языком C.

cdd2a03 - построение атрибутов Read и Write для limited types.

 

-- Vadim Godunko

Хотя вылетают на сегодняшний день c34005a, c34005d, c34005g, c34005j, cc3601a, cxb3010, cxb3014, cxb3015. А тест cdd2a03 вообще не запускается.

 

У нас на сегодняшний день тесты категории С проходятся все.

 

Вот например C34005A -

 

###>>> ACVC c34005a

###>> COMPILE FILE c34005a.ada

###> COMPILE UNIT c34005a.adb

 

 

Compiling: c34005a.adb

 

410 lines: No errors

###>> BIND & LINK c34005a

gnatbind -aO./ -I../lib -T0 -I- -x c34005a.ali

 

gnatlink c34005a.ali

###>> RUN c34005a

 

 

,.,. C34005A ACATS 2.4 03-11-12 12:27:20

 

---- C34005A CHECK THAT THE REQUIRED PREDEFINED OPERATIONS ARE DECLARED

(IMPLICITLY) FOR DERIVED ONE-DIMENSIONAL ARRAY TYPES

WHOSE COMPONENT TYPE IS A NON-LIMITED, NON-DISCRETE

TYPE.

 

==== C34005A PASSED ============================.

###>> DONE

 

 

Так что смотрите у себя.

 

С уважением,

Василий.

Vasiliy Fofanov wrote:

Хотя вылетают на сегодняшний день c34005a, c34005d, c34005g, c34005j,

cc3601a, cxb3010, cxb3014, cxb3015. А тест cdd2a03 вообще не запускается.

 

У нас на сегодняшний день тесты категории С проходятся все.

 

Так что смотрите у себя.

 

Текущая версия из cvs GCC 3.x. Собирается помощью фирменной сборки GNAT-3.15p. Последовательность сборки:

$ configure --enable-languages="c,ada"

$ make bootstrap

$ cd gcc

$ make gnatlib

$ make gnattools

$ make check-ada

test -d testsuite/ada/acats || mkdir -p testsuite/ada/acats

testdir=`cd /home/hd/gcc/gcc/testsuite/ada/acats; ${PWDCMD-pwd}`; &#92;

export testdir; cd testsuite/ada/acats; ${testdir}/run_acats

=== acats configuration ===

gcc is /home/hd/gcc.build/gcc/testsuite/ada/acats/gcc

Reading specs from /home/hd/gcc.build/gcc/specs Configured with: /home/hd/gcc/co

nfigure --prefix=/home/vadik/local/gnat-5 --enable-languages=c,ada : (reconfigured) : (reconfigured) Thread model: posix gcc version 3.4 20031112 (experimental)

host=i686-pc-linux-gnu

target=i686-pc-linux-gnu

gnatmake is /home/hd/gcc.build/gcc/gnatmake

 

=== acats support ===

Generating support files... done.

Compiling support files... done.

 

=== acats tests ===

Running chapter a ...

Running chapter c2 ...

Running chapter c3 ...

FAIL: c34005a

FAIL: c34005d

FAIL: c34005g

FAIL: c34005j

Running chapter c4 ...

Running chapter c5 ...

Running chapter c6 ...

Running chapter c7 ...

Running chapter c8 ...

Running chapter c9 ...

Running chapter ca ...

Running chapter cb ...

Running chapter cc ...

FAIL: cc3601a

Running chapter cd ...

Running chapter ce ...

Running chapter CVS ...

Running chapter cxa ...

Running chapter cxb ...

FAIL: cxb3010

FAIL: cxb3014

FAIL: cxb3015

Running chapter cxf ...

Running chapter cxg ...

Running chapter cxh ...

Running chapter cz ...

Running chapter d ...

Running chapter e ...

Running chapter gcc ...

Running chapter l ...

=== acats Summary ===

# of expected passes 2314

# of unexpected failures 8

*** FAILURES: c34005a c34005d c34005g c34005j cc3601a cxb3010 cxb3014 cxb3015

 

Из acats.log:

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/c3/c34005a.ada into:

c34005a.adb

BUILD c34005a.adb

RUN c34005a

 

,.,. C34005A ACATS 2.5 03-11-12 18:18:28

---- C34005A CHECK THAT THE REQUIRED PREDEFINED OPERATIONS ARE DECLARED

(IMPLICITLY) FOR DERIVED ONE-DIMENSIONAL ARRAY TYPES

WHOSE COMPONENT TYPE IS A NON-LIMITED, NON-DISCRETE

TYPE.

* C34005A INCORRECT & (COMPONENT, ARRAY).

* C34005A INCORRECT & (COMPONENT, COMPONENT).

**** C34005A FAILED ****************************.

FAIL: c34005a

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/c3/c34005d.ada into:

c34005d.adb

BUILD c34005d.adb

RUN c34005d

 

,.,. C34005D ACATS 2.5 03-11-12 18:18:30

---- C34005D CHECK THAT THE REQUIRED PREDEFINED OPERATIONS ARE DECLARED

(IMPLICITLY) FOR DERIVED ONE-DIMENSIONAL ARRAY TYPES

WHOSE COMPONENT TYPE IS A DISCRETE TYPE.

* C34005D INCORRECT & (COMPONENT, ARRAY).

* C34005D INCORRECT & (COMPONENT, COMPONENT).

**** C34005D FAILED ****************************.

FAIL: c34005d

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/c3/c34005g.ada into:

c34005g.adb

BUILD c34005g.adb

RUN c34005g

 

,.,. C34005G ACATS 2.5 03-11-12 18:18:32

---- C34005G CHECK THAT THE REQUIRED PREDEFINED OPERATIONS ARE DECLARED

(IMPLICITLY) FOR DERIVED ONE-DIMENSIONAL ARRAY TYPES

WHOSE COMPONENT TYPE IS A CHARACTER TYPE.

* C34005G INCORRECT & (COMPONENT, ARRAY).

* C34005G INCORRECT & (COMPONENT, COMPONENT).

**** C34005G FAILED ****************************.

FAIL: c34005g

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/c3/c34005j.ada into:

c34005j.adb

BUILD c34005j.adb

RUN c34005j

 

,.,. C34005J ACATS 2.5 03-11-12 18:18:34

---- C34005J CHECK THAT THE REQUIRED PREDEFINED OPERATIONS ARE DECLARED

(IMPLICITLY) FOR DERIVED ONE-DIMENSIONAL ARRAY TYPES

WHOSE COMPONENT TYPE IS A BOOLEAN TYPE.

* C34005J INCORRECT & (COMPONENT, ARRAY).

* C34005J INCORRECT & (COMPONENT, COMPONENT).

**** C34005J FAILED ****************************.

FAIL: c34005j

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/cc/cc3601a.ada into:

cc3601a.adb

BUILD cc3601a.adb

RUN cc3601a

 

,.,. CC3601A ACATS 2.5 03-11-12 18:35:03

---- CC3601A CHECK THAT PREDEFINED OPERATORS MAY BE PASSED AS ACTUAL

GENERIC SUBPROGRAM PARAMETERS.

- CC3601A B1 = FALSE AND B2 = FALSE.

- CC3601A B1 = FALSE AND B2 = TRUE.

- CC3601A B1 = TRUE AND B2 = FALSE.

- CC3601A B1 = TRUE AND B2 = TRUE.

* CC3601A INCORRECT VALUE FOR BINARY OP - "&" - 1.

**** CC3601A FAILED ****************************.

FAIL: cc3601a

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/cxb/cxb3010.a into:

cxb3010.adb

BUILD cxb3010.adb

RUN cxb3010

 

,.,. CXB3010 ACATS 2.5 03-11-12 18:41:25

---- CXB3010 Check that Procedure Free and versions of Function Value

produce correct results.

* CXB3010 Incorrect result from Function Value - 1.

* CXB3010 Incorrect result from Function Value - 2.

* CXB3010 Incorrect result from Function Value with Length parameter

- 2.

**** CXB3010 FAILED ****************************.

FAIL: cxb3010

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/cxb/cxb3014.a into:

cxb3014.adb

BUILD cxb3014.adb

RUN cxb3014

 

,.,. CXB3014 ACATS 2.5 03-11-12 18:41:28

---- CXB3014 Check that versions of the Value function from package

Interfaces.C.Pointers produce correct results.

* CXB3014 Incorrect result from Function Value with Ref and Length

parameters, when specifying a length less than the full

array size.

* CXB3014 Exception raised in Test_Block.

**** CXB3014 FAILED ****************************.

FAIL: cxb3014

splitting /home/hd/gcc.build/gcc/testsuite/ada/acats/tests/cxb/cxb3015.a into:

cxb3015.adb

BUILD cxb3015.adb

RUN cxb3015

 

,.,. CXB3015 ACATS 2.5 03-11-12 18:41:29

---- CXB3015 Check that +, -, Increment, and Decrement subprograms in

Package Interfaces.C.Pointers produce correct results.

* CXB3015 The following exception was raised in the Test_Block:

STORAGE_ERROR.

**** CXB3015 FAILED ****************************.

FAIL: cxb3015

 

Вот такие дела...

 

 

-- Vadim Godunko

Вот такие дела...

 

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

 

Василий.

Vadim Godunko wrote:

Кроме этого в состав тестов компилятора GCC включены тесты ACATS.

 

ACATS это как я понимаю тесты на право называться Ада компилятором,

а не знают ли Уважаемые, опубликованы ли GNAT тесты, которые ACT

создает по баг репортам позьзователей ?

ACATS это как я понимаю тесты на право называться Ада компилятором, а не знают ли Уважаемые, опубликованы ли GNAT тесты, которые ACT создает по баг репортам позьзователей ?

 

Нет, и этого никогда в жизни по определению не может случиться.

No-Disclosure Agreement. Уж ты-то Дмитрий должен знать, ты же его тоже наверняка подписывал!

 

Василий.

Dmitriy Anisimkov wrote:

Vadim Godunko wrote:

 

Кроме этого в состав тестов компилятора GCC включены тесты ACATS.

 

 

ACATS это как я понимаю тесты на право называться Ада компилятором,

а не знают ли Уважаемые, опубликованы ли GNAT тесты, которые ACT

создает по баг репортам позьзователей ?

 

Нет и никогда не будут опубликованы. Поскольку некоторые из них

включают фрагменты кастомерского кода, а это - под

non-disclousure agreement.

 

Вася, поправьте, если я не прав.

Вася, поправьте, если я не прав.

 

Дуплетик :)

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти