Нужен комплексный тест для всех компонент: - транслятора (на основе эталонных ответов) - функций ODBC-драйвера (на основе тестов Андрея) - сервера (SQL-запросы) (на основе эталонных ответов сервера) Тест должен выполняться как в консоли, так и через графику.
Виталя, можно немного конкретизировать задачу? Данный тест должен идти в виде отдельного экзешника, или это должна быть библиотека, или просто отдельный модуль Селты? В случае последнего, какой интерфейс общения с данным модулем должен получить пользователь? Вообще вещь достаточно нужная. Особенно если рискнуть добавить туда возможность "повторения" сбоев в работе ODBC драйвера на основе присланных пользователями трассировок работы ODBC-администратора.
Я думаю, как удобнее. Я бы сделал отдельным файлом, который бы вызывался из основного, и умел бы работать, как с консолью, так и с графическим интерфейсом. Таким образом он может иметь иную лицензию, чем Selta.exe и его вполне можно открыть, чтобы совершенствовать его всем миром.
Итак я собираюсь сделать: 1. Написать скрипты для создать тестовых таблиц. 2. Преобразовать имеющиеся тестовые запросы так, чтобы они возвращали данные и могли обращаться к тестовым таблицам 3. Забросить имеющиеся тестовые запросы и ожидаемые ответы на них в XML 4. Выполнить запросы разными способами, проверить результаты. Постараюсь все это сделать поуниверсальней. Мне использовать уже какой-нибудь имеющийся парсер? Или чего-нибудь свое написать? Мне понравился TinyXML++ http://ticpp.googlecode.com/svn/docs/ticpp.html Лицензия zlib/libpng License
Первый вариант тестилки готов. В sеlta, папочка testxml Пока он только берет команды из фалика xml, Просто их выполняет (sqlexecute), и все это записывает в другой xml фалик. Может заполнять таблицы rnd значениями. Так можно узнать скорость парсера selta. Выполняя, например, запрос SELECT 1; А так же насколько, в зависимости от кол-ва записей отличается скорость MS SQL и PG SQL. Надо будет сделать, что бы они выполнялись с параметрами, как в 1с. И получать данные, тоже, как в 1с.
надо еще собрать под linux
Сделал так, что бы можно было получать данные, и сравнивать с эталонными. Набиваю для http://bugs.etersoft.ru/show_bug.cgi?id=1767 запросами с проверкой. связанных с нашими функциями. strpos, right и т.д. (те, которые добавляются при инициилизации из install.sql)
Вернулись к задаче.
Сделал, что бы писала в любом случае, даже если ошибка произошла.
разобрал половину запросов в test.sql , отсортировал, транслируемые перенес в один каталог, нетранслируемые - в другой. завтра разберу остальные. нужно посмотреть, в чем ошибки в нетранслируемых
разобрал оставшуюся часть запросов в test.sql. в основном были несовпадения в регистрах имен таблиц и в наличии блокировок где нужно
Сформулируйте, пожалуйста, какой ожидается результат (что планируется сделать) по этой баге?
(В ответ на comment #11) > Сформулируйте, пожалуйста, какой ожидается результат (что планируется сделать) > по этой баге? баге уже много лет, действительно, что мы ожидаем получить? тест транслятора существует и работает, ничего сложного нет в том, чтобы повесить его на gui. только зачем gui-шный тест? тест сервера pgsql есть, но в незаконченном варианте. думаю закончить недолго, но надо написать порядочное количество запросов для него. что за тест функций odbc? (комментарий #0) в баге #7067 будет описано, где у нас список всех тестов - парсера, odbc, сервера, gui, тесты документации, тесты работы 1С. к выпуску 1.1.0 видимо снова не сделаем, а к 2.0 odbc уже тестировать не надо будет