class_docstr: Tests for .buildkite directory
code: def test_gen_pipeline_with_failing_py(self):
      with tempdir() as dir:
          tmp_gen_pipeline_sh = os.path.join(dir, "gen-pipeline.sh")
          copy(GEN_PIPELINE_FNAME, tmp_gen_pipeline_sh)
  
          with open(
              os.path.join(dir, "get_changed_code_files.py"), "w"
          ) as py:
              py.write("import sys\n")
              py.write("sys.exit(1)")
  
          self.do_test_gen_pipeline(tmp_gen_pipeline_sh)
  
imports: import io
  import os
  import sys
  import unittest
  import warnings
  from shutil import copy
  from common import tempdir
  from horovod.runner.common.util import safe_shell_exec
  from get_changed_code_files import is_code_file
label_desc: Use image node_id 9 for calling the BuildKiteTests obj's underlying member method code with example usage: obj.test_gen_pipeline_with_failing_py() without return types