diff options
author | Kelvin Zhang <zhangkelvin@google.com> | 2021-05-14 23:15:50 +0200 |
---|---|---|
committer | Kelvin Zhang <zhangkelvin@google.com> | 2021-05-19 22:58:02 +0200 |
commit | e63122520489f969280db2725fabd580def4f97c (patch) | |
tree | 9d371e32a721ab29ec0e1c860a46a1ea1dcf7b92 /install/spl_check_unittests.cpp | |
parent | Import translations. DO NOT MERGE ANYWHERE (diff) | |
download | android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.tar android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.tar.gz android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.tar.bz2 android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.tar.lz android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.tar.xz android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.tar.zst android_bootable_recovery-e63122520489f969280db2725fabd580def4f97c.zip |
Diffstat (limited to 'install/spl_check_unittests.cpp')
-rw-r--r-- | install/spl_check_unittests.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/install/spl_check_unittests.cpp b/install/spl_check_unittests.cpp new file mode 100644 index 000000000..709b69c9f --- /dev/null +++ b/install/spl_check_unittests.cpp @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <gtest/gtest.h> + +#include "install/spl_check.h" +#include "ota_metadata.pb.h" + +using build::tools::releasetools::OtaMetadata; +class SplCheckUnittest : public ::testing::Test { + public: + OtaMetadata metadata; +}; + +TEST_F(SplCheckUnittest, OlderSPL) { + metadata.set_spl_downgrade(false); + metadata.mutable_postcondition()->set_security_patch_level("2021-04-25"); + ASSERT_TRUE(ViolatesSPLDowngrade(metadata, "2021-05-01")); +} + +TEST_F(SplCheckUnittest, NewerSPL) { + metadata.set_spl_downgrade(false); + metadata.mutable_postcondition()->set_security_patch_level("2021-06-01"); + ASSERT_FALSE(ViolatesSPLDowngrade(metadata, "2021-05-05")); +} + +TEST_F(SplCheckUnittest, OlderSPLPermit) { + // If spl_downgrade is set to true, OTA should be permitted + metadata.set_spl_downgrade(true); + metadata.mutable_postcondition()->set_security_patch_level("2021-04-11"); + ASSERT_FALSE(ViolatesSPLDowngrade(metadata, "2021-05-11")); +}
\ No newline at end of file |