code: def testCustomArtifactBadSchemaTitleFails(self):
      bad_schemas = [
          _CustomArtifactBadSchemaTitle,
          _CustomArtifactSchemaTitleTooManyDots,
      ]
      for schema in bad_schemas:
          with self.assertRaisesRegex(
              ValueError, "Invalid custom artifact type name"
          ):
              _ = compiler_utils.get_artifact_schema(schema)
  
imports: import os
  from absl.testing import parameterized
  from kfp.pipeline_spec import pipeline_spec_pb2
  import tensorflow
  from tfx.dsl.io import fileio
  from tfx.orchestration import data_types
  from tfx.orchestration.kubeflow.v2 import compiler_utils
  from tfx.types import artifact
  from tfx.types import channel
  from tfx.types import channel_utils
  from tfx.types import standard_artifacts
  from tfx.types.experimental import simple_artifacts
  import yaml
  from google.protobuf import text_format
label_desc: Use image node_id 4 for calling the CompilerUtilsTest obj's underlying member method code with example usage: obj.testCustomArtifactBadSchemaTitleFails() without return types