summaryrefslogtreecommitdiff
path: root/Tests/LibC/TestLibCExec.cpp
blob: c5835499646e1afb03eaf57f3cf2d821cc21adf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * Copyright (c) 2018-2020, the SerenityOS developers.
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#include <LibTest/TestCase.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>

TEST_CASE(exec_should_not_search_current_directory)
{
    int fd = open("hax", O_CREAT | O_RDWR, 0755);
    ftruncate(fd, 0);
    close(fd);

    int rc = execlp("hax", "hax", nullptr);
    int saved_errno = errno;
    perror("execlp");
    unlink("hax");

    EXPECT_EQ(rc, -1);
    EXPECT_NE(saved_errno, ENOEXEC);
}