aboutsummaryrefslogtreecommitdiffstats
path: root/tests/system_properties_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/system_properties_test.cpp')
-rw-r--r--tests/system_properties_test.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/system_properties_test.cpp b/tests/system_properties_test.cpp
index 23d0cad3b..7415b3ca1 100644
--- a/tests/system_properties_test.cpp
+++ b/tests/system_properties_test.cpp
@@ -253,10 +253,21 @@ TEST(properties, __system_property_find_nth) {
ASSERT_EQ(0, __system_property_add("other_property", 14, "value2", 6));
ASSERT_EQ(0, __system_property_add("property_other", 14, "value3", 6));
- // This method is no longer supported and should result in abort
- ASSERT_EXIT(__system_property_find_nth(0), testing::KilledBySignal(SIGABRT),
- "__system_property_find_nth is not supported since Android O,"
- " please use __system_property_foreach instead.");
+ char name[PROP_NAME_MAX];
+ char value[PROP_VALUE_MAX];
+ EXPECT_EQ(6, __system_property_read(__system_property_find_nth(0), name, value));
+ EXPECT_STREQ("property", name);
+ EXPECT_STREQ("value1", value);
+ EXPECT_EQ(6, __system_property_read(__system_property_find_nth(1), name, value));
+ EXPECT_STREQ("other_property", name);
+ EXPECT_STREQ("value2", value);
+ EXPECT_EQ(6, __system_property_read(__system_property_find_nth(2), name, value));
+ EXPECT_STREQ("property_other", name);
+ EXPECT_STREQ("value3", value);
+
+ for (unsigned i = 3; i < 1024; ++i) {
+ ASSERT_TRUE(__system_property_find_nth(i) == nullptr);
+ }
#else // __BIONIC__
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif // __BIONIC__