Skip to content

Commit 39c2854

Browse files
committedMar 23, 2020
first test
1 parent 5a5196a commit 39c2854

File tree

7 files changed

+1264
-0
lines changed

7 files changed

+1264
-0
lines changed
 

‎attic_snippets/_pswindows.py

+1,105
Large diffs are not rendered by default.
Binary file not shown.
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
from abc import ABC, abstractmethod
3+
4+
5+
6+
class installer(ABC):
7+
def __init__(self):
8+
9+
def __new__()
10+
# abstract method
11+
def runInstaller(self):
12+
pass

‎release_tester/installers/debian.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from baseinstaller import installer;
2+
3+
class debianInstaller(installer):
4+
def __init(self):
+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
import os
2+
import platform
3+
import sys
4+
import re
5+
from abc import ABC, abstractmethod
6+
7+
class installConfig(object):
8+
def __init__(self, version):
9+
self.basePath = ""
10+
self.passvoid = "abc"
11+
12+
13+
14+
15+
class installerBase(ABC):
16+
def installPackage(self):
17+
pass
18+
def getAranodConf(self):
19+
print('sntaohe')
20+
return '/etc/arangodb3/arangod.conf'
21+
22+
23+
class installerDeb(installerBase):
24+
def __init__(self):
25+
print('init')
26+
print(self.getAranodConf())
27+
def installPackage(self):
28+
print(self.getAranodConf())
29+
import pexpect
30+
os.environ['DEBIAN_FRONTEND']= 'readline'
31+
enterprise = 'e';
32+
version = '3.6.2'
33+
packageVersion = '1'
34+
architecture = 'amd64'
35+
36+
serverPackage = 'arangodb3%s_%s-%s_%s.deb' %(enterprise, version, packageVersion, architecture)
37+
clientPackage = 'arangodb3%s-client_%s-%s_%s.deb' %(enterprise, version, packageVersion, architecture)
38+
debugPackage = 'arangodb3%s-dbg_%s-%s_%s.deb' %(enterprise, version, packageVersion, architecture)
39+
server = pexpect.spawnu('dpkg -i ' + serverPackage)
40+
41+
# server.logfile = sys.stdout
42+
server.expect('user:')
43+
server.sendline('defg')
44+
server.expect('user:')
45+
server.sendline('defg')
46+
server.expect("Automatically upgrade database files")
47+
server.sendline("yes")
48+
server.expect("Database storage engine")
49+
server.sendline("1")
50+
server.expect("Backup database files before upgrading")
51+
server.sendline("no")
52+
try:
53+
print("waiting for eof")
54+
server.expect(pexpect.EOF, timeout=30)
55+
except server.logfile:
56+
print("TIMEOUT!")
57+
#print(server.logfile)
58+
while server.isalive():
59+
print('.')
60+
if server.exitstatus != 0:
61+
raise Exception("server installation didn't finish successfully!")
62+
if (not os.path.exists('/var/lib/arangodb3') or
63+
not os.path.exists('/etc/arangodb3') or
64+
not os.path.exists('/var/lib/arangodb3')):
65+
raise Exception("expected installation paths are not there")
66+
67+
if (not os.path.isfile(self.getAranodConf()) or
68+
not os.path.isfile('/var/lib/arangodb3/ENGINE')):
69+
raise Exception("configuration files aren't there")
70+
print('deb')
71+
72+
class installerRPM(installerBase):
73+
def installPackage(self):
74+
import blarg
75+
print('aoeu')
76+
77+
78+
class installerW(installerBase):
79+
def installPackage(self):
80+
print('w')
81+
import datetime
82+
import time
83+
import os
84+
import sys
85+
import re
86+
import shutil
87+
import psutil
88+
89+
COMPACT_VERSION='3.6.2'
90+
# COMPACT_VERSION='3.3.25-1'
91+
installPrefix= "c:/Programme/ArangoDB3e 3.6.2/"
92+
installPrefix="C:/tmp"
93+
94+
INSTALLER = "c:/Users/willi/Downloads/ArangoDB3e-" + COMPACT_VERSION + "_win64.exe"
95+
96+
success = True
97+
UNINSTALLER="Uninstall.exe"
98+
TMP_UNINSTALLER="c:/tmp/" + UNINSTALLER
99+
PASSWORD='passvoid'
100+
101+
INSTALLATIONFOLDER = os.path.join(re.sub('/', '\\\\', installPrefix), "PROG")
102+
DBFOLDER = re.sub('/', '\\\\', installPrefix + "/DB")
103+
APPFOLDER = re.sub('/', '\\\\', installPrefix + "/APP")
104+
PASSWORD = "ABCDE"
105+
cmd = [INSTALLER,
106+
'/PASSWORD=' + PASSWORD,
107+
'/INSTDIR=' + INSTALLATIONFOLDER,
108+
'/DATABASEDIR=' + DBFOLDER,
109+
'/APPDIR=' + APPFOLDER,
110+
'/PATH=0',
111+
'/S',
112+
'/INSTALL_SCOPE_ALL=1']
113+
114+
print(cmd)
115+
install = psutil.Popen(cmd)
116+
install.wait()
117+
print ("x"*80)
118+
119+
120+
basebindirectory = INSTALLATIONFOLDER + '\\'
121+
122+
123+
124+
def get():
125+
(winver, ,) = platform.win32_ver()
126+
if winver != "":
127+
return installerW()
128+
return installerDeb()

‎release_tester/releasetest.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
3+
from baseinstaller import installer
4+
5+
class debianInstaller(installer):
6+
def __init__(self):
7+
8+
def runInstaller(self):
9+
print("install!")

‎release_tester/test.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import installers.installer as installer
2+
3+
4+
myInstaller = installer.get()
5+
6+
myInstaller.installPackage()

0 commit comments

Comments
 (0)
Please sign in to comment.