mesa/src/egl/egl-entrypoint-check.py
Eric Engestrom ba18b968e8 egl: rewrite entrypoints check
Part of the effort to replace shell scripts with portable python scripts.
I could've used a trivial `assert lines == sorted(lines)`, but this way
the caller is shown which entrypoint is out of order.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2019-07-10 11:27:51 +00:00

36 lines
900 B
Python

#!/usr/bin/env python
import argparse
PREFIX = 'EGL_ENTRYPOINT('
SUFFIX = ')'
def main():
parser = argparse.ArgumentParser()
parser.add_argument('header')
args = parser.parse_args()
with open(args.header) as header:
lines = header.readlines()
entrypoints = []
for line in lines:
line = line.strip()
if line.startswith(PREFIX):
assert line.endswith(SUFFIX)
entrypoints.append(line[len(PREFIX):-len(SUFFIX)])
print('Checking EGL API entrypoints are sorted')
for i, _ in enumerate(entrypoints):
# Can't compare the first one with the previous
if i == 0:
continue
if entrypoints[i - 1] > entrypoints[i]:
print('ERROR: ' + entrypoints[i] + ' should come before ' + entrypoints[i - 1])
exit(1)
print('All good :)')
if __name__ == '__main__':
main()