mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-16 11:21:18 +03:00
Test: fixing itoa implementation and clean-up of tests and test Makefile (#8531)
* Test: fixing itoa implementation, clean-up of tests and test runner Update itoa to be the same as newlib, fixing edgecase of abs(INT_MIN) Update WString.cpp:toString() integer conversions to use noniso funcs Remove legacy gcc versions from Makefile and allow overrides Don't fallback to c11 and c++11, source cannot support that * CXX and CC are make predefined values, assuming ?= does not work (?)
This commit is contained in:
@ -13,12 +13,14 @@
|
||||
all copies or substantial portions of the Software.
|
||||
*/
|
||||
|
||||
#include <catch.hpp>
|
||||
#include <string.h>
|
||||
#include <WString.h>
|
||||
#include <limits.h>
|
||||
#include <ArduinoCatch.hpp>
|
||||
#include <StreamString.h>
|
||||
|
||||
#include <string>
|
||||
#include <cstring>
|
||||
#include <limits>
|
||||
#include <climits>
|
||||
|
||||
TEST_CASE("String::move", "[core][String]")
|
||||
{
|
||||
const char buffer[] = "this string goes over the sso limit";
|
||||
@ -117,8 +119,10 @@ TEST_CASE("String concantenation", "[core][String]")
|
||||
str += "bcde";
|
||||
str += str;
|
||||
str += 987;
|
||||
str += (int)INT_MAX;
|
||||
str += (int)INT_MIN;
|
||||
REQUIRE(str == "abcdeabcde987");
|
||||
str += std::numeric_limits<int>::max();
|
||||
REQUIRE(str == "abcdeabcde9872147483647");
|
||||
str += std::numeric_limits<int>::min();
|
||||
REQUIRE(str == "abcdeabcde9872147483647-2147483648");
|
||||
str += (unsigned char)69;
|
||||
REQUIRE(str == "abcdeabcde9872147483647-214748364869");
|
||||
|
Reference in New Issue
Block a user