Re[3]: Пара вопросов по boost::test
От: jazzer Россия Skype: enerjazzer
Дата: 11.09.09 07:52
Оценка: 10 (2) +1
Здравствуйте, Basil2, Вы писали:

J>>нет, это юнит-тесты, а не проверяльщик.


B>А юнит-тесты что, не проверяльщики разве?! (перефразируя День выборов

юнит-тесты проверяют то, что ты сам руками напишешь.

B>Авторегистрацию я не использую (мне нужны параметры командной строки), но кое-что по теме вроде бы есть в Boost.Progress.


параметры командной строки замечательно работают с авторегистрацией:
http://www.boost.org/doc/libs/1_40_0/libs/test/doc/html/utf/user-guide/test-organization/master-test-suite.html

BOOST_AUTO_TEST_CASE( run )
{
  std::cout << "argc: " << boost::unit_test::framework::master_test_suite().argc << std::endl;
  for ( int i=0; i<boost::unit_test::framework::master_test_suite().argc; ++i )
    std::cout << "argv["<<i<<"]: " << boost::unit_test::framework::master_test_suite().argv[i] << std::endl;
}
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Пара вопросов по boost::test
От: rogeeff  
Дата: 18.11.09 22:28
Оценка: 4 (1)
Здравствуйте, jazzer, Вы писали:

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


B>>1. Может ли программа, основанная на Boost Testing Facility, выдать ненулевой код завершения если в ней есть утечки памяти?

B>>(при использование "в лоб" буст пишет об утечках в лог, но программа завершается с кодом 0, т.е. как бы успешно)
J>нет, это юнит-тесты, а не проверяльщик.

Не совсем так. Действительно Boost.Test не является по большому счету leak checking facility. UTF использует функцию предоставляемую MS Runtime по проверке уткечек. Эта функция отрабатывает уже после выхода из main (иначе слишком много false positives). Соответственно код завершения поменять нельзя.

B>>2. Может ли Boost Testing Facility замерять время выполнения программы?

B>>(я покопался и не нашел, хотя логично было бы что да)
J>нету, по крайней мере если используешь авторегистрацию (потому что при авторегистрации не очень понятно, куда это запихивать).

Boost.Test does report test case execution time. You need to set log level to the test_suite level.

Gennadiy
Пара вопросов по boost::test
От: Basil2 Россия https://starostin.msk.ru
Дата: 08.09.09 13:10
Оценка:
1. Может ли программа, основанная на Boost Testing Facility, выдать ненулевой код завершения если в ней есть утечки памяти?
(при использование "в лоб" буст пишет об утечках в лог, но программа завершается с кодом 0, т.е. как бы успешно)

2. Может ли Boost Testing Facility замерять время выполнения программы?
(я покопался и не нашел, хотя логично было бы что да)
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re: Пара вопросов по boost::test
От: jazzer Россия Skype: enerjazzer
Дата: 08.09.09 14:49
Оценка:
Здравствуйте, Basil2, Вы писали:

B>1. Может ли программа, основанная на Boost Testing Facility, выдать ненулевой код завершения если в ней есть утечки памяти?

B>(при использование "в лоб" буст пишет об утечках в лог, но программа завершается с кодом 0, т.е. как бы успешно)
нет, это юнит-тесты, а не проверяльщик.

B>2. Может ли Boost Testing Facility замерять время выполнения программы?

B>(я покопался и не нашел, хотя логично было бы что да)
нету, по крайней мере если используешь авторегистрацию (потому что при авторегистрации не очень понятно, куда это запихивать).
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Пара вопросов по boost::test
От: Basil2 Россия https://starostin.msk.ru
Дата: 11.09.09 07:43
Оценка:
Здравствуйте, jazzer, Вы писали:

B>>1. Может ли программа, основанная на Boost Testing Facility, выдать ненулевой код завершения если в ней есть утечки памяти?

B>>(при использование "в лоб" буст пишет об утечках в лог, но программа завершается с кодом 0, т.е. как бы успешно)
J>нет, это юнит-тесты, а не проверяльщик.

А юнит-тесты что, не проверяльщики разве?! (перефразируя День выборов

B>>2. Может ли Boost Testing Facility замерять время выполнения программы?

J>нету, по крайней мере если используешь авторегистрацию (потому что при авторегистрации не очень понятно, куда это запихивать).
Авторегистрацию я не использую (мне нужны параметры командной строки), но кое-что по теме вроде бы есть в Boost.Progress.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[4]: Пара вопросов по boost::test
От: Basil2 Россия https://starostin.msk.ru
Дата: 15.09.09 14:05
Оценка:
Здравствуйте, jazzer, Вы писали:

B>>Авторегистрацию я не использую (мне нужны параметры командной строки), но кое-что по теме вроде бы есть в Boost.Progress.


J>параметры командной строки замечательно работают с авторегистрацией:

J>http://www.boost.org/doc/libs/1_40_0/libs/test/doc/html/utf/user-guide/test-organization/master-test-suite.html

Кстати да, оказывается работают — большое спасибо!
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[5]: Пара вопросов по boost::test
От: jazzer Россия Skype: enerjazzer
Дата: 15.09.09 14:46
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Кстати да, оказывается работают — большое спасибо!


Не проблем, приходи еще!

ЗЫ Для большого спасиба тут кнопочка специальная есть
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: Пара вопросов по boost::test
От: Basil2 Россия https://starostin.msk.ru
Дата: 17.09.09 08:44
Оценка:
Здравствуйте, jazzer, Вы писали:

J>ЗЫ Для большого спасиба тут кнопочка специальная есть


Намек понял, кнопочку заюзал!
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[3]: Пара вопросов по boost::test
От: jazzer Россия Skype: enerjazzer
Дата: 19.11.09 05:13
Оценка:
Здравствуйте, rogeeff, Вы писали:

B>>>2. Может ли Boost Testing Facility замерять время выполнения программы?

B>>>(я покопался и не нашел, хотя логично было бы что да)
J>>нету, по крайней мере если используешь авторегистрацию (потому что при авторегистрации не очень понятно, куда это запихивать).

R>Boost.Test does report test case execution time. You need to set log level to the test_suite level.


Ну она же будет замерять время исполнения всего теста, а не только того кусочка, что мне нужен...
Разве что вынести весь остальной код в инициализацию фикстуры (как это по-русски правильно произносить? ), а в тестах оставить только код, который интересно замерять...
Ну пока что легче обходиться локальными таймерами и простым сравнением прошедшего времени с эталоном.

А можно ли сделать так, чтобы тест автоматом прибивался, если играет дольше определенного времени?
Или такое уже есть?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: Пара вопросов по boost::test
От: rogeeff  
Дата: 19.11.09 16:45
Оценка:
Здравствуйте, jazzer, Вы писали:

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


B>>>>2. Может ли Boost Testing Facility замерять время выполнения программы?

B>>>>(я покопался и не нашел, хотя логично было бы что да)
J>>>нету, по крайней мере если используешь авторегистрацию (потому что при авторегистрации не очень понятно, куда это запихивать).

R>>Boost.Test does report test case execution time. You need to set log level to the test_suite level.


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

J>Разве что вынести весь остальной код в инициализацию фикстуры (как это по-русски правильно произносить? ), а в тестах оставить только код, который интересно замерять...
J>Ну пока что легче обходиться локальными таймерами и простым сравнением прошедшего времени с эталоном.

J>А можно ли сделать так, чтобы тест автоматом прибивался, если играет дольше определенного времени?

J>Или такое уже есть?

You can specify timeout for the manually registered test cases, but timeout implementation works at the moment only on *nux where SIGALRM is available.

Gennadiy
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.