OVMS3-idf/examples/cxx/rtti/example_test.py
Jakob Hasse 31edd48b43 C++: Moved all C++ examples to own folder
* moved C++ examples to a new cxx folder in
  examples
* added experimental C++ component
* added ESPException class to the C++ experimental
  component
* added test cases for ESPException and
  corresponding test macros
2020-02-18 12:48:57 +08:00

25 lines
803 B
Python

from __future__ import print_function
import ttfw_idf
@ttfw_idf.idf_example_test(env_tag='Example_WIFI')
def test_cpp_rtti_example(env, extra_data):
dut = env.get_dut('cpp_rtti', 'examples/system/cpp_rtti', dut_class=ttfw_idf.ESP32DUT)
dut.start_app()
dut.expect('Type name of std::cout is: std::ostream')
dut.expect('Type name of std::cin is: std::istream')
dut.expect('Type of app_main is: void ()')
dut.expect('Type name of a lambda function is: app_main::{lambda(int, int)#1}')
dut.expect('dynamic_cast<DerivedA*>(obj)=0')
dut.expect('dynamic_cast<DerivedB*>(obj)=0x')
dut.expect('dynamic_cast<DerivedB*>(obj)=0')
dut.expect('dynamic_cast<DerivedA*>(obj)=0x')
dut.expect('Example finished.')
if __name__ == '__main__':
test_cpp_rtti_example()