| # 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 > $@", | 
 | ) |