diff options
| author | Tom Cherry <tomcherry@google.com> | 2017-04-12 14:27:51 -0700 |
|---|---|---|
| committer | Tom Cherry <tomcherry@google.com> | 2017-04-12 16:36:44 -0700 |
| commit | 060b74baad7c366cb6c74042bf307f1548a8331f (patch) | |
| tree | aaeb383886ad59150ca8acab19725c392d8f2389 /init/util_test.cpp | |
| parent | 780a71e779e8e41681c3f0ee12d7f559dc52b7a7 (diff) | |
| download | system_core-060b74baad7c366cb6c74042bf307f1548a8331f.tar.gz system_core-060b74baad7c366cb6c74042bf307f1548a8331f.tar.bz2 system_core-060b74baad7c366cb6c74042bf307f1548a8331f.zip | |
ueventd: convert mkdir_recursive() to std::string
Bug: 36250207
Test: Boot bullhead
Test: Boot sailfish, observe no boot time regression
Test: init unit tests
Change-Id: I5a2ac369d846e044230b709fd07eb21ad12d47bb
Diffstat (limited to 'init/util_test.cpp')
| -rw-r--r-- | init/util_test.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/init/util_test.cpp b/init/util_test.cpp index 0c0350a60..b8b409a1a 100644 --- a/init/util_test.cpp +++ b/init/util_test.cpp @@ -120,3 +120,39 @@ TEST(util, decode_uid) { EXPECT_EQ(UINT_MAX, decode_uid("toot")); EXPECT_EQ(123U, decode_uid("123")); } + +TEST(util, is_dir) { + TemporaryDir test_dir; + EXPECT_TRUE(is_dir(test_dir.path)); + TemporaryFile tf; + EXPECT_FALSE(is_dir(tf.path)); +} + +// sehandle is needed for make_dir() +// TODO: Remove once sehandle is encapsulated +#include <selinux/label.h> +selabel_handle* sehandle; + +TEST(util, mkdir_recursive) { + TemporaryDir test_dir; + std::string path = android::base::StringPrintf("%s/three/directories/deep", test_dir.path); + EXPECT_EQ(0, mkdir_recursive(path, 0755)); + std::string path1 = android::base::StringPrintf("%s/three", test_dir.path); + EXPECT_TRUE(is_dir(path1.c_str())); + std::string path2 = android::base::StringPrintf("%s/three/directories", test_dir.path); + EXPECT_TRUE(is_dir(path1.c_str())); + std::string path3 = android::base::StringPrintf("%s/three/directories/deep", test_dir.path); + EXPECT_TRUE(is_dir(path1.c_str())); +} + +TEST(util, mkdir_recursive_extra_slashes) { + TemporaryDir test_dir; + std::string path = android::base::StringPrintf("%s/three////directories/deep//", test_dir.path); + EXPECT_EQ(0, mkdir_recursive(path, 0755)); + std::string path1 = android::base::StringPrintf("%s/three", test_dir.path); + EXPECT_TRUE(is_dir(path1.c_str())); + std::string path2 = android::base::StringPrintf("%s/three/directories", test_dir.path); + EXPECT_TRUE(is_dir(path1.c_str())); + std::string path3 = android::base::StringPrintf("%s/three/directories/deep", test_dir.path); + EXPECT_TRUE(is_dir(path1.c_str())); +} |
