(List (= scope= flags=0 words=[] bindings=[('CURRENT_DIR', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]})]]}) (Com {[LIT_CHARS pwd]}) )]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub CURRENT_DIR][LIT_CHARS /../integration_test_setup.sh]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "integration_test_setup.sh not found!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (FunctionDef set_up [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS testing]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Couldn't create directory"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "cc_test(name='mytest', srcs=['mytest.cc'], malloc=':system_malloc')"]]} < (FilenameRedirectNode filename={[LIT_CHARS testing/BUILD]} "> 1), > ) (Com {[LIT_CHARS fail]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "cc_library(name='system_malloc', srcs=[])"]]} < (FilenameRedirectNode filename={[LIT_CHARS testing/BUILD]} >"> 1), > ) (Com {[LIT_CHARS fail]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "int main() {return 0;}"]]} < (FilenameRedirectNode filename={[LIT_CHARS testing/mytest.cc]} "> 1), > ) (Com {[LIT_CHARS fail]}) ) ) ) (= scope= flags=0 words=[] bindings=[('STARTUP_FLAGS', {[DQ [LIT_CHARS --batch]]})]) (= scope= flags=0 words=[] bindings=[('BUILD_FLAGS', {[DQ [LIT_CHARS "--keep_going --discard_analysis_cache"]]})]) (FunctionDef test_build [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS build]} {[VarSub BUILD_FLAGS]} {[LIT_CHARS //testing] [LIT_OTHER ":"] [LIT_CHARS mytest]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (FunctionDef test_test [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS test]} {[VarSub BUILD_FLAGS]} {[LIT_CHARS //testing] [LIT_OTHER ":"] [LIT_CHARS mytest]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (FunctionDef test_info [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS info]} {[VarSub BUILD_FLAGS]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (FunctionDef test_empty_build [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS build]} {[VarSub BUILD_FLAGS]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (FunctionDef test_query [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS query]} {[SQ ]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "//testing:mytest"]]}) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "//testing:system_malloc"]]}) ) ) (FunctionDef test_action_conflict [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS conflict]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Couldn't create directory"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS conflict/BUILD]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "cc_library(name='x', srcs=['foo.cc'])\n"][LIT_CHARS "cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])\n"][LIT_CHARS "cc_binary(name='foo', deps=['x'], data=['_objs/x/conflict/foo.pic.o'])\n"]]} 0), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Couldn't create BUILD file"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS touch]} {[LIT_CHARS conflict/foo.cc]}) (Com {[LIT_CHARS fail]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS touch]} {[LIT_CHARS conflict/bar.cc]}) (Com {[LIT_CHARS fail]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS test]} {[VarSub BUILD_FLAGS]} {[LIT_CHARS --nocache_test_results]} {[LIT_CHARS //conflict] [LIT_OTHER ":"] [LIT_CHARS foo]} {[LIT_CHARS //testing] [LIT_OTHER ":"] [LIT_CHARS mytest]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected failure"]]}) ) (= scope= flags=0 words=[] bindings=[('exit_code', {[VarSub ?]})]) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[VarSub exit_code]} {[LIT_CHARS -eq]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Wrong exit code: "][VarSub exit_code]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "is generated by these conflicting actions"]]}) (Com {[LIT_CHARS expect_not_log]} {[DQ [LIT_CHARS "Graph edges not stored"]]}) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "mytest *PASSED"]]}) ) ) (FunctionDef test_no_batch [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS --nobatch]} {[LIT_CHARS test]} {[VarSub BUILD_FLAGS]} {[LIT_CHARS //testing] [LIT_OTHER ":"] [LIT_CHARS mytest]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (FunctionDef test_no_keep_going [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS test]} {[VarSub BUILD_FLAGS]} {[LIT_CHARS --nokeep_going]} {[LIT_CHARS //testing] [LIT_OTHER ":"] [LIT_CHARS mytest]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (FunctionDef test_no_discard_analysis_cache [] (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[VarSub STARTUP_FLAGS]} {[LIT_CHARS test]} {[VarSub BUILD_FLAGS]} {[LIT_CHARS --nodiscard_analysis_cache]} {[LIT_CHARS //testing] [LIT_OTHER ":"] [LIT_CHARS mytest]} < (DescriptorRedirectNode target={[VarSub TEST_log]} &"> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "Expected success"]]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "test for --discard_graph_edges"]]}) )