go.py (1635:97afbb6c5a15) go.py (1654:fc7d0578e124)
1import os
2import subprocess
3
4from conftest import option
5from unit.applications.proto import TestApplicationProto
6
7
8class TestApplicationGo(TestApplicationProto):
9 def prepare_env(self, script, name, static=False):
1import os
2import subprocess
3
4from conftest import option
5from unit.applications.proto import TestApplicationProto
6
7
8class TestApplicationGo(TestApplicationProto):
9 def prepare_env(self, script, name, static=False):
10 if not os.path.exists(self.temp_dir + '/go'):
11 os.mkdir(self.temp_dir + '/go')
10 if not os.path.exists(option.temp_dir + '/go'):
11 os.mkdir(option.temp_dir + '/go')
12
13 env = os.environ.copy()
14 env['GOPATH'] = option.current_dir + '/build/go'
15
16 if static:
17 args = [
18 'go',
19 'build',
20 '-tags',
21 'netgo',
22 '-ldflags',
23 '-extldflags "-static"',
24 '-o',
12
13 env = os.environ.copy()
14 env['GOPATH'] = option.current_dir + '/build/go'
15
16 if static:
17 args = [
18 'go',
19 'build',
20 '-tags',
21 'netgo',
22 '-ldflags',
23 '-extldflags "-static"',
24 '-o',
25 self.temp_dir + '/go/' + name,
25 option.temp_dir + '/go/' + name,
26 option.test_dir + '/go/' + script + '/' + name + '.go',
27 ]
28 else:
29 args = [
30 'go',
31 'build',
32 '-o',
26 option.test_dir + '/go/' + script + '/' + name + '.go',
27 ]
28 else:
29 args = [
30 'go',
31 'build',
32 '-o',
33 self.temp_dir + '/go/' + name,
33 option.temp_dir + '/go/' + name,
34 option.test_dir + '/go/' + script + '/' + name + '.go',
35 ]
36
37 try:
38 process = subprocess.Popen(args, env=env)
39 process.communicate()
40
41 except:
42 return None
43
44 return process
45
46 def load(self, script, name='app', **kwargs):
47 static_build = False
48
49 wdir = option.test_dir + "/go/" + script
34 option.test_dir + '/go/' + script + '/' + name + '.go',
35 ]
36
37 try:
38 process = subprocess.Popen(args, env=env)
39 process.communicate()
40
41 except:
42 return None
43
44 return process
45
46 def load(self, script, name='app', **kwargs):
47 static_build = False
48
49 wdir = option.test_dir + "/go/" + script
50 executable = self.temp_dir + "/go/" + name
50 executable = option.temp_dir + "/go/" + name
51
52 if 'isolation' in kwargs and 'rootfs' in kwargs['isolation']:
53 wdir = "/go/"
54 executable = "/go/" + name
55 static_build = True
56
57 self.prepare_env(script, name, static=static_build)
58

--- 13 unchanged lines hidden ---
51
52 if 'isolation' in kwargs and 'rootfs' in kwargs['isolation']:
53 wdir = "/go/"
54 executable = "/go/" + name
55 static_build = True
56
57 self.prepare_env(script, name, static=static_build)
58

--- 13 unchanged lines hidden ---