This directory contains a suite of test cases for the Skylark language plugin for Gazelle.
Please note that there are no BUILD
or BUILD.bazel
files in subdirs, instead there are BUILD.in
and BUILD.out
describing what the BUILD
should look like initially and what the BUILD
file should look like after the run. These names are special because they are not recognized by Bazel as a proper BUILD
file, and therefore are included in the data dependency by the recursive data glob in //gazelle:go_default_test
. If you would like to include any extremely complicated tests that contain proper BUILD
files you will need to manually add them to the //gazelle:go_default_test
target's data
section.
simple
Simple is a base test case that was used to validate the parser.
nobuildfiles
A test just like simple
that has no BUILD
files at the beginning.
import
Import is a test case that imports a .bzl
from the same directory.
multidir
Multidir is a test that has a .bzl
that imports from a different dirrectory.
tests
Using the skylib as an example, this test has .bzl
files that end in _tests.bzl
which are load
ed into BUILD
files and never imported by another repo.
private
Using the skylib as an example, this test has .bzl
files that live in a directory called private
which is used to indicate that they are repo private. Note that this is distict from the expectations of go's internal
where the relative position in the hierarchy determines the visibility.
defaultvisibility
If the package declares a default_visibility
the generated bzl_library
should not set its own visibility
.
external
This test demonstrates that if you load from another repo, it is able to generate a deps
entry for the dependency.
empty
Gazelle has the ability to remove old and unused targets. Test that.