acid тест для С++ компиляторов
От: Feonyf  
Дата: 20.10.10 16:32
Оценка:
Есть такой замечательный тест:

http://acid3.acidtests.org/

Два вопроса:
1. Есть ли подобное для компиляторов ?

Предисловие для второго вопроса:
есть язык С++ у него куча возможностей. На каждую возможность языка должен быть тест. (все "за"?)
В компиляторах иногда выявляются баги. Исправления каждого бага по идее должно подкрепляться новым тестом.
Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.

Второй вопрос:
2. есть ли такой набор тестов ?


Возникла мысль потому что скачал интерпретатор cint-5.16.19 и захотелось узнать на что он способен запустив acid или "такой набор тестов".
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re: acid тест для С++ компиляторов
От: Vamp Россия  
Дата: 20.10.10 16:34
Оценка:
F>2. есть ли такой набор тестов ?
В некотором смысле таковым можно считать Boost.
Да здравствует мыло душистое и веревка пушистая.
Re[2]: acid тест для С++ компиляторов
От: dilmah США  
Дата: 20.10.10 16:43
Оценка:
V>В некотором смысле таковым можно считать Boost.

Ээ.. он же напичкан ифдефами. У него "каноническая" чисто-стандартная реализация вообще есть?
Re[2]: acid тест для С++ компиляторов
От: CreatorCray  
Дата: 20.10.10 16:50
Оценка:
Здравствуйте, Vamp, Вы писали:

F>>2. есть ли такой набор тестов ?

V>В некотором смысле таковым можно считать Boost.
Учитывая сколько там заточек под конкретные компиляторы...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: acid тест для С++ компиляторов
От: Feonyf  
Дата: 20.10.10 16:50
Оценка:
F>Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.

Еще подумал насчёт такого набора. Излагаю.

Требования:
1. Такой набор должен легко подключаться к разным компиляторам/интерпретаторам.

Поэтому его можно составить в виде групп файлов, для каждого файла в группе должно выполнятся следующее:
1. файл представляет из себя отдельную тест-программу
2. файл не собирается если тест относится к группе не собирающихся тестов (иначе тест считается сфалившим)
3. файл собирается и по выполнении программы возвращает 0 (в этом случае тест считается успешным)

т.о. можно написать скрипт который пытается собрать каждый файл и выполнить. Сборка файла осуществляется compiler-dependent скриптом.

получается что скрипт и набор тестов одинаковы для всех файлов. И для того чтобы проверить новый компилятор достаточно написать compiler-dependent скрипт.

Кто-нибудь уже занимался таким делом?
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re: acid тест для С++ компиляторов
От: Lorenzo_LAMAS  
Дата: 20.10.10 17:03
Оценка:
F>Возникла мысль потому что скачал интерпретатор cint-5.16.19 и захотелось узнать на что он способен запустив acid или "такой набор тестов".

CINT который я юзаю — лютое го. это я вам без тестов скажу
Of course, the code must be complete enough to compile and link.
Re[2]: acid тест для С++ компиляторов
От: blackhearted Украина  
Дата: 20.10.10 17:08
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>>Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.


F>Еще подумал насчёт такого набора. Излагаю.


F>Требования:

F>1. Такой набор должен легко подключаться к разным компиляторам/интерпретаторам.

F>Поэтому его можно составить в виде групп файлов, для каждого файла в группе должно выполнятся следующее:

F>1. файл представляет из себя отдельную тест-программу
F>2. файл не собирается если тест относится к группе не собирающихся тестов (иначе тест считается сфалившим)
F>3. файл собирается и по выполнении программы возвращает 0 (в этом случае тест считается успешным)

F>т.о. можно написать скрипт который пытается собрать каждый файл и выполнить. Сборка файла осуществляется compiler-dependent скриптом.


F>получается что скрипт и набор тестов одинаковы для всех файлов. И для того чтобы проверить новый компилятор достаточно написать compiler-dependent скрипт.


F>Кто-нибудь уже занимался таким делом?


К сожалению, судя по всему никому оно не нужно.
А баги есть интересные в компиляторах. Даже в православных ОС.
Re[2]: acid тест для С++ компиляторов
От: Feonyf  
Дата: 20.10.10 17:22
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>CINT который я юзаю — лютое го. это я вам без тестов скажу


я его вместо excel, scilab, matcad использую для простых расчётов.
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re[3]: acid тест для С++ компиляторов
От: Lorenzo_LAMAS  
Дата: 20.10.10 17:27
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>Здравствуйте, Lorenzo_LAMAS, Вы писали:


L_L>>CINT который я юзаю — лютое го. это я вам без тестов скажу


F>я его вместо excel, scilab, matcad использую для простых расчётов.


есть ситуации, когда он удобен. я не знаю, какие у вас простые вычисления — однострочные? если пишете какие-то макросы, то ЦИНТ плох — пропуская многочисленные ошибки он не понимает простых и легальный конструкций зачастую.
вот так он (5.17) кушает спокойно:

//laja.C
void laja()
{
   int arr[10] = {1,2,3,4,5};
   double * XPEH = arr;
   std::cout<<XPEH[0]<<' '<<XPEH[1]<<' '<<XPEH[2]<<std::endl;
}

т.е. даже самые простые ошибки пропускает.
Of course, the code must be complete enough to compile and link.
Re: acid тест для С++ компиляторов
От: Матвей Жданович Беларусь  
Дата: 20.10.10 18:35
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>Есть такой замечательный тест:


F>http://acid3.acidtests.org/


F>Два вопроса:

F>1. Есть ли подобное для компиляторов ?
Конечно есть. Только у каждого производителя компиляторов он свой. Например http://gcc.gnu.org/testing/ для gcc.
Есть, например, вот этот набор тестов http://www.interstron.ru/technologies_4.html. Но он, как я понимаю, платный.
На сколько я знаю, в отличие от Java, канонического набора тестов (опеределнного стандартом) для c++ нет.

F>Предисловие для второго вопроса:

F>есть язык С++ у него куча возможностей. На каждую возможность языка должен быть тест. (все "за"?)
F>В компиляторах иногда выявляются баги. Исправления каждого бага по идее должно подкрепляться новым тестом.
F>Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.

F>Второй вопрос:

F>2. есть ли такой набор тестов ?


F>Возникла мысль потому что скачал интерпретатор cint-5.16.19 и захотелось узнать на что он способен запустив acid или "такой набор тестов".
Re[4]: acid тест для С++ компиляторов
От: Feonyf  
Дата: 20.10.10 19:31
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>(...)


я не парюсь с его глюками т.к. окончательно буду собирать на нормальном компиляторе.
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re: acid тест для С++ компиляторов
От: Юрий Жмеренецкий ICQ 380412032
Дата: 20.10.10 22:13
Оценка: 7 (3)
Здравствуйте, Feonyf, Вы писали:

F>2. есть ли такой набор тестов ?


"Единого" — нет. Но есть например Perennial C++ valudation suite.


Visual Studio .NET 2003 — Conformance to ISO Standards for C++
...
Three popular suites are Dinkumware, Perennial, and Plum Hall. Visual C++ .NET 2003 was tested against all three

http://msdn.microsoft.com/en-us/library/aa289140(VS.71).aspx


"C++ Conformance Roundup" (Sutter, 2001)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.