import lit.formats
import os
import lit.Test

class TestParserFormat(lit.formats.FileBasedTest):
  def execute(self, test, lit_config):
      return lit.Test.PASS, ''

config.name = 'custom-parsers'
config.suffixes = ['.txt']
config.test_format = TestParserFormat()
config.test_source_root = None
config.test_exec_root = None
config.target_triple = 'x86_64-unknown-unknown'
