aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Michael Thvedt <mthvedt@google.com>2015-07-23 15:49:27 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-07-27 08:31:54 +0000
commit77ab8ce766621782e4c4a3c71ac59df0f71fe310 (patch)
tree7b4c60d6e5d354b27c8d222e889a925da5ea7833 /src
parent3f16b561a68fdb1eaa865501420c9b87b44809ae (diff)
Add integration tests for the Objective-C example in Bazel.
-- MOS_MIGRATED_REVID=98938104
Diffstat (limited to 'src')
-rw-r--r--src/test/shell/bazel/BUILD10
-rwxr-xr-xsrc/test/shell/bazel/bazel_example_test.sh11
-rwxr-xr-xsrc/test/shell/bazel/test-setup.sh24
-rwxr-xr-xsrc/test/shell/bazel/testenv.sh12
4 files changed, 57 insertions, 0 deletions
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 <<EOF >>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