updater: Remove some obsoleted functions for file-based OTA.

This CL removes the updater support for delete(), symlink(), rename(),
set_metadata() and set_metadata_recursive(). Such functions have been
removed from the generation script in commit
f388104eaacd05cfa075d6478369e1d0df5ddbf3 (platform/build).

Note: This CL also removes delete_recursive() which seems to have never
been supported in generation script.

Bug: 35853185
Test: recovery_component_test passes.
Change-Id: I51e1ec946fa73761118fa1eaa082423df6d588e9
This commit is contained in:
Tao Bao
2017-03-13 10:02:08 -07:00
parent a7211b3c16
commit 63d786cf22
2 changed files with 0 additions and 475 deletions
-113
View File
@@ -161,119 +161,6 @@ TEST_F(UpdaterTest, file_getprop) {
expect("", script6.c_str(), kNoCause);
}
TEST_F(UpdaterTest, delete) {
// Delete none.
expect("0", "delete()", kNoCause);
expect("0", "delete(\"/doesntexist\")", kNoCause);
expect("0", "delete(\"/doesntexist1\", \"/doesntexist2\")", kNoCause);
expect("0", "delete(\"/doesntexist1\", \"/doesntexist2\", \"/doesntexist3\")", kNoCause);
// Delete one file.
TemporaryFile temp_file1;
ASSERT_TRUE(android::base::WriteStringToFile("abc", temp_file1.path));
std::string script1("delete(\"" + std::string(temp_file1.path) + "\")");
expect("1", script1.c_str(), kNoCause);
// Delete two files.
TemporaryFile temp_file2;
ASSERT_TRUE(android::base::WriteStringToFile("abc", temp_file2.path));
TemporaryFile temp_file3;
ASSERT_TRUE(android::base::WriteStringToFile("abc", temp_file3.path));
std::string script2("delete(\"" + std::string(temp_file2.path) + "\", \"" +
std::string(temp_file3.path) + "\")");
expect("2", script2.c_str(), kNoCause);
// Delete already deleted files.
expect("0", script2.c_str(), kNoCause);
// Delete one out of three.
TemporaryFile temp_file4;
ASSERT_TRUE(android::base::WriteStringToFile("abc", temp_file4.path));
std::string script3("delete(\"/doesntexist1\", \"" + std::string(temp_file4.path) +
"\", \"/doesntexist2\")");
expect("1", script3.c_str(), kNoCause);
}
TEST_F(UpdaterTest, rename) {
// rename() expects two arguments.
expect(nullptr, "rename()", kArgsParsingFailure);
expect(nullptr, "rename(\"arg1\")", kArgsParsingFailure);
expect(nullptr, "rename(\"arg1\", \"arg2\", \"arg3\")", kArgsParsingFailure);
// src_name or dst_name cannot be empty.
expect(nullptr, "rename(\"\", \"arg2\")", kArgsParsingFailure);
expect(nullptr, "rename(\"arg1\", \"\")", kArgsParsingFailure);
// File doesn't exist (both of src and dst).
expect(nullptr, "rename(\"/doesntexist\", \"/doesntexisteither\")" , kFileRenameFailure);
// Can't create parent directory.
TemporaryFile temp_file1;
ASSERT_TRUE(android::base::WriteStringToFile("abc", temp_file1.path));
std::string script1("rename(\"" + std::string(temp_file1.path) + "\", \"/proc/0/file1\")");
expect(nullptr, script1.c_str(), kFileRenameFailure);
// Rename.
TemporaryFile temp_file2;
std::string script2("rename(\"" + std::string(temp_file1.path) + "\", \"" +
std::string(temp_file2.path) + "\")");
expect(temp_file2.path, script2.c_str(), kNoCause);
// Already renamed.
expect(temp_file2.path, script2.c_str(), kNoCause);
// Parents create successfully.
TemporaryFile temp_file3;
TemporaryDir td;
std::string temp_dir(td.path);
std::string dst_file = temp_dir + "/aaa/bbb/a.txt";
std::string script3("rename(\"" + std::string(temp_file3.path) + "\", \"" + dst_file + "\")");
expect(dst_file.c_str(), script3.c_str(), kNoCause);
// Clean up the temp files under td.
ASSERT_EQ(0, unlink(dst_file.c_str()));
ASSERT_EQ(0, rmdir((temp_dir + "/aaa/bbb").c_str()));
ASSERT_EQ(0, rmdir((temp_dir + "/aaa").c_str()));
}
TEST_F(UpdaterTest, symlink) {
// symlink expects 1+ argument.
expect(nullptr, "symlink()", kArgsParsingFailure);
// symlink should fail if src is an empty string.
TemporaryFile temp_file1;
std::string script1("symlink(\"" + std::string(temp_file1.path) + "\", \"\")");
expect(nullptr, script1.c_str(), kSymlinkFailure);
std::string script2("symlink(\"" + std::string(temp_file1.path) + "\", \"src1\", \"\")");
expect(nullptr, script2.c_str(), kSymlinkFailure);
// symlink failed to remove old src.
std::string script3("symlink(\"" + std::string(temp_file1.path) + "\", \"/proc\")");
expect(nullptr, script3.c_str(), kSymlinkFailure);
// symlink can create symlinks.
TemporaryFile temp_file;
std::string content = "magicvalue";
ASSERT_TRUE(android::base::WriteStringToFile(content, temp_file.path));
TemporaryDir td;
std::string src1 = std::string(td.path) + "/symlink1";
std::string src2 = std::string(td.path) + "/symlink2";
std::string script4("symlink(\"" + std::string(temp_file.path) + "\", \"" +
src1 + "\", \"" + src2 + "\")");
expect("t", script4.c_str(), kNoCause);
// Verify the created symlinks.
struct stat sb;
ASSERT_TRUE(lstat(src1.c_str(), &sb) == 0 && S_ISLNK(sb.st_mode));
ASSERT_TRUE(lstat(src2.c_str(), &sb) == 0 && S_ISLNK(sb.st_mode));
// Clean up the leftovers.
ASSERT_EQ(0, unlink(src1.c_str()));
ASSERT_EQ(0, unlink(src2.c_str()));
}
TEST_F(UpdaterTest, package_extract_dir) {
// package_extract_dir expects 2 arguments.
expect(nullptr, "package_extract_dir()", kArgsParsingFailure);