diff options
Diffstat (limited to 'tests/deb/BUILD')
-rw-r--r-- | tests/deb/BUILD | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/tests/deb/BUILD b/tests/deb/BUILD new file mode 100644 index 0000000..655b46b --- /dev/null +++ b/tests/deb/BUILD @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +# 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. + +# Tests for pkg_deb specific behavior + +load("@rules_python//python:defs.bzl", "py_test") +load(":deb_tests.bzl", "package_naming_test") +load("//pkg:mappings.bzl", "pkg_mklink") +load("//pkg:deb.bzl", "pkg_deb") +load("//pkg:tar.bzl", "pkg_tar") +load("//tests:my_package_name.bzl", "my_package_naming") + +package(default_applicable_licenses = ["//:license"]) + +genrule( + name = "generate_files", + outs = [ + "etc/nsswitch.conf", + "usr/fizzbuzz", + ], + cmd = "for i in $(OUTS); do echo 1 >$$i; done", +) + +my_package_naming( + name = "my_package_variables", + label = "some_value", +) + +pkg_mklink( + name = "java_link", + link_name = "usr/bin/java", + target = "/path/to/bin/java", +) + +pkg_tar( + name = "tar_input", + srcs = [ + ":etc/nsswitch.conf", + ":java_link", + ":usr/fizzbuzz", + ], + extension = "tar.gz", + mode = "0644", + modes = {"usr/fizzbuzz": "0755"}, + owner = "42.24", + ownername = "fizzbuzz.foobar", + ownernames = {"etc/nsswitch.conf": "foobar.fizzbuzz"}, + owners = {"etc/nsswitch.conf": "24.42"}, + package_dir = "/", + strip_prefix = ".", +) + +pkg_deb( + name = "test_deb", + breaks = ["oldbrokenpkg"], + built_using = "some_test_data (0.1.2)", + conffiles = [ + "/etc/nsswitch.conf", + "/etc/other", + ], + config = "config", + data = ":tar_input", + depends = [ + "dep1", + "dep2", + ], + description = "toto ®, Й, ק ,م, ๗, あ, 叶, 葉, 말, ü and é\n more", + distribution = "trusty", + license = "Apache-2.0", + maintainer = "soméone@somewhere.com", + package = "fizzbuzz", + preinst = "deb_preinst", + provides = ["hello"], + replaces = ["oldpkg"], + templates = "templates", + triggers = "deb_triggers", + urgency = "low", + version = "4.5.6", +) + +py_test( + name = "pkg_deb_test", + size = "medium", + srcs = [ + "pkg_deb_test.py", + ], + imports = ["../.."], + data = [ + # The target includes both the .deb and .changes files in DefaultInfo + ":test_deb", + ], + python_version = "PY3", + deps = [ + "//pkg/private:archive", + "@bazel_tools//tools/python/runfiles", + ], +) + +package_naming_test( + name = "naming_test", + expected_name = "fizzbuzz_4.5.6_all.deb", + target_under_test = ":test_deb", +) + +py_test( + name = "control_field_test", + size = "small", + srcs = [ + "control_field_test.py", + ], + imports = ["../.."], + python_version = "PY3", + deps = [ + "//pkg/private/deb:make_deb_lib", + ], +) + +# Test case for expanding $(var) constructions and for using ctx.var directly +pkg_deb( + name = "deb_using_ctxvar", + config = "config", + data = ":tar_input", + description = "Compiled with $(COMPILATION_MODE)", + #distribution = "trusty", + maintainer = "soméone@somewhere.com", + package = "fizzbuzz", + version = "7", + # This does not make sense for architecture, but for testing, compilation + # mode is more stable than cpu. + architecture = "$(COMPILATION_MODE)", +) + +package_naming_test( + name = "expand_from_ctx_var", + # Heads up. If the default compilation mode ever changes this will break. + expected_name = "fizzbuzz_7_fastbuild.deb", + target_under_test = ":deb_using_ctxvar", +) |