summaryrefslogtreecommitdiff
path: root/test/v4l2_compat/v4l2_compat_test.py
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2020-07-10 22:57:10 +0900
committerPaul Elder <paul.elder@ideasonboard.com>2020-07-13 19:46:24 +0900
commit74c8b508338ccdd0780aa1e067a1e8fcb9ee326b (patch)
tree0f40240b3c3d12fab6357685ad1f01b279b42ac5 /test/v4l2_compat/v4l2_compat_test.py
parentce32ca491884c4755e3cae0c7a6453a1f4933da2 (diff)
tests: v4l2_compat: Check v4l2-compliance and v4l2-ctl versions
v4l2-compliance and v4l2-ctl with version 1.20 and before will fail with v4l2-compat. Check the versions of v4l2-compliance and v4l2-ctl before continuing. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/v4l2_compat/v4l2_compat_test.py')
-rwxr-xr-xtest/v4l2_compat/v4l2_compat_test.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/v4l2_compat/v4l2_compat_test.py b/test/v4l2_compat/v4l2_compat_test.py
index 8aca2220..b054fe65 100755
--- a/test/v4l2_compat/v4l2_compat_test.py
+++ b/test/v4l2_compat/v4l2_compat_test.py
@@ -9,12 +9,15 @@
import argparse
import glob
import os
+from packaging import version
import re
import shutil
import signal
import subprocess
import sys
+MIN_V4L_UTILS_VERSION = version.parse("1.21.0")
+
TestPass = 0
TestFail = -1
TestSkip = 77
@@ -90,11 +93,21 @@ def main(argv):
print('v4l2-compliance is not available')
return TestSkip
+ ret, out = run_with_stdout(v4l2_compliance, '--version')
+ if (ret != 0 or version.parse(out[-2].split()[-1]) < MIN_V4L_UTILS_VERSION):
+ print('v4l2-compliance version >= 1.21.0 required')
+ return TestSkip
+
v4l2_ctl = shutil.which('v4l2-ctl')
if v4l2_ctl is None:
print('v4l2-ctl is not available')
return TestSkip
+ ret, out = run_with_stdout(v4l2_ctl, '--version')
+ if (ret != 0 or version.parse(out[-2].split()[-1]) < MIN_V4L_UTILS_VERSION):
+ print('v4l2-ctl version >= 1.21.0 required')
+ return TestSkip
+
dev_nodes = glob.glob('/dev/video*')
if len(dev_nodes) == 0:
print('no video nodes available to test with')