summaryrefslogtreecommitdiffstats
path: root/mmc_updater/src/tests/TestUpdateScript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mmc_updater/src/tests/TestUpdateScript.cpp')
-rw-r--r--mmc_updater/src/tests/TestUpdateScript.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/mmc_updater/src/tests/TestUpdateScript.cpp b/mmc_updater/src/tests/TestUpdateScript.cpp
new file mode 100644
index 00000000..9e8c1392
--- /dev/null
+++ b/mmc_updater/src/tests/TestUpdateScript.cpp
@@ -0,0 +1,48 @@
+#include "TestUpdateScript.h"
+
+#include "TestUtils.h"
+#include "UpdateScript.h"
+
+#include <iostream>
+#include <algorithm>
+
+void TestUpdateScript::testV2Script()
+{
+ UpdateScript newFormat;
+ UpdateScript oldFormat;
+
+ newFormat.parse("file_list.xml");
+ oldFormat.parse("v2_file_list.xml");
+
+ TEST_COMPARE(newFormat.filesToInstall(),oldFormat.filesToInstall());
+ TEST_COMPARE(newFormat.filesToUninstall(),oldFormat.filesToUninstall());
+}
+
+void TestUpdateScript::testPermissions()
+{
+ UpdateScript script;
+ script.parse("file_list.xml");
+
+ for (std::vector<UpdateScriptFile>::const_iterator iter = script.filesToInstall().begin();
+ iter != script.filesToInstall().end();
+ iter++)
+ {
+ if (iter->isMainBinary)
+ {
+ TEST_COMPARE(iter->permissions,0755);
+ }
+ if (!iter->linkTarget.empty())
+ {
+ TEST_COMPARE(iter->permissions,0);
+ }
+ }
+}
+
+int main(int,char**)
+{
+ TestList<TestUpdateScript> tests;
+ tests.addTest(&TestUpdateScript::testV2Script);
+ tests.addTest(&TestUpdateScript::testPermissions);
+ return TestUtils::runTest(tests);
+}
+