// Copyright 2017 The Fuchsia Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include #include #include #include #include #include #include #include // These tests poke at some "global" behavior of fdio // that are not easily tested through filesystem tests, // since they (for example) rely on a global root. // // For more comprehensive filesystem tests, refer // to utest/fs. bool stat_test(void) { BEGIN_TEST; struct stat buf; ASSERT_EQ(stat("/", &buf), 0, ""); ASSERT_EQ(stat("//", &buf), 0, ""); ASSERT_EQ(stat("///", &buf), 0, ""); ASSERT_EQ(stat("/tmp", &buf), 0, ""); ASSERT_EQ(stat("//tmp", &buf), 0, ""); ASSERT_EQ(stat("./", &buf), 0, ""); ASSERT_EQ(stat("./", &buf), 0, ""); ASSERT_EQ(stat(".", &buf), 0, ""); END_TEST; } bool remove_test(void) { BEGIN_TEST; ASSERT_EQ(remove("/"), -1, ""); ASSERT_EQ(errno, EBUSY, ""); ASSERT_EQ(rmdir("/"), -1, ""); ASSERT_EQ(errno, EBUSY, ""); END_TEST; } BEGIN_TEST_CASE(fdio_root_test) RUN_TEST(stat_test) RUN_TEST(remove_test) END_TEST_CASE(fdio_root_test)