mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 05:42:29 +00:00
Make some systemic improvements
- add vdso dump utility - tests now log stack usage - rename g_ftrace to __ftrace - make internal spinlocks go faster - add conformant c11 atomics library - function tracing now logs stack usage - make function call tracing thread safe - add -X unsecure (no ssl) mode to redbean - munmap() has more consistent behavior now - pacify fsync() calls on python unit tests - make --strace flag work better in redbean - start minimizing and documenting compiler flags
This commit is contained in:
parent
c6bbca55e9
commit
9208c83f7a
141 changed files with 1948 additions and 1411 deletions
|
@ -34,30 +34,31 @@ void SetUp(void) {
|
|||
}
|
||||
|
||||
TEST(mkdir, testNothingExists_ENOENT) {
|
||||
EXPECT_EQ(-1, mkdir("yo/yo/yo", 0755));
|
||||
EXPECT_EQ(ENOENT, errno);
|
||||
EXPECT_SYS(ENOENT, -1, mkdir("yo/yo/yo", 0755));
|
||||
}
|
||||
|
||||
TEST(mkdir, testDirectoryComponentIsFile_ENOTDIR) {
|
||||
EXPECT_NE(-1, touch("yo", 0644));
|
||||
EXPECT_EQ(-1, mkdir("yo/yo/yo", 0755));
|
||||
EXPECT_EQ(ENOTDIR, errno);
|
||||
EXPECT_SYS(0, 0, touch("yo", 0644));
|
||||
EXPECT_SYS(ENOTDIR, -1, mkdir("yo/yo/yo", 0755));
|
||||
}
|
||||
|
||||
TEST(mkdir, testPathIsFile_EEXIST) {
|
||||
EXPECT_NE(-1, mkdir("yo", 0755));
|
||||
EXPECT_NE(-1, mkdir("yo/yo", 0755));
|
||||
EXPECT_NE(-1, touch("yo/yo/yo", 0644));
|
||||
EXPECT_EQ(-1, mkdir("yo/yo/yo", 0755));
|
||||
EXPECT_EQ(EEXIST, errno);
|
||||
EXPECT_SYS(0, 0, mkdir("yo", 0755));
|
||||
EXPECT_SYS(0, 0, mkdir("yo/yo", 0755));
|
||||
EXPECT_SYS(0, 0, touch("yo/yo/yo", 0644));
|
||||
EXPECT_SYS(EEXIST, -1, mkdir("yo/yo/yo", 0755));
|
||||
}
|
||||
|
||||
TEST(mkdir, testPathIsDirectory_EEXIST) {
|
||||
EXPECT_NE(-1, mkdir("yo", 0755));
|
||||
EXPECT_NE(-1, mkdir("yo/yo", 0755));
|
||||
EXPECT_NE(-1, mkdir("yo/yo/yo", 0755));
|
||||
EXPECT_EQ(-1, mkdir("yo/yo/yo", 0755));
|
||||
EXPECT_EQ(EEXIST, errno);
|
||||
EXPECT_SYS(0, 0, mkdir("yo", 0755));
|
||||
EXPECT_SYS(0, 0, mkdir("yo/yo", 0755));
|
||||
EXPECT_SYS(0, 0, mkdir("yo/yo/yo", 0755));
|
||||
EXPECT_SYS(EEXIST, -1, mkdir("yo/yo/yo", 0755));
|
||||
}
|
||||
|
||||
TEST(makedirs, pathExists_isSuccess) {
|
||||
EXPECT_SYS(0, 0, makedirs("foo/bar", 0755));
|
||||
EXPECT_SYS(0, 0, makedirs("foo/bar", 0755));
|
||||
}
|
||||
|
||||
TEST(mkdir, enametoolong) {
|
||||
|
@ -69,19 +70,17 @@ TEST(mkdir, enametoolong) {
|
|||
EXPECT_SYS(ENAMETOOLONG, -1, mkdir(s, 0644));
|
||||
}
|
||||
|
||||
TEST(makedirs, testEmptyString_EEXIST) {
|
||||
EXPECT_EQ(-1, mkdir("", 0755));
|
||||
EXPECT_EQ(ENOENT, errno);
|
||||
TEST(makedirs, testEmptyString_ENOENT) {
|
||||
EXPECT_SYS(ENOENT, -1, mkdir("", 0755));
|
||||
}
|
||||
|
||||
TEST(mkdirat, testRelativePath_opensRelativeToDirFd) {
|
||||
int dirfd;
|
||||
ASSERT_NE(-1, mkdir("foo", 0755));
|
||||
ASSERT_NE(-1, (dirfd = open("foo", O_RDONLY | O_DIRECTORY)));
|
||||
EXPECT_NE(-1, mkdirat(dirfd, "bar", 0755));
|
||||
ASSERT_SYS(0, 0, mkdir("foo", 0755));
|
||||
ASSERT_SYS(0, 3, (dirfd = open("foo", O_RDONLY | O_DIRECTORY)));
|
||||
EXPECT_SYS(0, 0, mkdirat(dirfd, "bar", 0755));
|
||||
EXPECT_TRUE(isdirectory("foo/bar"));
|
||||
EXPECT_EQ(-1, makedirs("", 0755));
|
||||
EXPECT_NE(-1, close(dirfd));
|
||||
EXPECT_SYS(0, 0, close(dirfd));
|
||||
}
|
||||
|
||||
TEST(mkdir, longname) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue