Loading tools/aidl/Android.mk +24 −5 Original line number Diff line number Diff line Loading @@ -6,7 +6,10 @@ ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) LOCAL_PATH:= $(call my-dir) # Logic shared between aidl and its unittests include $(CLEAR_VARS) LOCAL_MODULE := libaidl-common LOCAL_CLANG_CFLAGS := -Wall -Werror # Tragically, the code is riddled with unused parameters. Loading @@ -29,21 +32,37 @@ LOCAL_SRC_FILES := \ generate_java.cpp \ generate_java_binder.cpp \ generate_java_rpc.cpp \ main.cpp \ options.cpp \ search_path.cpp \ include $(BUILD_HOST_STATIC_LIBRARY) # aidl executable include $(CLEAR_VARS) LOCAL_MODULE := aidl LOCAL_MODULE_HOST_OS := darwin linux windows LOCAL_MODULE_HOST_OS := darwin linux windows LOCAL_CFLAGS := -Wall -Werror LOCAL_SRC_FILES := main.cpp LOCAL_STATIC_LIBRARIES := libaidl-common include $(BUILD_HOST_EXECUTABLE) # Unit tests include $(CLEAR_VARS) LOCAL_MODULE := aidl_unittests LOCAL_CFLAGS := -g -DUNIT_TEST LOCAL_SRC_FILES := tests/test.cpp LOCAL_STATIC_LIBRARIES := libgmock_host libgtest_host libBionicGtestMain LOCAL_CFLAGS := -g -DUNIT_TEST -Wall -Werror LOCAL_SRC_FILES := \ options_unittest.cpp \ tests/test.cpp \ LOCAL_STATIC_LIBRARIES := \ libaidl-common \ libgmock_host \ libgtest_host \ libBionicGtestMain LOCAL_LDLIBS := -lrt include $(BUILD_HOST_NATIVE_TEST) Loading tools/aidl/options.cpp +0 −4 Original line number Diff line number Diff line Loading @@ -48,10 +48,6 @@ parse_options(int argc, const char* const* argv, Options *options) return 0; } options->task = COMPILE_AIDL; options->failOnParcelable = false; options->autoDepFile = false; // OPTIONS while (i < argc) { const char* s = argv[i]; Loading tools/aidl/options.h +3 −3 Original line number Diff line number Diff line Loading @@ -16,15 +16,15 @@ enum { // This struct is the parsed version of the command line options struct Options { int task; bool failOnParcelable; int task{COMPILE_AIDL}; bool failOnParcelable{false}; vector<string> importPaths; vector<string> preprocessedFiles; string inputFileName; string outputFileName; string outputBaseFolder; string depFileName; bool autoDepFile; bool autoDepFile{false}; vector<string> filesToPreprocess; }; Loading tools/aidl/options_unittest.cpp 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * Copyright (C) 2015, 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 <string> #include <vector> #include <gtest/gtest.h> #include "options.h" using std::vector; using std::string; const char kPreprocessCommandOutputFile[] = "output_file_name"; const char kPreprocessCommandInput1[] = "input1"; const char kPreprocessCommandInput2[] = "input2"; const char kPreprocessCommandInput3[] = "input3"; const char* kPreprocessCommand[] = { "aidl", "--preprocess", kPreprocessCommandOutputFile, kPreprocessCommandInput1, kPreprocessCommandInput2, kPreprocessCommandInput3, }; TEST(OptionsTests, ParsesPreprocess) { Options options; const int argc = sizeof(kPreprocessCommand) / sizeof(*kPreprocessCommand); EXPECT_EQ(parse_options(argc, kPreprocessCommand, &options), 0); EXPECT_EQ(options.task, PREPROCESS_AIDL); EXPECT_EQ(options.failOnParcelable, false); EXPECT_EQ(options.importPaths.size(), 0u); EXPECT_EQ(options.preprocessedFiles.size(), 0u); EXPECT_EQ(options.inputFileName, string{""}); EXPECT_EQ(options.outputFileName, string{kPreprocessCommandOutputFile}); EXPECT_EQ(options.autoDepFile, false); const vector<string> expected_input{kPreprocessCommandInput1, kPreprocessCommandInput2, kPreprocessCommandInput3}; EXPECT_EQ(options.filesToPreprocess, expected_input); } Loading
tools/aidl/Android.mk +24 −5 Original line number Diff line number Diff line Loading @@ -6,7 +6,10 @@ ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) LOCAL_PATH:= $(call my-dir) # Logic shared between aidl and its unittests include $(CLEAR_VARS) LOCAL_MODULE := libaidl-common LOCAL_CLANG_CFLAGS := -Wall -Werror # Tragically, the code is riddled with unused parameters. Loading @@ -29,21 +32,37 @@ LOCAL_SRC_FILES := \ generate_java.cpp \ generate_java_binder.cpp \ generate_java_rpc.cpp \ main.cpp \ options.cpp \ search_path.cpp \ include $(BUILD_HOST_STATIC_LIBRARY) # aidl executable include $(CLEAR_VARS) LOCAL_MODULE := aidl LOCAL_MODULE_HOST_OS := darwin linux windows LOCAL_MODULE_HOST_OS := darwin linux windows LOCAL_CFLAGS := -Wall -Werror LOCAL_SRC_FILES := main.cpp LOCAL_STATIC_LIBRARIES := libaidl-common include $(BUILD_HOST_EXECUTABLE) # Unit tests include $(CLEAR_VARS) LOCAL_MODULE := aidl_unittests LOCAL_CFLAGS := -g -DUNIT_TEST LOCAL_SRC_FILES := tests/test.cpp LOCAL_STATIC_LIBRARIES := libgmock_host libgtest_host libBionicGtestMain LOCAL_CFLAGS := -g -DUNIT_TEST -Wall -Werror LOCAL_SRC_FILES := \ options_unittest.cpp \ tests/test.cpp \ LOCAL_STATIC_LIBRARIES := \ libaidl-common \ libgmock_host \ libgtest_host \ libBionicGtestMain LOCAL_LDLIBS := -lrt include $(BUILD_HOST_NATIVE_TEST) Loading
tools/aidl/options.cpp +0 −4 Original line number Diff line number Diff line Loading @@ -48,10 +48,6 @@ parse_options(int argc, const char* const* argv, Options *options) return 0; } options->task = COMPILE_AIDL; options->failOnParcelable = false; options->autoDepFile = false; // OPTIONS while (i < argc) { const char* s = argv[i]; Loading
tools/aidl/options.h +3 −3 Original line number Diff line number Diff line Loading @@ -16,15 +16,15 @@ enum { // This struct is the parsed version of the command line options struct Options { int task; bool failOnParcelable; int task{COMPILE_AIDL}; bool failOnParcelable{false}; vector<string> importPaths; vector<string> preprocessedFiles; string inputFileName; string outputFileName; string outputBaseFolder; string depFileName; bool autoDepFile; bool autoDepFile{false}; vector<string> filesToPreprocess; }; Loading
tools/aidl/options_unittest.cpp 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * Copyright (C) 2015, 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 <string> #include <vector> #include <gtest/gtest.h> #include "options.h" using std::vector; using std::string; const char kPreprocessCommandOutputFile[] = "output_file_name"; const char kPreprocessCommandInput1[] = "input1"; const char kPreprocessCommandInput2[] = "input2"; const char kPreprocessCommandInput3[] = "input3"; const char* kPreprocessCommand[] = { "aidl", "--preprocess", kPreprocessCommandOutputFile, kPreprocessCommandInput1, kPreprocessCommandInput2, kPreprocessCommandInput3, }; TEST(OptionsTests, ParsesPreprocess) { Options options; const int argc = sizeof(kPreprocessCommand) / sizeof(*kPreprocessCommand); EXPECT_EQ(parse_options(argc, kPreprocessCommand, &options), 0); EXPECT_EQ(options.task, PREPROCESS_AIDL); EXPECT_EQ(options.failOnParcelable, false); EXPECT_EQ(options.importPaths.size(), 0u); EXPECT_EQ(options.preprocessedFiles.size(), 0u); EXPECT_EQ(options.inputFileName, string{""}); EXPECT_EQ(options.outputFileName, string{kPreprocessCommandOutputFile}); EXPECT_EQ(options.autoDepFile, false); const vector<string> expected_input{kPreprocessCommandInput1, kPreprocessCommandInput2, kPreprocessCommandInput3}; EXPECT_EQ(options.filesToPreprocess, expected_input); }