aboutsummaryrefslogtreecommitdiff
path: root/bindings/python/tests/cindex/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/python/tests/cindex/util.py')
-rw-r--r--bindings/python/tests/cindex/util.py90
1 files changed, 0 insertions, 90 deletions
diff --git a/bindings/python/tests/cindex/util.py b/bindings/python/tests/cindex/util.py
deleted file mode 100644
index 57e17941c558..000000000000
--- a/bindings/python/tests/cindex/util.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# This file provides common utility functions for the test suite.
-
-import os
-HAS_FSPATH = hasattr(os, 'fspath')
-
-if HAS_FSPATH:
- from pathlib import Path as str_to_path
-else:
- str_to_path = None
-
-import unittest
-
-from clang.cindex import Cursor
-from clang.cindex import TranslationUnit
-
-def get_tu(source, lang='c', all_warnings=False, flags=[]):
- """Obtain a translation unit from source and language.
-
- By default, the translation unit is created from source file "t.<ext>"
- where <ext> is the default file extension for the specified language. By
- default it is C, so "t.c" is the default file name.
-
- Supported languages are {c, cpp, objc}.
-
- all_warnings is a convenience argument to enable all compiler warnings.
- """
- args = list(flags)
- name = 't.c'
- if lang == 'cpp':
- name = 't.cpp'
- args.append('-std=c++11')
- elif lang == 'objc':
- name = 't.m'
- elif lang != 'c':
- raise Exception('Unknown language: %s' % lang)
-
- if all_warnings:
- args += ['-Wall', '-Wextra']
-
- return TranslationUnit.from_source(name, args, unsaved_files=[(name,
- source)])
-
-def get_cursor(source, spelling):
- """Obtain a cursor from a source object.
-
- This provides a convenient search mechanism to find a cursor with specific
- spelling within a source. The first argument can be either a
- TranslationUnit or Cursor instance.
-
- If the cursor is not found, None is returned.
- """
- # Convenience for calling on a TU.
- root_cursor = source if isinstance(source, Cursor) else source.cursor
-
- for cursor in root_cursor.walk_preorder():
- if cursor.spelling == spelling:
- return cursor
-
- return None
-
-def get_cursors(source, spelling):
- """Obtain all cursors from a source object with a specific spelling.
-
- This provides a convenient search mechanism to find all cursors with
- specific spelling within a source. The first argument can be either a
- TranslationUnit or Cursor instance.
-
- If no cursors are found, an empty list is returned.
- """
- # Convenience for calling on a TU.
- root_cursor = source if isinstance(source, Cursor) else source.cursor
-
- cursors = []
- for cursor in root_cursor.walk_preorder():
- if cursor.spelling == spelling:
- cursors.append(cursor)
-
- return cursors
-
-
-skip_if_no_fspath = unittest.skipUnless(HAS_FSPATH,
- "Requires file system path protocol / Python 3.6+")
-
-__all__ = [
- 'get_cursor',
- 'get_cursors',
- 'get_tu',
- 'skip_if_no_fspath',
- 'str_to_path',
-]