github.phpd.cn/thought-machine/please@v12.2.0+incompatible/test/moar/BUILD (about) 1 # For testing certain things that require targets to be in a separate package. 2 3 package(default_visibility = ['//test/...']) 4 5 genrule( 6 name = 'test_require_py', 7 outs = ['test_require.py'], 8 cmd = 'touch $OUT', 9 ) 10 11 genrule( 12 name = 'test_require_go', 13 outs = ['test_require.go'], 14 cmd = 'touch $OUT', 15 ) 16 17 filegroup( 18 name = 'test_require_fg', 19 srcs = [ 20 ':test_require_go', 21 ':test_require_py', 22 ], 23 provides = { 24 'py': ':test_require_py', 25 'go': ':test_require_go', 26 }, 27 deps = [ 28 ':test_require_go', 29 ':test_require_py', 30 ], 31 ) 32 33 python_library( 34 name = 'require_provide_check', 35 srcs = [], 36 deps = [ 37 ':test_require_fg', 38 ], 39 ) 40 41 # Test that require/provide updates $SRCS correctly. 42 # See issue #87 for a bit more detail. 43 filegroup( 44 name = 'provider', 45 provides = {'wibble': ':provided'}, 46 ) 47 48 genrule( 49 name = 'provided', 50 outs = ['provided.txt'], 51 cmd = 'echo "hello" > $OUT', 52 ) 53 54 gentest( 55 name = 'require_test', 56 srcs = [':provider'], 57 outs = ['require_test.txt'], 58 cmd = 'cat $SRCS > $OUT', 59 no_test_output = True, 60 requires = ['wibble'], 61 test_cmd = '[ "`cat $TEST`" == "hello" ]', 62 )