Added AuthorizationSet push_back method that takes a set.
This is needed for some key refactoring work. Also did some
AuthorizationSet refactoring here.
Change-Id: I681a2793838c1d68b22dc2a39258c30d7ab117bc
diff --git a/authorization_set_test.cpp b/authorization_set_test.cpp
index 1358e23..8ba12f5 100644
--- a/authorization_set_test.cpp
+++ b/authorization_set_test.cpp
@@ -408,6 +408,27 @@
EXPECT_EQ(AuthorizationSet::OK, growable.is_valid());
}
+TEST(Growable, PushBackSets) {
+ keymaster_key_param_t params[] = {
+ Authorization(TAG_PURPOSE, KM_PURPOSE_SIGN),
+ Authorization(TAG_PURPOSE, KM_PURPOSE_VERIFY),
+ Authorization(TAG_ALGORITHM, KM_ALGORITHM_RSA),
+ Authorization(TAG_USER_ID, 7),
+ Authorization(TAG_USER_AUTH_ID, 8),
+ Authorization(TAG_APPLICATION_ID, "my_app", 6),
+ Authorization(TAG_KEY_SIZE, 256),
+ Authorization(TAG_AUTH_TIMEOUT, 300),
+ };
+ AuthorizationSet set1(params, array_length(params));
+ AuthorizationSet set2(params, array_length(params));
+
+ AuthorizationSet combined;
+ EXPECT_TRUE(combined.push_back(set1));
+ EXPECT_TRUE(combined.push_back(set2));
+ EXPECT_EQ(array_length(params) * 2, combined.size());
+ EXPECT_EQ(12U, combined.indirect_size());
+}
+
TEST(GetValue, GetInt) {
keymaster_key_param_t params[] = {
Authorization(TAG_PURPOSE, KM_PURPOSE_SIGN),