Created
August 21, 2018 22:02
-
-
Save ob/22436553b03d608c82e54c01afb4caee to your computer and use it in GitHub Desktop.
Bazel test cases
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TEST_TMPDIR=`pwd`/cc | |
mkdir -p $TEST_TMPDIR | |
PATH=/Users/obonilla/o/bazel/bazel-bin/src:$PATH | |
set -ex | |
DFLG="" | |
test x"$DEBUG" = x || DFLG='--host_jvm_args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005' | |
which bazel | |
function test_cc_library_include_prefix_external_repository() { | |
r="$TEST_TMPDIR/r" | |
mkdir -p "$TEST_TMPDIR/r/foo/v1" | |
touch "$TEST_TMPDIR/r/WORKSPACE" | |
echo "#define FOO 42" > "$TEST_TMPDIR/r/foo/v1/foo.h" | |
cat > "$TEST_TMPDIR/r/foo/BUILD" <<EOF | |
cc_library( | |
name = "foo", | |
hdrs = ["v1/foo.h"], | |
include_prefix = "foolib", | |
strip_include_prefix = "v1", | |
visibility = ["//visibility:public"], | |
) | |
EOF | |
cat > WORKSPACE <<EOF | |
local_repository( | |
name = "foo", | |
path = "$TEST_TMPDIR/r", | |
) | |
EOF | |
cat > BUILD <<EOF | |
cc_library( | |
name = "ok", | |
srcs = ["ok.cc"], | |
deps = ["@foo//foo"], | |
) | |
cc_library( | |
name = "bad", | |
srcs = ["bad.cc"], | |
deps = ["@foo//foo"], | |
) | |
EOF | |
cat > ok.cc <<EOF | |
#include <stdio.h> | |
#include "foolib/foo.h" | |
int main() { | |
printf("FOO is %d\n", FOO); | |
} | |
EOF | |
cat > bad.cc <<EOF | |
#include <stdio.h> | |
#include "foo/v1/foo.h" | |
int main() { | |
printf("FOO is %d\n", FOO); | |
} | |
EOF | |
# bazel build --sandbox_debug --verbose_failures -s :bad && fail "Should not have found include at repository-relative path" | |
bazel clean | |
bazel $DFLG build --sandbox_debug --verbose_failures -s :ok || fail "Should have found include at synthetic path" | |
} | |
test_cc_library_include_prefix_external_repository |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TEST_TMPDIR=`pwd`/objc | |
mkdir -p $TEST_TMPDIR | |
PATH=/Users/obonilla/o/bazel/bazel-bin/src:$PATH | |
DFLG="" | |
test x$DEBUG = x || DFLG='--host_jvm_args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"' | |
set -ex | |
which bazel | |
function test_objc_library_include_prefix_external_repository() { | |
r="$TEST_TMPDIR/r" | |
mkdir -p "$TEST_TMPDIR/r/foo/v1" | |
touch "$TEST_TMPDIR/r/WORKSPACE" | |
echo "#define FOO 42" > "$TEST_TMPDIR/r/foo/v1/foo.h" | |
cat > "$TEST_TMPDIR/r/foo/BUILD" <<EOF | |
objc_library( | |
name = "foo", | |
hdrs = ["v1/foo.h"], | |
include_prefix = "foolib", | |
strip_include_prefix = "v1", | |
visibility = ["//visibility:public"], | |
) | |
EOF | |
cat > WORKSPACE <<EOF | |
local_repository( | |
name = "foo", | |
path = "$TEST_TMPDIR/r", | |
) | |
EOF | |
cat > BUILD <<EOF | |
objc_library( | |
name = "ok", | |
srcs = ["ok.m"], | |
deps = ["@foo//foo"], | |
) | |
objc_library( | |
name = "bad", | |
srcs = ["bad.m"], | |
deps = ["@foo//foo"], | |
) | |
EOF | |
cat > ok.m <<EOF | |
#include <stdio.h> | |
#include "foolib/foo.h" | |
int main() { | |
printf("FOO is %d\n", FOO); | |
} | |
EOF | |
cat > bad.m <<EOF | |
#include <stdio.h> | |
#include "foo/v1/foo.h" | |
int main() { | |
printf("FOO is %d\n", FOO); | |
} | |
EOF | |
# bazel build --sandbox_debug --verbose_failures -s :bad && fail "Should not have found include at repository-relative path" | |
bazel clean | |
bazel $DFLG build --sandbox_debug --verbose_failures -s :ok || fail "Should have found include at synthetic path" | |
# bazel build --sandbox_debug --verbose_failures -s :ok || fail "Should have found include at synthetic path" | |
} | |
test_objc_library_include_prefix_external_repository |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment