tests: fixed OOM handling of unit tests to abort test

It's dangerous to continue to run the test when a memory alloc fails.
This commit is contained in:
Dan Fandrich 2017-04-30 10:54:26 +02:00
Родитель 65c6caacae
Коммит 8089dcfc5d
4 изменённых файлов: 6 добавлений и 4 удалений

Просмотреть файл

@ -29,7 +29,7 @@ CURL *easy;
static CURLcode unit_setup(void)
{
easy = curl_easy_init();
return CURLE_OK;
return easy ? CURLE_OK : CURLE_OUT_OF_MEMORY;
}
static void unit_stop(void)

Просмотреть файл

@ -45,7 +45,7 @@ static void unit_stop(void)
static char *getflagstr(int flags)
{
char *buf = malloc(256);
fail_unless(buf, "out of memory");
abort_unless(buf, "out of memory");
snprintf(buf, 256, "%s,%s,%s,%s",
((flags & SANITIZE_ALLOW_COLONS) ? "SANITIZE_ALLOW_COLONS" : ""),
((flags & SANITIZE_ALLOW_PATH) ? "SANITIZE_ALLOW_PATH" : ""),
@ -57,7 +57,7 @@ static char *getflagstr(int flags)
static char *getcurlcodestr(int cc)
{
char *buf = malloc(256);
fail_unless(buf, "out of memory");
abort_unless(buf, "out of memory");
snprintf(buf, 256, "%s (%d)",
(cc == SANITIZE_ERR_OK ? "SANITIZE_ERR_OK" :
cc == SANITIZE_ERR_BAD_ARGUMENT ? "SANITIZE_ERR_BAD_ARGUMENT" :

Просмотреть файл

@ -34,9 +34,10 @@ static void unit_stop(void)
}
UNITTEST_START
CURL *easy = curl_easy_init();
int len;
char *esc;
CURL *easy = curl_easy_init();
abort_unless(easy, "out of memory");
esc = curl_easy_escape(easy, "", -1);
fail_unless(esc == NULL, "negative string length can't work");

Просмотреть файл

@ -69,6 +69,7 @@ static int runawhile(struct Curl_easy *easy,
UNITTEST_START
{
struct Curl_easy *easy = curl_easy_init();
abort_unless(easy, "out of memory");
fail_unless(runawhile(easy, 41, 41, 40, 0) == 41,
"wrong low speed timeout");