webrtc/test: check if selenium is available before attempting to add tests
authorMatthew Waters <matthew@centricular.com>
Thu, 25 Jun 2020 12:11:33 +0000 (22:11 +1000)
committerMatthew Waters <matthew@centricular.com>
Thu, 25 Jun 2020 12:11:33 +0000 (22:11 +1000)
Fixes the following error

File "/builds/vivia/gst-plugins-bad/gst-build/build/../subprojects/gst-examples/webrtc/check/basic.py", line 5, in <module>
     from selenium import webdriver

ModuleNotFoundError: No module named 'selenium'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/17>

webrtc/check/configure_test_check.py [new file with mode: 0644]
webrtc/check/meson.build

diff --git a/webrtc/check/configure_test_check.py b/webrtc/check/configure_test_check.py
new file mode 100644 (file)
index 0000000..d7d56dd
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+import os
+import unittest
+from selenium import webdriver
+from selenium.webdriver.support.wait import WebDriverWait
+from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
+from selenium.webdriver.chrome.options import Options as COptions
+import asyncio
+import threading
+import signal
+
+import gi
+gi.require_version('Gst', '1.0')
+from gi.repository import Gst
index a7f6456..15fc8bc 100644 (file)
@@ -2,8 +2,12 @@ tests = [
   ['basic',  'basic.py'],
 ]
 
-if openssl.found()
+check_test = find_program ('configure_test_check.py')
+have_webrtc_check_deps = run_command (check_test).returncode() == 0
+
+if openssl.found() and have_webrtc_check_deps
   test_deps = [certs]
+  message ('adding webrtc tests')
 
   foreach elem : tests
     test(elem.get(0),