This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "signature.h"
SIGNATURE_CHECK (renameat, int, (int, char const *, int, char const *));
#include "signature.h"
SIGNATURE_CHECK (renameat, int, (int, char const *, int, char const *));
/* Test basic rename functionality, using current directory. */
result = test_rename (do_rename, false);
/* Test basic rename functionality, using current directory. */
result = test_rename (do_rename, false);
dfd = creat (BASE "00", 0600);
ASSERT (0 <= dfd);
ASSERT (close (dfd) == 0);
dfd = creat (BASE "00", 0600);
ASSERT (0 <= dfd);
ASSERT (close (dfd) == 0);
errno = 0;
ASSERT (renameat (dfd, BASE "sub2", dfd, BASE "sub1/.") == -1);
ASSERT (errno == EINVAL || errno == EISDIR || errno == EBUSY
errno = 0;
ASSERT (renameat (dfd, BASE "sub2", dfd, BASE "sub1/.") == -1);
ASSERT (errno == EINVAL || errno == EISDIR || errno == EBUSY
errno = 0;
ASSERT (renameat (dfd, BASE "sub2/.", dfd, BASE "sub1") == -1);
errno = 0;
ASSERT (renameat (dfd, BASE "sub2/.", dfd, BASE "sub1") == -1);
errno = 0;
ASSERT (renameat (dfd, BASE "17", dfd, BASE "sub1") == -1);
ASSERT (errno == EISDIR);
errno = 0;
ASSERT (renameat (dfd, BASE "17", dfd, BASE "sub1") == -1);
ASSERT (errno == EISDIR);