Serenity Operating System
at master 31 lines 875 B view raw
1/* 2 * Copyright (c) 2021, Gunnar Beutner <gbeutner@serenityos.org> 3 * Copyright (c) 2022, Daniel Bertalan <dani@danielbertalan.dev> 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#include <LibTest/TestCase.h> 9#include <errno.h> 10#include <string.h> 11 12TEST_CASE(strerror_r_basic) 13{ 14 EXPECT_EQ(strerror_r(1000, nullptr, 0), EINVAL); 15 EXPECT_EQ(strerror_r(EFAULT, nullptr, 0), ERANGE); 16 char buf[64]; 17 EXPECT_EQ(strerror_r(EFAULT, buf, sizeof(buf)), 0); 18 EXPECT_EQ(strcmp(buf, "Bad address"), 0); 19} 20 21TEST_CASE(strtok_r_delimiters_only) 22{ 23 char dummy[] = "a;"; 24 char input[] = ";;;;;;"; 25 char* saved_str = dummy; 26 27 EXPECT_EQ(strtok_r(input, ";", &saved_str), nullptr); 28 EXPECT_EQ(strtok_r(nullptr, ";", &saved_str), nullptr); 29 // The string to which `saved_str` initially points to shouldn't be modified. 30 EXPECT_EQ(strcmp(dummy, "a;"), 0); 31}