OSDN Git Service

Merge "Fix netd_test by removing flush cache call." into nyc-dev
authorPierre Imai <imaipi@google.com>
Tue, 12 Apr 2016 02:35:47 +0000 (02:35 +0000)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Tue, 12 Apr 2016 02:35:47 +0000 (02:35 +0000)
server/RouteController.cpp
tests/Android.mk
tests/netd_integration_test.cpp [new file with mode: 0644]

index b2cd93a..e4b7cc1 100644 (file)
@@ -180,6 +180,15 @@ void updateTableNamesFile() {
 // |iov| is an array of struct iovec that contains the netlink message payload.
 // The netlink header is generated by this function based on |action| and |flags|.
 // Returns -errno if there was an error or if the kernel reported an error.
+
+// Disable optimizations in ASan build.
+// ASan reports an out-of-bounds 32-bit(!) access in the first loop of the
+// function (over iov[]).
+#ifdef __clang__
+#if __has_feature(address_sanitizer)
+__attribute__((optnone))
+#endif
+#endif
 WARN_UNUSED_RESULT int sendNetlinkRequest(uint16_t action, uint16_t flags, iovec* iov, int iovlen) {
     nlmsghdr nlmsg = {
         .nlmsg_type = action,
index 99d31d4..6e191e1 100644 (file)
@@ -25,21 +25,15 @@ LOCAL_SHARED_LIBRARIES += libbase libbinder libcutils liblog liblogwrap libnetda
 LOCAL_STATIC_LIBRARIES += libtestUtil
 LOCAL_AIDL_INCLUDES := system/netd/server/binder
 LOCAL_C_INCLUDES += system/netd/include system/extras/tests/include system/netd/binder/include \
-                   system/netd/server system/core/logwrapper/include \
+                    system/netd/server system/core/logwrapper/include \
                     system/extras/tests/include bionic/libc/dns/include
-LOCAL_SRC_FILES := netd_test.cpp dns_responder.cpp binder_test.cpp ../server/NetdConstants.cpp
+# netd_integration_test.cpp is currently empty and exists only so that we can do:
+# runtest -x system/netd/tests/netd_integration_test.cpp
+LOCAL_SRC_FILES := binder_test.cpp \
+                   dns_responder.cpp \
+                   netd_integration_test.cpp \
+                   netd_test.cpp \
+                   ../server/NetdConstants.cpp
 LOCAL_MODULE_TAGS := eng tests
 include $(BUILD_NATIVE_TEST)
 
-# netd_test build target, to enable using runtest -x system/netd/tests/netd_test.cpp
-include $(CLEAR_VARS)
-LOCAL_MODULE := netd_test
-LOCAL_CFLAGS := -Wall -Werror -Wunused-parameter
-EXTRA_LDLIBS := -lpthread
-LOCAL_SHARED_LIBRARIES += libbase libcutils liblog libnetd_client libutils
-LOCAL_STATIC_LIBRARIES += libtestUtil
-LOCAL_C_INCLUDES += system/core/base/include system/netd/include system/extras/tests/include \
-                    system/extras/tests/include bionic/libc/dns/include
-LOCAL_SRC_FILES := netd_test.cpp dns_responder.cpp
-LOCAL_MODULE_TAGS := eng tests
-include $(BUILD_NATIVE_TEST)
diff --git a/tests/netd_integration_test.cpp b/tests/netd_integration_test.cpp
new file mode 100644 (file)
index 0000000..459521f
--- /dev/null
@@ -0,0 +1,2 @@
+// This file currently exists only so we can do:
+// runtest -x system/netd/tests/netd_integration_test.cpp