aboutsummaryrefslogtreecommitdiff
path: root/tests/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tests/BUILD')
-rw-r--r--tests/BUILD214
1 files changed, 214 insertions, 0 deletions
diff --git a/tests/BUILD b/tests/BUILD
new file mode 100644
index 0000000..07b993a
--- /dev/null
+++ b/tests/BUILD
@@ -0,0 +1,214 @@
+# Copyright 2020 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -*- coding: utf-8 -*-
+
+load("@rules_python//python:defs.bzl", "py_test")
+load(":my_package_name.bzl", "my_package_naming")
+load(":path_test.bzl", "path_tests")
+load("//pkg:deb.bzl", "pkg_deb")
+load("//pkg:mappings.bzl", "pkg_attributes", "pkg_files", "strip_prefix")
+load("//pkg:tar.bzl", "pkg_tar")
+load("//pkg:zip.bzl", "pkg_zip")
+
+package(
+ default_applicable_licenses = ["//:license"],
+ default_visibility = ["//tests:__subpackages__"],
+)
+
+licenses(["notice"])
+
+exports_files(glob(["testdata/**"]))
+
+filegroup(
+ name = "loremipsum_txt",
+ srcs = [
+ "testdata/loremipsum.txt",
+ ],
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "file_and_link",
+ srcs = [
+ "BUILD",
+ "testdata/outer_BUILD",
+ ],
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "glob_for_texts",
+ srcs = glob(["**/*.txt"]),
+)
+
+#
+# Data source for Unicode handling tests
+#
+pkg_files(
+ name = "utf8_files",
+ srcs = [
+ "//tests/testdata/utf8:files",
+ ],
+ # Note: This is temporary. We need to fix a latent bug where
+ # we are using 555 as the default for many things. That was the
+ # Google internal behavior.
+ # See https://github.com/bazelbuild/rules_pkg/issues/302 for thoughts.
+ attributes = pkg_attributes(mode = "0o555"),
+ strip_prefix = strip_prefix.from_pkg(),
+ visibility = ["//tests:__subpackages__"],
+)
+
+py_test(
+ name = "archive_test",
+ srcs = [
+ "archive_test.py",
+ ],
+ imports = [".."],
+ data = [
+ "//tests:testdata/empty.ar",
+ "//tests:testdata/a_ab.ar",
+ "//tests:testdata/a.ar",
+ "//tests:testdata/a_b_ab.ar",
+ "//tests:testdata/a_b.ar",
+ "//tests:testdata/ab.ar",
+ "//tests:testdata/b.ar",
+ ],
+ python_version = "PY3",
+ srcs_version = "PY3",
+ deps = [
+ "//pkg/private:archive",
+ "@bazel_tools//tools/python/runfiles",
+ ],
+)
+
+py_test(
+ name = "path_test",
+ srcs = ["path_test.py"],
+ data = ["//pkg:path.bzl"],
+ python_version = "PY3",
+ srcs_version = "PY3",
+)
+
+cc_library(
+ name = "liba",
+ srcs = ["a.cc"],
+ data = ["testdata/hello.txt"],
+)
+
+cc_library(
+ name = "libb",
+ srcs = ["b.cc"],
+ data = ["testdata/hello.txt"],
+)
+
+cc_binary(
+ name = "an_executable",
+ srcs = ["foo.cc"],
+ data = ["BUILD"],
+ deps = [
+ ":liba",
+ ":libb",
+ ],
+)
+
+py_test(
+ name = "helpers_test",
+ srcs = ["helpers_test.py"],
+ imports = [".."],
+ python_version = "PY3",
+ srcs_version = "PY3",
+ deps = [
+ "//pkg/private:helpers",
+ ],
+)
+
+#
+# Tests for package_file_name
+#
+my_package_naming(
+ name = "my_package_variables",
+ label = "some_value",
+)
+
+pkg_tar(
+ name = "test_tar_naming",
+ srcs = [
+ ":BUILD",
+ ],
+ package_file_name = "test_naming_{label}.tar",
+ package_variables = ":my_package_variables",
+)
+
+pkg_deb(
+ name = "test_deb_naming",
+ data = ":test_tar_naming",
+ description = "desc",
+ maintainer = "someone@somewhere.com",
+ package = "some_name",
+ package_file_name = "test_naming_{label}.deb",
+ package_variables = ":my_package_variables",
+ version = "1",
+)
+
+pkg_zip(
+ name = "test_zip_naming",
+ srcs = [
+ ":BUILD",
+ ],
+ package_file_name = "test_naming_{label}.zip",
+ package_variables = ":my_package_variables",
+)
+
+# This just proves that we would create the files via package_file_name rather
+# than the default out file.
+sh_test(
+ name = "package_naming_aggregate_test",
+ srcs = ["package_naming_aggregate_test.sh"],
+ data = [
+ ":test_deb_naming",
+ ":test_tar_naming",
+ ":test_zip_naming",
+ ],
+)
+
+pkg_tar(
+ name = "stamped_tar",
+ srcs = ["BUILD"],
+ stamp = 1,
+)
+
+pkg_zip(
+ name = "stamped_zip",
+ srcs = ["BUILD"],
+ stamp = 1,
+)
+
+# Note that this only tests that stamping works. Other tests cover the case
+# of archive members having the default, epoch, time stamp.
+py_test(
+ name = "stamp_test",
+ srcs = [
+ "stamp_test.py",
+ ],
+ data = [
+ "stamped_tar.tar",
+ "stamped_zip.zip",
+ ],
+ python_version = "PY3",
+ deps = [
+ "@bazel_tools//tools/python/runfiles",
+ ],
+)
+
+path_tests(name = "path_tests")