Enable //services/files/c:apptests on Android now that we have the C++11 library. R=jamesr@chromium.org Review URL: https://codereview.chromium.org/1130873002
diff --git a/mojo/BUILD.gn b/mojo/BUILD.gn index d4ac711..7ca98c5 100644 --- a/mojo/BUILD.gn +++ b/mojo/BUILD.gn
@@ -63,6 +63,7 @@ "//services/clipboard:apptests", "//services/dart/dart_apptests", "//services/files:apptests", + "//services/files/c:apptests", "//services/http_server:apptests", "//services/reaper:tests", "//services/url_response_disk_cache:tests", @@ -75,11 +76,7 @@ ] if (is_linux) { - deps += [ - # TODO(vtl): See TODO in //services/files/c/BUILD.gn. - "//services/files/c:apptests", - "//services/python:python_apptests", - ] + deps += [ "//services/python:python_apptests" ] } # TODO(jamesr): We only support building V8 snapshot data on a linux host since it
diff --git a/mojo/tools/data/apptests b/mojo/tools/data/apptests index 148bf79..41f6da9 100644 --- a/mojo/tools/data/apptests +++ b/mojo/tools/data/apptests
@@ -47,7 +47,7 @@ "test": "mojo:http_server_apptests", }, { - "test": "mojo:network_service_apptests", + "test": "mojo:mojio_apptests", }, { "test": "mojo:mojo_view_manager_client_apptests", @@ -59,6 +59,9 @@ "shell-args": ["--args-for=mojo:native_viewport_service --use-headless-config --use-osmesa"], }, { + "test": "mojo:network_service_apptests", + }, + { "test": "mojo:window_manager_apptests", }, { @@ -77,10 +80,6 @@ "--url-mappings=mojo:example_service=mojo:python_example_service" ], }, - # TODO(vtl): See TODO in //services/files/c/BUILD.gn. - { - "test": "mojo:mojio_apptests", - }, { "test": "mojo:mojo_url_redirector_apptests", "test-args": ["--redirector_port=49152",
diff --git a/services/files/c/BUILD.gn b/services/files/c/BUILD.gn index 11e446a..cedc2a7 100644 --- a/services/files/c/BUILD.gn +++ b/services/files/c/BUILD.gn
@@ -4,82 +4,78 @@ import("//mojo/public/mojo_application.gni") -# TODO(vtl): Disabled for Android (in particular), since we need a C++11 -# standard library (e.g., std::unique_ptr and std::move). -if (is_linux) { - source_set("mojio") { - sources = [ - "lib/directory_wrapper.cc", - "lib/directory_wrapper.h", - "lib/errno_impl.h", - "lib/fd_impl.h", - "lib/fd_table.cc", - "lib/fd_table.h", - "lib/file_fd_impl.cc", - "lib/file_fd_impl.h", - "lib/mojio_fcntl.cc", - "lib/mojio_sys_stat.cc", - "lib/mojio_unistd.cc", - "lib/real_errno_impl.cc", - "lib/real_errno_impl.h", - "lib/singletons.cc", - "lib/singletons.h", - "lib/template_util.h", - "lib/util.cc", - "lib/util.h", - "mojio_config.h", - "mojio_fcntl.h", - "mojio_stdio.h", - "mojio_sys_stat.h", - "mojio_sys_types.h", - "mojio_time.h", - "mojio_unistd.h", - ] +source_set("mojio") { + sources = [ + "lib/directory_wrapper.cc", + "lib/directory_wrapper.h", + "lib/errno_impl.h", + "lib/fd_impl.h", + "lib/fd_table.cc", + "lib/fd_table.h", + "lib/file_fd_impl.cc", + "lib/file_fd_impl.h", + "lib/mojio_fcntl.cc", + "lib/mojio_sys_stat.cc", + "lib/mojio_unistd.cc", + "lib/real_errno_impl.cc", + "lib/real_errno_impl.h", + "lib/singletons.cc", + "lib/singletons.h", + "lib/template_util.h", + "lib/util.cc", + "lib/util.h", + "mojio_config.h", + "mojio_fcntl.h", + "mojio_stdio.h", + "mojio_sys_stat.h", + "mojio_sys_types.h", + "mojio_time.h", + "mojio_unistd.h", + ] - deps = [ - "//mojo/public/cpp/bindings", - "//mojo/public/cpp/environment", - "//mojo/public/cpp/system", - "//mojo/services/files/public/interfaces", - ] - } + deps = [ + "//mojo/public/cpp/bindings", + "//mojo/public/cpp/environment", + "//mojo/public/cpp/system", + "//mojo/services/files/public/interfaces", + ] +} - mojo_native_application("apptests") { - output_name = "mojio_apptests" +mojo_native_application("apptests") { + output_name = "mojio_apptests" - testonly = true + testonly = true - sources = [ - "tests/directory_wrapper_unittest.cc", - "tests/errno_impl_unittest.cc", - "tests/fd_table_unittest.cc", - "tests/file_fd_impl_unittest.cc", - "tests/mock_errno_impl.cc", - "tests/mock_errno_impl.h", - "tests/mojio_impl_test_base.cc", - "tests/mojio_impl_test_base.h", - "tests/mojio_sys_stat_unittest.cc", - "tests/mojio_test_base.cc", - "tests/mojio_test_base.h", - "tests/mojio_unistd_unittest.cc", - "tests/real_errno_impl_unittest.cc", - "tests/test_utils.cc", - "tests/test_utils.h", - "tests/test_utils_unittest.cc", - "tests/util_unittest.cc", - ] + sources = [ + "tests/directory_wrapper_unittest.cc", + "tests/errno_impl_unittest.cc", + "tests/fd_table_unittest.cc", + "tests/file_fd_impl_unittest.cc", + "tests/mock_errno_impl.cc", + "tests/mock_errno_impl.h", + "tests/mojio_impl_test_base.cc", + "tests/mojio_impl_test_base.h", + "tests/mojio_sys_stat_unittest.cc", + "tests/mojio_test_base.cc", + "tests/mojio_test_base.h", + "tests/mojio_unistd_unittest.cc", + "tests/real_errno_impl_unittest.cc", + "tests/test_utils.cc", + "tests/test_utils.h", + "tests/test_utils_unittest.cc", + "tests/util_unittest.cc", + ] - deps = [ - ":mojio", - "//mojo/public/cpp/application:standalone", - "//mojo/public/cpp/application:test_support_standalone", - "//mojo/public/cpp/bindings", - "//mojo/public/cpp/environment", - "//mojo/public/cpp/system", - "//mojo/services/files/public/interfaces", - "//testing/gtest", - ] + deps = [ + ":mojio", + "//mojo/public/cpp/application:standalone", + "//mojo/public/cpp/application:test_support_standalone", + "//mojo/public/cpp/bindings", + "//mojo/public/cpp/environment", + "//mojo/public/cpp/system", + "//mojo/services/files/public/interfaces", + "//testing/gtest", + ] - data_deps = [ "..:files" ] - } + data_deps = [ "..:files" ] }
diff --git a/services/files/c/lib/util.cc b/services/files/c/lib/util.cc index e798e73..e5cbb0c 100644 --- a/services/files/c/lib/util.cc +++ b/services/files/c/lib/util.cc
@@ -4,6 +4,7 @@ #include "services/files/c/lib/util.h" +#include <assert.h> #include <errno.h> namespace mojio { @@ -36,6 +37,9 @@ // TODO(vtl): Something better? return EIO; } + assert(false); + // TODO(vtl): Something better? + return EIO; } } // namespace mojio
diff --git a/services/files/c/mojio_sys_stat.h b/services/files/c/mojio_sys_stat.h index 3d44982..2498afc 100644 --- a/services/files/c/mojio_sys_stat.h +++ b/services/files/c/mojio_sys_stat.h
@@ -60,15 +60,19 @@ #define MOJIO_S_ISREG(mode) (((mode)&MOJIO_S_IFMT) == MOJIO_S_IFREG) #define MOJIO_S_ISSOCK(mode) (((mode)&MOJIO_S_IFMT) == MOJIO_S_IFSOCK) -// These are for backwards compatibility with older versions of POSIX. Since we -// didn't prefix the names of the members in |struct mojio_stat| below, we don't -// prefix these macro names either. This means that we'll collide with the -// "real" <sys/stat.h>, but that should be fine as long as it follows -// POSIX.1-2008 to the letter (since the macro definitions will be identical, -// which is valid). -#define st_atime st_atim.tv_sec -#define st_mtime st_mtim.tv_sec -#define st_ctime st_ctim.tv_sec +// POSIX.1-2008 says we should define |st_atime| to |st_atim.tv_sec| (and +// similarly for |st_mtime| and |st_ctime|). This is to provide (source) +// backwards compatibility with older versions of POSIX. +// +// We could reasonably provide these macros on systems that are compliant with +// POSIX.1-2008 (or later): even though they might collide with macro +// definitions in the "real" <sys/stat.h>, it's okay since the macro definitions +// will be identical. However, providing these macros on systems that aren't +// POSIX.1-2008-compliant (like Android) leads to an intractable conflict. Thus +// we provide prefixed macros instead. +#define mojio_st_atime st_atim.tv_sec +#define mojio_st_mtime st_mtim.tv_sec +#define mojio_st_ctime st_ctim.tv_sec // Types -----------------------------------------------------------------------