pytest_examples_cxx_rtti.py 810 B

1234567891011121314151617181920
  1. # SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
  2. # SPDX-License-Identifier: Unlicense OR CC0-1.0
  3. import pytest
  4. from pytest_embedded_idf.dut import IdfDut
  5. @pytest.mark.supported_targets
  6. @pytest.mark.generic
  7. def test_cpp_rtti_example(dut: IdfDut) -> None:
  8. dut.expect_exact('Type name of std::cout is: std::ostream')
  9. dut.expect_exact('Type name of std::cin is: std::istream')
  10. dut.expect_exact('Type of app_main is: void ()')
  11. dut.expect_exact('Type name of a lambda function is: app_main::{lambda(int, int)#1}')
  12. dut.expect_exact('dynamic_cast<DerivedA*>(obj)=0')
  13. dut.expect_exact('dynamic_cast<DerivedB*>(obj)=0x')
  14. dut.expect_exact('dynamic_cast<DerivedB*>(obj)=0')
  15. dut.expect_exact('dynamic_cast<DerivedA*>(obj)=0x')
  16. dut.expect_exact('Example finished.')