def parse_fixtures()

in tools/tfdoc.py [0:0]


def parse_fixtures(basepath, readme):
  'Return a list of file paths of all the unique fixtures used in the module.'
  doc = marko.parse(readme)
  used_fixtures = set()
  for child in doc.children:
    if isinstance(child, marko.block.FencedCode):
      if child.lang == 'hcl':
        code = child.children[0].children
        if directive := get_tftest_directive(code):
          if fixtures := directive.kwargs.get('fixtures'):
            for fixture in fixtures.split(','):
              fixture_full = os.path.join(REPO_ROOT, 'tests', fixture)
              if not os.path.exists(fixture_full):
                raise SystemExit(f'Unknown fixture: {fixture}')
              fixture_relative = os.path.relpath(fixture_full, basepath)
              used_fixtures.add(fixture_relative)
  yield from sorted(used_fixtures)