diff options
-rw-r--r-- | libs/binder/Android.bp | 2 | ||||
-rw-r--r-- | libs/binder/tests/Android.bp | 25 | ||||
-rw-r--r-- | libs/binder/tests/binderRpcTestTrusty.cpp | 105 | ||||
-rw-r--r-- | libs/binder/tests/binderRpcUniversalTests.cpp | 20 | ||||
-rw-r--r-- | libs/binder/trusty/binderRpcTest/manifest.json | 6 | ||||
-rw-r--r-- | libs/binder/trusty/binderRpcTest/rules.mk | 35 | ||||
-rw-r--r-- | libs/binder/trusty/build-config-usertests | 19 | ||||
-rw-r--r-- | libs/binder/trusty/include_mock/trusty-gtest.h | 21 | ||||
-rw-r--r-- | libs/binder/trusty/include_mock/trusty_ipc.h | 2 | ||||
-rw-r--r-- | libs/binder/trusty/usertests-inc.mk | 2 |
10 files changed, 10 insertions, 227 deletions
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp index d027a4fc69..cebaf17937 100644 --- a/libs/binder/Android.bp +++ b/libs/binder/Android.bp @@ -215,8 +215,6 @@ cc_library_headers { cc_defaults { name: "trusty_mock_defaults", - vendor_available: true, - host_supported: true, header_libs: [ "trusty_mock_headers", diff --git a/libs/binder/tests/Android.bp b/libs/binder/tests/Android.bp index 458dff3523..7006f87314 100644 --- a/libs/binder/tests/Android.bp +++ b/libs/binder/tests/Android.bp @@ -371,30 +371,6 @@ cc_binary { } cc_test { - name: "binderRpcTest_on_trusty_mock", - defaults: [ - "trusty_mock_defaults", - ], - - srcs: [ - "binderRpcUniversalTests.cpp", - "binderRpcTestCommon.cpp", - "binderRpcTestTrusty.cpp", - ], - - shared_libs: [ - "libbinder_on_trusty_mock", - "libbase", - "libutils", - "libcutils", - ], - - static_libs: [ - "binderRpcTestIface-cpp", - ], -} - -cc_test { name: "binderRpcTest", defaults: [ "binderRpcTest_defaults", @@ -406,7 +382,6 @@ cc_test { required: [ "libbinder_on_trusty_mock", "binderRpcTestService_on_trusty_mock", - "binderRpcTest_on_trusty_mock", ], } diff --git a/libs/binder/tests/binderRpcTestTrusty.cpp b/libs/binder/tests/binderRpcTestTrusty.cpp deleted file mode 100644 index b3bb5ebda7..0000000000 --- a/libs/binder/tests/binderRpcTestTrusty.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ - -#define LOG_TAG "binderRpcTest" - -#include <android-base/stringprintf.h> -#include <binder/RpcTransportTipcTrusty.h> -#include <trusty-gtest.h> -#include <trusty_ipc.h> - -#include "binderRpcTestFixture.h" - -namespace android { - -// Destructors need to be defined, even if pure virtual -ProcessSession::~ProcessSession() {} - -class TrustyProcessSession : public ProcessSession { -public: - ~TrustyProcessSession() override {} - - void setCustomExitStatusCheck(std::function<void(int wstatus)> /*f*/) override { - LOG_ALWAYS_FATAL("setCustomExitStatusCheck() not supported"); - } - - void terminate() override { LOG_ALWAYS_FATAL("terminate() not supported"); } -}; - -std::string BinderRpc::PrintParamInfo(const testing::TestParamInfo<ParamType>& info) { - auto [type, security, clientVersion, serverVersion, singleThreaded, noKernel] = info.param; - auto ret = PrintToString(type) + "_clientV" + std::to_string(clientVersion) + "_serverV" + - std::to_string(serverVersion); - if (singleThreaded) { - ret += "_single_threaded"; - } - if (noKernel) { - ret += "_no_kernel"; - } - return ret; -} - -// This creates a new process serving an interface on a certain number of -// threads. -std::unique_ptr<ProcessSession> BinderRpc::createRpcTestSocketServerProcessEtc( - const BinderRpcOptions& options) { - LOG_ALWAYS_FATAL_IF(options.numIncomingConnections != 0, - "Non-zero incoming connections %zu on Trusty", - options.numIncomingConnections); - - uint32_t clientVersion = std::get<2>(GetParam()); - uint32_t serverVersion = std::get<3>(GetParam()); - - auto ret = std::make_unique<TrustyProcessSession>(); - - status_t status; - for (size_t i = 0; i < options.numSessions; i++) { - auto factory = android::RpcTransportCtxFactoryTipcTrusty::make(); - auto session = android::RpcSession::make(std::move(factory)); - - EXPECT_TRUE(session->setProtocolVersion(clientVersion)); - session->setMaxOutgoingThreads(options.numOutgoingConnections); - session->setFileDescriptorTransportMode(options.clientFileDescriptorTransportMode); - - status = session->setupPreconnectedClient({}, [&]() { - auto port = trustyIpcPort(serverVersion); - int rc = connect(port.c_str(), IPC_CONNECT_WAIT_FOR_PORT); - LOG_ALWAYS_FATAL_IF(rc < 0, "Failed to connect to service: %d", rc); - return base::unique_fd(rc); - }); - if (options.allowConnectFailure && status != OK) { - ret->sessions.clear(); - break; - } - LOG_ALWAYS_FATAL_IF(status != OK, "Failed to connect to service: %s", - statusToString(status).c_str()); - ret->sessions.push_back({session, session->getRootObject()}); - } - - return ret; -} - -INSTANTIATE_TEST_CASE_P(Trusty, BinderRpc, - ::testing::Combine(::testing::Values(SocketType::TIPC), - ::testing::Values(RpcSecurity::RAW), - ::testing::ValuesIn(testVersions()), - ::testing::ValuesIn(testVersions()), - ::testing::Values(false), ::testing::Values(true)), - BinderRpc::PrintParamInfo); - -} // namespace android - -PORT_GTEST(BinderRpcTest, "com.android.trusty.binderRpcTest"); diff --git a/libs/binder/tests/binderRpcUniversalTests.cpp b/libs/binder/tests/binderRpcUniversalTests.cpp index 11a22b0fb6..2249e5ca0a 100644 --- a/libs/binder/tests/binderRpcUniversalTests.cpp +++ b/libs/binder/tests/binderRpcUniversalTests.cpp @@ -386,11 +386,11 @@ TEST_P(BinderRpc, SameBinderEqualityWeak) { EXPECT_EQ(b, weak.promote()); } -#define EXPECT_SESSIONS(expected, iface) \ +#define expectSessions(expected, iface) \ do { \ int session; \ EXPECT_OK((iface)->getNumOpenSessions(&session)); \ - EXPECT_EQ(static_cast<int>(expected), session); \ + EXPECT_EQ(expected, session); \ } while (false) TEST_P(BinderRpc, SingleSession) { @@ -402,9 +402,9 @@ TEST_P(BinderRpc, SingleSession) { EXPECT_OK(session->getName(&out)); EXPECT_EQ("aoeu", out); - EXPECT_SESSIONS(1, proc.rootIface); + expectSessions(1, proc.rootIface); session = nullptr; - EXPECT_SESSIONS(0, proc.rootIface); + expectSessions(0, proc.rootIface); } TEST_P(BinderRpc, ManySessions) { @@ -413,24 +413,24 @@ TEST_P(BinderRpc, ManySessions) { std::vector<sp<IBinderRpcSession>> sessions; for (size_t i = 0; i < 15; i++) { - EXPECT_SESSIONS(i, proc.rootIface); + expectSessions(i, proc.rootIface); sp<IBinderRpcSession> session; EXPECT_OK(proc.rootIface->openSession(std::to_string(i), &session)); sessions.push_back(session); } - EXPECT_SESSIONS(sessions.size(), proc.rootIface); + expectSessions(sessions.size(), proc.rootIface); for (size_t i = 0; i < sessions.size(); i++) { std::string out; EXPECT_OK(sessions.at(i)->getName(&out)); EXPECT_EQ(std::to_string(i), out); } - EXPECT_SESSIONS(sessions.size(), proc.rootIface); + expectSessions(sessions.size(), proc.rootIface); while (!sessions.empty()) { sessions.pop_back(); - EXPECT_SESSIONS(sessions.size(), proc.rootIface); + expectSessions(sessions.size(), proc.rootIface); } - EXPECT_SESSIONS(0, proc.rootIface); + expectSessions(0, proc.rootIface); } TEST_P(BinderRpc, OnewayCallDoesNotWait) { @@ -483,7 +483,7 @@ TEST_P(BinderRpc, Callbacks) { cb->mCv.wait_for(_l, 1s, [&] { return !cb->mValues.empty(); }); } - EXPECT_EQ(cb->mValues.size(), 1UL) + EXPECT_EQ(cb->mValues.size(), 1) << "callIsOneway: " << callIsOneway << " callbackIsOneway: " << callbackIsOneway << " delayed: " << delayed; if (cb->mValues.empty()) continue; diff --git a/libs/binder/trusty/binderRpcTest/manifest.json b/libs/binder/trusty/binderRpcTest/manifest.json deleted file mode 100644 index d8b080f0d4..0000000000 --- a/libs/binder/trusty/binderRpcTest/manifest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "uuid": "9dbe9fb8-60fd-4bdd-af86-03e95d7ad78b", - "app_name": "binderRpcTest", - "min_heap": 163840, - "min_stack": 16384 -} diff --git a/libs/binder/trusty/binderRpcTest/rules.mk b/libs/binder/trusty/binderRpcTest/rules.mk deleted file mode 100644 index ae3949246d..0000000000 --- a/libs/binder/trusty/binderRpcTest/rules.mk +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright (C) 2022 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. -# - -LOCAL_DIR := $(GET_LOCAL_DIR) -LIBBINDER_TESTS_DIR := frameworks/native/libs/binder/tests - -MODULE := $(LOCAL_DIR) - -MANIFEST := $(LOCAL_DIR)/manifest.json - -MODULE_SRCS += \ - $(LIBBINDER_TESTS_DIR)/binderRpcUniversalTests.cpp \ - $(LIBBINDER_TESTS_DIR)/binderRpcTestCommon.cpp \ - $(LIBBINDER_TESTS_DIR)/binderRpcTestTrusty.cpp \ - -MODULE_LIBRARY_DEPS += \ - $(LOCAL_DIR)/aidl \ - frameworks/native/libs/binder/trusty \ - frameworks/native/libs/binder/trusty/ndk \ - trusty/user/base/lib/googletest \ - trusty/user/base/lib/libstdc++-trusty \ - -include make/trusted_app.mk diff --git a/libs/binder/trusty/build-config-usertests b/libs/binder/trusty/build-config-usertests deleted file mode 100644 index d0a1fbca49..0000000000 --- a/libs/binder/trusty/build-config-usertests +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (C) 2022 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. - -# This file lists userspace tests - -[ - porttest("com.android.trusty.binderRpcTest"), -] diff --git a/libs/binder/trusty/include_mock/trusty-gtest.h b/libs/binder/trusty/include_mock/trusty-gtest.h deleted file mode 100644 index 046b403553..0000000000 --- a/libs/binder/trusty/include_mock/trusty-gtest.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -#pragma once - -#define PORT_GTEST(suite, port) \ - int main(void) { \ - return 0; \ - } diff --git a/libs/binder/trusty/include_mock/trusty_ipc.h b/libs/binder/trusty/include_mock/trusty_ipc.h index db044c2c04..43ab84a424 100644 --- a/libs/binder/trusty/include_mock/trusty_ipc.h +++ b/libs/binder/trusty/include_mock/trusty_ipc.h @@ -27,8 +27,6 @@ #define IPC_PORT_ALLOW_TA_CONNECT 0x1 #define IPC_PORT_ALLOW_NS_CONNECT 0x2 -#define IPC_CONNECT_WAIT_FOR_PORT 0x1 - #define IPC_HANDLE_POLL_HUP 0x1 #define IPC_HANDLE_POLL_MSG 0x2 #define IPC_HANDLE_POLL_SEND_UNBLOCKED 0x4 diff --git a/libs/binder/trusty/usertests-inc.mk b/libs/binder/trusty/usertests-inc.mk index 13001219d4..2f5a7f479b 100644 --- a/libs/binder/trusty/usertests-inc.mk +++ b/libs/binder/trusty/usertests-inc.mk @@ -14,6 +14,4 @@ # TRUSTY_USER_TESTS += \ - frameworks/native/libs/binder/trusty/binderRpcTest \ frameworks/native/libs/binder/trusty/binderRpcTest/service \ - |