Два вопроса:
1. Есть ли подобное для компиляторов ?
Предисловие для второго вопроса:
есть язык С++ у него куча возможностей. На каждую возможность языка должен быть тест. (все "за"?)
В компиляторах иногда выявляются баги. Исправления каждого бага по идее должно подкрепляться новым тестом.
Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.
Второй вопрос:
2. есть ли такой набор тестов ?
Возникла мысль потому что скачал интерпретатор cint-5.16.19 и захотелось узнать на что он способен запустив acid или "такой набор тестов".
Здравствуйте, Vamp, Вы писали:
F>>2. есть ли такой набор тестов ? V>В некотором смысле таковым можно считать Boost.
Учитывая сколько там заточек под конкретные компиляторы...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
F>Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.
Еще подумал насчёт такого набора. Излагаю.
Требования:
1. Такой набор должен легко подключаться к разным компиляторам/интерпретаторам.
Поэтому его можно составить в виде групп файлов, для каждого файла в группе должно выполнятся следующее:
1. файл представляет из себя отдельную тест-программу
2. файл не собирается если тест относится к группе не собирающихся тестов (иначе тест считается сфалившим)
3. файл собирается и по выполнении программы возвращает 0 (в этом случае тест считается успешным)
т.о. можно написать скрипт который пытается собрать каждый файл и выполнить. Сборка файла осуществляется compiler-dependent скриптом.
получается что скрипт и набор тестов одинаковы для всех файлов. И для того чтобы проверить новый компилятор достаточно написать compiler-dependent скрипт.
Здравствуйте, Feonyf, Вы писали:
F>>Получается набор тестов: тесты к фичам и тесты к когда-то случившимся багам.
F>Еще подумал насчёт такого набора. Излагаю.
F>Требования: F>1. Такой набор должен легко подключаться к разным компиляторам/интерпретаторам.
F>Поэтому его можно составить в виде групп файлов, для каждого файла в группе должно выполнятся следующее: F>1. файл представляет из себя отдельную тест-программу F>2. файл не собирается если тест относится к группе не собирающихся тестов (иначе тест считается сфалившим) F>3. файл собирается и по выполнении программы возвращает 0 (в этом случае тест считается успешным)
F>т.о. можно написать скрипт который пытается собрать каждый файл и выполнить. Сборка файла осуществляется compiler-dependent скриптом.
F>получается что скрипт и набор тестов одинаковы для всех файлов. И для того чтобы проверить новый компилятор достаточно написать compiler-dependent скрипт.
F>Кто-нибудь уже занимался таким делом?
К сожалению, судя по всему никому оно не нужно.
А баги есть интересные в компиляторах. Даже в православных ОС.
Здравствуйте, Feonyf, Вы писали:
F>Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>CINT который я юзаю — лютое го. это я вам без тестов скажу
F>я его вместо excel, scilab, matcad использую для простых расчётов.
есть ситуации, когда он удобен. я не знаю, какие у вас простые вычисления — однострочные? если пишете какие-то макросы, то ЦИНТ плох — пропуская многочисленные ошибки он не понимает простых и легальный конструкций зачастую.
вот так он (5.17) кушает спокойно:
Здравствуйте, 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 или "такой набор тестов".
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