docker_test.py 1.94 KB
Newer Older
kladko's avatar
kladko committed
1 2
#!/usr/bin/env python

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# Copyright (C) 2019-Present SKALE Labs
#
# This file is part of sgxwallet.
#
# sgxwallet is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# sgxwallet is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with sgxwallet.  If not, see <https://www.gnu.org/licenses/>.
kladko's avatar
kladko committed
19 20 21 22 23 24
#
#    @file  docker_test.py
#    @author Stan Kladko
#    @date 2020
#

kladko's avatar
kladko committed
25
import sys, os, subprocess, socket, time
kladko's avatar
kladko committed
26

kladko's avatar
kladko committed
27
os.chdir("..")
kladko's avatar
kladko committed
28
topDir = os.getcwd() + "/sgxwallet"
29
print("Starting container test")
kladko's avatar
kladko committed
30 31
print("Top directory is:" + topDir)

kladko's avatar
kladko committed
32
DOCKER_FILE_NAME = sys.argv[1]
Oleh Nikolaiev's avatar
Oleh Nikolaiev committed
33 34
IMAGE_NAME = sys.argv[2]
TAG_POSTFIX = "latest_commit"
kladko's avatar
kladko committed
35

kladko's avatar
kladko committed
36
FULL_IMAGE_NAME = "skalenetwork/" + IMAGE_NAME +":" + TAG_POSTFIX
kladko's avatar
kladko committed
37

Oleh Nikolaiev's avatar
Oleh Nikolaiev committed
38
print("Running tests");
kladko's avatar
kladko committed
39

kladko's avatar
kladko committed
40 41
isNightly = os.environ.get("NIGHTLY_TESTS")

kladko's avatar
kladko committed
42 43 44 45
if isNightly :
    dockerRun = subprocess.run(["docker", "run", "-e", "NIGHTLY_TESTS='1'", "-v", topDir + "/sgx_data:/usr/src/sdk/sgx_data","-t",
                                "-v", "/dev/urandom:/dev/random", "--name", "sgxwallet", "--network=host", "skalenetwork/" + IMAGE_NAME +":" + TAG_POSTFIX, "-t"])
else:
kladko's avatar
kladko committed
46
    dockerRun = subprocess.run(["docker", "run", "-v", topDir + "/sgx_data:/usr/src/sdk/sgx_data","-t",
kladko's avatar
kladko committed
47
                            "-v", "/dev/urandom:/dev/random", "--name", "sgxwallet", "--network=host", "skalenetwork/" + IMAGE_NAME +":" + TAG_POSTFIX, "-t"])
kladko's avatar
kladko committed
48

kladko's avatar
kladko committed
49 50 51 52
print(dockerRun.stdout)
print(dockerRun.stderr)
assert dockerRun.returncode == 0;

kladko's avatar
kladko committed
53
assert subprocess.call(["docker", "rm", "-f", "sgxwallet"]) == 0
kladko's avatar
kladko committed
54
assert subprocess.call(["rm", "-rf", "sgx_data"]) == 0