| # 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", |
| ], |
| 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_binary( |
| name = "an_executable", |
| srcs = ["foo.cc"], |
| data = ["BUILD"], |
| ) |
| |
| py_test( |
| name = "helpers_test", |
| srcs = ["helpers_test.py"], |
| 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") |