| # Build rules to test genrules under bazel. |
| # TODO(bazel-team): Convert to unit test, or remove when the temporary Docker |
| # override flags are removed. |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| filegroup( |
| name = "srcs", |
| srcs = glob(["**"]), |
| visibility = ["//src:__pkg__"], |
| ) |
| |
| # A rule that can help check if Docker container is enabled. |
| genrule( |
| name = "hostname", |
| outs = ["hostname.txt"], |
| cmd = "hostname > $@", |
| ) |
| |
| # A rule to help check if the right uid is set. |
| genrule( |
| name = "uid", |
| outs = ["uid.txt"], |
| cmd = "id -u > $@; (whoami >> $@ || echo 'No whoami!')", |
| ) |
| |
| # A genrule to check if output/stdout/strerr are piped correctly. |
| genrule( |
| name = "stdout-stderr", |
| outs = ["output.txt"], |
| cmd = "echo 'To file.' > $@; echo 'to stdout.'; (>&2 echo 'to stderr.');", |
| ) |
| |
| # A use case that fails if it's built in a Docker container running under root. |
| genrule( |
| name = "mine", |
| outs = ["mine.txt"], |
| cmd = "echo 'this is mine!' > $@; chmod 700 $@;", |
| ) |
| |
| # A use case that fails if it's built in a Docker container running under root. |
| genrule( |
| name = "vars", |
| outs = ["vars.txt"], |
| cmd = "set > $@", |
| ) |