diff options
Diffstat (limited to 'scripts/TestUtil.py')
-rwxr-xr-x | scripts/TestUtil.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py index 2a9f847016d..0ee9a0b73af 100755 --- a/scripts/TestUtil.py +++ b/scripts/TestUtil.py @@ -827,6 +827,27 @@ def getIceExe(name): def getNodeCommand(): return nodeCmd +# +# Create a passwords file that contains the given users/passwords using cryptpasswd.py +# +def cryptPasswords(filePath, entries): + if os.path.exists(filePath): + os.remove(filePath) + passwords = open(filePath, "a") + for user, password in entries.items(): + p = subprocess.Popen( + "%s %s" % (sys.executable, os.path.abspath(os.path.join(os.path.dirname(__file__), "cryptpasswd.py"))), + shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE) + p.stdin.write(password.encode('UTF-8')) + p.stdin.write('\r\n'.encode('UTF-8')) + p.stdin.flush() + if(p.wait() != 0): + print("cryptpasswd.py failed:\n" + p.stdout.read().decode('UTF-8').strip()) + passwords.close() + sys.exit(1) + passwords.write("%s %s\n" % (user, p.stdout.readline().decode('UTF-8').strip())) + passwords.close() + class InvalidSelectorString(Exception): def __init__(self, value): self.value = value |