From 77ab8ce766621782e4c4a3c71ac59df0f71fe310 Mon Sep 17 00:00:00 2001 From: Michael Thvedt Date: Thu, 23 Jul 2015 15:49:27 +0000 Subject: Add integration tests for the Objective-C example in Bazel. -- MOS_MIGRATED_REVID=98938104 --- src/test/shell/bazel/BUILD | 10 ++++++++++ src/test/shell/bazel/bazel_example_test.sh | 11 +++++++++++ src/test/shell/bazel/test-setup.sh | 24 ++++++++++++++++++++++++ src/test/shell/bazel/testenv.sh | 12 ++++++++++++ 4 files changed, 57 insertions(+) (limited to 'src') diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD index 58a37d8689..a6ba74c9d0 100644 --- a/src/test/shell/bazel/BUILD +++ b/src/test/shell/bazel/BUILD @@ -23,9 +23,19 @@ filegroup( "//src/java_tools/buildjar:JavaBuilder_deploy.jar", "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar", "//src/java_tools/singlejar:SingleJar_deploy.jar", + "//src/objc_tools/bundlemerge:bundlemerge_deploy.jar", + "//src/objc_tools/momczip:momczip_deploy.jar", + "//src/objc_tools/plmerge:plmerge_deploy.jar", + "//src/objc_tools/xcodegen:xcodegen_deploy.jar", "//src/test/shell:bashunit", + "//src/tools/xcode-common/java/com/google/devtools/build/xcode/actoolzip:actoolzip_deploy.jar", + "//src/tools/xcode-common/java/com/google/devtools/build/xcode/swiftstdlibtoolzip:swiftstdlibtoolzip_deploy.jar", + "//src/tools/xcode/ibtoolwrapper", + "//src/tools/xcode/realpath", + "//src/tools/xcode/stdredirect:StdRedirect.dylib", "//third_party:srcs", "//third_party/ijar", + "//third_party/iossim", "//third_party/java/jdk/langtools:srcs", "//tools:srcs", ], diff --git a/src/test/shell/bazel/bazel_example_test.sh b/src/test/shell/bazel/bazel_example_test.sh index 4275cb7de8..9d26be9a8d 100755 --- a/src/test/shell/bazel/bazel_example_test.sh +++ b/src/test/shell/bazel/bazel_example_test.sh @@ -100,6 +100,17 @@ function test_genrule_and_genquery() { } } +if [ "${PLATFORM}" = "darwin" ]; then + function test_objc() { + setup_objc_test_support + # https://github.com/google/bazel/issues/162 + # prevents us from running iOS tests. + # TODO(bazel-team): Execute iOStests here when this issue is resolved. + assert_build_output ./bazel-bin/examples/objc/PrenotCalculator.ipa \ + //examples/objc:PrenotCalculator + } +fi + function test_native_python() { assert_build //examples/py_native:bin --python2_path=python assert_test_ok //examples/py_native:test --python2_path=python diff --git a/src/test/shell/bazel/test-setup.sh b/src/test/shell/bazel/test-setup.sh index 1d71f29d08..514e124301 100755 --- a/src/test/shell/bazel/test-setup.sh +++ b/src/test/shell/bazel/test-setup.sh @@ -193,6 +193,30 @@ filegroup( EOF } +# Sets up Objective-C tools. Mac only. +function setup_objc_test_support() { + mkdir -p tools/objc + [ -e tools/objc/precomp_actoolzip_deploy.jar ] || ln -sv ${actoolzip_path} tools/objc/precomp_actoolzip_deploy.jar + [ -e tools/objc/ibtoolwrapper.sh ] || ln -sv ${ibtoolwrapper_path} tools/objc/ibtoolwrapper.sh + [ -e tools/objc/precomp_swiftstdlibtoolzip_deploy.jar ] || ln -sv ${swiftstdlibtoolzip_path} tools/objc/precomp_swiftstdlibtoolzip_deploy.jar + [ -e tools/objc/precomp_momczip_deploy.jar ] || ln -sv ${momczip_path} tools/objc/precomp_momczip_deploy.jar + [ -e tools/objc/precomp_bundlemerge_deploy.jar ] || ln -sv ${bundlemerge_path} tools/objc/precomp_bundlemerge_deploy.jar + [ -e tools/objc/precomp_plmerge_deploy.jar ] || ln -sv ${plmerge_path} tools/objc/precomp_plmerge_deploy.jar + [ -e tools/objc/precomp_xcodegen_deploy.jar ] || ln -sv ${xcodegen_path} tools/objc/precomp_xcodegen_deploy.jar + [ -e tools/objc/StdRedirect.dylib ] || ln -sv ${stdredirect_path} tools/objc/StdRedirect.dylib + [ -e tools/objc/realpath ] || ln -sv ${realpath_path} tools/objc/realpath + + mkdir -p third_party/iossim + [ -e third_party/iossim/iossim ] || ln -sv ${iossim_path} third_party/iossim/iossim + + cat <>third_party/iossim/BUILD +licenses(["unencumbered"]) +package(default_visibility = ["//visibility:public"]) + +exports_files(["iossim"]) +EOF +} + workspaces=() # Set-up a new, clean workspace with only the tools installed. function create_new_workspace() { diff --git a/src/test/shell/bazel/testenv.sh b/src/test/shell/bazel/testenv.sh index dc0a5c3c6b..ec485ff73f 100755 --- a/src/test/shell/bazel/testenv.sh +++ b/src/test/shell/bazel/testenv.sh @@ -44,6 +44,18 @@ singlejar_path="${TEST_SRCDIR}/src/java_tools/singlejar/SingleJar_deploy.jar" genclass_path="${TEST_SRCDIR}/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/GenClass_deploy.jar" ijar_path="${TEST_SRCDIR}/third_party/ijar/ijar" +# iOS and Objective-C tooling +iossim_path="${TEST_SRCDIR}/third_party/iossim/iossim" +actoolzip_path="${TEST_SRCDIR}/src/tools/xcode-common/java/com/google/devtools/build/xcode/actoolzip/actoolzip_deploy.jar" +ibtoolwrapper_path="${TEST_SRCDIR}/src/tools/xcode/ibtoolwrapper/ibtoolwrapper.sh" +swiftstdlibtoolzip_path="${TEST_SRCDIR}/src/tools/xcode-common/java/com/google/devtools/build/xcode/swiftstdlibtoolzip/swiftstdlibtoolzip_deploy.jar" +momczip_path="${TEST_SRCDIR}/src/objc_tools/momczip/momczip_deploy.jar" +bundlemerge_path="${TEST_SRCDIR}/src/objc_tools/bundlemerge/bundlemerge_deploy.jar" +plmerge_path="${TEST_SRCDIR}/src/objc_tools/plmerge/plmerge_deploy.jar" +xcodegen_path="${TEST_SRCDIR}/src/objc_tools/xcodegen/xcodegen_deploy.jar" +stdredirect_path="${TEST_SRCDIR}/src/tools/xcode/stdredirect/StdRedirect.dylib" +realpath_path="${TEST_SRCDIR}/src/tools/xcode/realpath/realpath" + # Test data testdata_path=${TEST_SRCDIR}/src/test/shell/bazel/testdata -- cgit v1.2.3