From 18e5f211784d2b595c71e052c135207ae2fffad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Fri, 28 Aug 2020 10:08:40 +0200 Subject: [PATCH] LUCENE-9485: Check early if Solr port 8983 is available (#1792) --- dev-tools/scripts/smokeTestRelease.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py index 0b899ed6784..768474bb48b 100755 --- a/dev-tools/scripts/smokeTestRelease.py +++ b/dev-tools/scripts/smokeTestRelease.py @@ -796,7 +796,12 @@ def readSolrOutput(p, startupEvent, failureEvent, logFile): startupEvent.set() finally: f.close() - + +def is_port_in_use(port): + import socket + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + return s.connect_ex(('localhost', port)) == 0 + def testSolrExample(unpackPath, javaPath, isSrc): # test solr using some examples it comes with logFile = '%s/solr-example.log' % unpackPath @@ -1456,6 +1461,9 @@ def smokeTest(java, baseURL, gitRevision, version, tmpDir, isSigned, local_keys, download('KEYS', keysFileURL, tmpDir, force_clean=FORCE_CLEAN) keysFile = '%s/KEYS' % (tmpDir) + if is_port_in_use(8983): + raise RuntimeError('Port 8983 is already in use. The smoketester needs it to test Solr') + print() print('Test Lucene...') checkSigs('lucene', lucenePath, version, tmpDir, isSigned, keysFile)