filmov
tv
CppCon 2017: Viktor Kirilov “Mix Tests and Production Code With Doctest...”
![preview_player](https://i.ytimg.com/vi/eH1CxEC29l8/maxresdefault.jpg)
Показать описание
Mix Tests and Production Code With Doctest - Implementing and Using the Fastest Modern C++ Testing Framework
—
—
Not a typical talk about testing. Here are some quotes from the Program Committee about it:
"Seeing a talk proposal about a new unit test framework made me quite skeptical. But then I looked at slides from one of the previous talks, and this looks very cool."
"I think others will be just as interested; this is just the kind of talk we want at the conference."
"Doing interesting and meaningful things in header-only libraries can be a fascinating topic, and this presentation appears to address some very interesting learnings from such an experience."
"The presentation is clearly well-prepared, having been given previously and iterated upon."
doctest is new to the C++ testing framework scene but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other such feature-rich alternatives.
It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code by providing a fast, transparent and flexible test runner with a clean interface which can be removed entirely from the binary along with all tests for release builds of the software that are shipped to customers.
The framework can be used like any other even if you don't want/need to mix production code and tests - the list of features doesn't stop growing.
By attending this talk you will get familiar with the framework and see how it's different from all the rest.
To make things more interesting the presentation will not just focus on using the framework, but will delve into useful and generally applicable C++ techniques from its implementation for more than half the session length which can be applied in different areas of your work - like how to:
register code automatically before the program enters main()
decompose expressions with templates
translate exceptions - type-erased user-registerable translators
write a header-only library which compiles very very fast not at the cost of runtime performance
implement assert macros that don't result in code bloat
deal with warnings outside of the framework header - generated by code expanded from macros
loop a void owl once with while((void)0,0)
—
Viktor Kirilov: Bulgaria
With 3.5 years of professional experience with C++ in the games and VFX industries, Viktor currently spends his time writing open source software (since 01.01.2016). His interests are the making of games and game engines, high performance code, data oriented design, minimizing friction and incorporating good practices in the software development process such as testing and the use of modern tools like static analysis or instrumentation. Viktor is from Sofia, Bulgaria and his profession is his hobby.
—
*-----*
*-----*
—
—
Not a typical talk about testing. Here are some quotes from the Program Committee about it:
"Seeing a talk proposal about a new unit test framework made me quite skeptical. But then I looked at slides from one of the previous talks, and this looks very cool."
"I think others will be just as interested; this is just the kind of talk we want at the conference."
"Doing interesting and meaningful things in header-only libraries can be a fascinating topic, and this presentation appears to address some very interesting learnings from such an experience."
"The presentation is clearly well-prepared, having been given previously and iterated upon."
doctest is new to the C++ testing framework scene but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other such feature-rich alternatives.
It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code by providing a fast, transparent and flexible test runner with a clean interface which can be removed entirely from the binary along with all tests for release builds of the software that are shipped to customers.
The framework can be used like any other even if you don't want/need to mix production code and tests - the list of features doesn't stop growing.
By attending this talk you will get familiar with the framework and see how it's different from all the rest.
To make things more interesting the presentation will not just focus on using the framework, but will delve into useful and generally applicable C++ techniques from its implementation for more than half the session length which can be applied in different areas of your work - like how to:
register code automatically before the program enters main()
decompose expressions with templates
translate exceptions - type-erased user-registerable translators
write a header-only library which compiles very very fast not at the cost of runtime performance
implement assert macros that don't result in code bloat
deal with warnings outside of the framework header - generated by code expanded from macros
loop a void owl once with while((void)0,0)
—
Viktor Kirilov: Bulgaria
With 3.5 years of professional experience with C++ in the games and VFX industries, Viktor currently spends his time writing open source software (since 01.01.2016). His interests are the making of games and game engines, high performance code, data oriented design, minimizing friction and incorporating good practices in the software development process such as testing and the use of modern tools like static analysis or instrumentation. Viktor is from Sofia, Bulgaria and his profession is his hobby.
—
*-----*
*-----*
Комментарии