mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 09:39:10 -04:00
test/cxx: Test for exception from libstdc++ with -fno-exceptions
This commit is contained in:
parent
e0f7e196f2
commit
fdb369c76f
@ -1,5 +1,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <algorithm>
|
#include <numeric>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <string>
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "freertos/FreeRTOS.h"
|
#include "freertos/FreeRTOS.h"
|
||||||
@ -271,6 +273,22 @@ TEST_CASE("c++ exceptions emergency pool", "[cxx] [ignore]")
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else // !CONFIG_CXX_EXCEPTIONS
|
||||||
|
|
||||||
|
TEST_CASE("std::out_of_range exception when -fno-exceptions", "[cxx][reset=abort,SW_CPU_RESET]")
|
||||||
|
{
|
||||||
|
std::vector<int> v(10);
|
||||||
|
v.at(20) = 42;
|
||||||
|
TEST_FAIL_MESSAGE("Unreachable because we are aborted on the line above");
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("std::bad_alloc exception when -fno-exceptions", "[cxx][reset=abort,SW_CPU_RESET]")
|
||||||
|
{
|
||||||
|
std::string s = std::string(2000000000, 'a');
|
||||||
|
(void)s;
|
||||||
|
TEST_FAIL_MESSAGE("Unreachable because we are aborted on the line above");
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These test cases pull a lot of code from libstdc++ and are disabled for now
|
/* These test cases pull a lot of code from libstdc++ and are disabled for now
|
||||||
|
Loading…
x
Reference in New Issue
Block a user