| # Copyright 2021 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. |
| |
| load("@rules_python//python:defs.bzl", "py_test") |
| load("//pkg:install.bzl", "pkg_install") |
| load("//pkg:mappings.bzl", "pkg_attributes", "pkg_files", "pkg_mkdirs") |
| load("//tests/util:defs.bzl", "fake_artifact") |
| |
| package(default_applicable_licenses = ["//:license"]) |
| |
| py_test( |
| name = "install_test", |
| srcs = ["test.py"], |
| args = ["-v"], |
| imports = ["../.."], |
| data = [ |
| ":test_installer", |
| ], |
| main = "test.py", |
| tags = [ |
| # TODO(nacl): investigate this. See also |
| # https://buildkite.com/bazel/rules-pkg/builds/961#992dbe09-7e4b-4e34-91b6-491120476ed3 |
| "no-windows", |
| # TODO(nacl): consider enabling this for testing on Linux. |
| #"requires-fakeroot" |
| ], |
| deps = [ |
| "//pkg/private:manifest", |
| "@rules_python//python/runfiles", |
| ], |
| ) |
| |
| pkg_install( |
| name = "test_installer", |
| srcs = [ |
| ":artifact-in-owned-dir", |
| ":artifact-in-unowned-dir", |
| ":dirs", |
| ], |
| ) |
| |
| fake_artifact( |
| name = "artifact", |
| ) |
| |
| pkg_files( |
| name = "artifact-in-owned-dir", |
| srcs = ["artifact"], |
| attributes = pkg_attributes(mode = "0700"), |
| prefix = "owned-dir", |
| ) |
| |
| pkg_files( |
| name = "artifact-in-unowned-dir", |
| srcs = ["artifact"], |
| attributes = pkg_attributes(mode = "0755"), |
| prefix = "unowned-dir", |
| ) |
| |
| pkg_mkdirs( |
| name = "dirs", |
| dirs = [ |
| "empty-owned-dir", |
| "owned-dir", |
| ], |
| ) |