| # Gazelle test cases |
| |
| 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, insted |
| 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. |