mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-09-10 13:00:08 +00:00
ci: Use sync unsupported devices tool to check for diffs
This commit is contained in:
committed by
Marco Trevisan
parent
b72feabc58
commit
5113f7ec3b
+4
-1
@@ -200,8 +200,11 @@ test_unsupported_list:
|
|||||||
extends:
|
extends:
|
||||||
- .standard_job
|
- .standard_job
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
variables:
|
||||||
|
FPRINT_HWDB_LIST: libfprint/fprint-list-udev-hwdb.c
|
||||||
script:
|
script:
|
||||||
- tests/hwdb-check-unsupported.py
|
- scripts/sync-unsupported-devices.py $FPRINT_HWDB_LIST
|
||||||
|
- git diff --color=always --exit-code $FPRINT_HWDB_LIST
|
||||||
|
|
||||||
flatpak:
|
flatpak:
|
||||||
stage: flatpak
|
stage: flatpak
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import urllib
|
|
||||||
import urllib.request
|
|
||||||
import re
|
|
||||||
|
|
||||||
error = False
|
|
||||||
|
|
||||||
try:
|
|
||||||
response = urllib.request.urlopen('https://gitlab.freedesktop.org/libfprint/wiki/-/wikis/Unsupported-Devices.md')
|
|
||||||
except:
|
|
||||||
print("Could not download current list of unsupported devices, skipping test.")
|
|
||||||
sys.exit(77)
|
|
||||||
data = response.read().decode('utf-8')
|
|
||||||
|
|
||||||
devices = []
|
|
||||||
devices_re = re.compile(r'^.*([0-9a-fA-F]{4}):([0-9a-fA-F]{4}).*$', re.MULTILINE)
|
|
||||||
for m in devices_re.finditer(data):
|
|
||||||
vid = m.group(1)
|
|
||||||
pid = m.group(2)
|
|
||||||
devices.append((vid, pid))
|
|
||||||
|
|
||||||
generator = open(os.path.join(os.path.dirname(__file__), '..', 'libfprint', 'fprint-list-udev-hwdb.c')).read()
|
|
||||||
|
|
||||||
id_re = re.compile(' { .vid = 0x([a-fA-F0-9]*), .pid = 0x([a-fA-F0-9]*) }')
|
|
||||||
# Check everything is the same
|
|
||||||
started = False
|
|
||||||
for l in generator.split('\n'):
|
|
||||||
m = id_re.match(l)
|
|
||||||
if m is None:
|
|
||||||
# Stop on the first line that does not match anymore
|
|
||||||
if started:
|
|
||||||
break
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
started = True
|
|
||||||
|
|
||||||
vid_pid = (m.group(1), m.group(2))
|
|
||||||
try:
|
|
||||||
devices.remove(vid_pid)
|
|
||||||
except ValueError:
|
|
||||||
print("Generator has entry that is not on wiki: {}:{}".format(*vid_pid))
|
|
||||||
error = True
|
|
||||||
|
|
||||||
for vid_pid in devices:
|
|
||||||
print("New entry from wiki is missing: {}:{}".format(*vid_pid))
|
|
||||||
error = True
|
|
||||||
|
|
||||||
if error:
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
|
||||||
sys.exit(0)
|
|
||||||
Reference in New Issue
Block a user