diff options
author | Mark Wong | 2017-07-27 00:51:59 +0000 |
---|---|---|
committer | Mark Wong | 2018-01-05 16:11:28 +0000 |
commit | 912fa3cc5ccc599a6f8f90ae429f91e828e559a2 (patch) | |
tree | da8779d672d99d4e84540fba0db7ee904e65b2af | |
parent | af9c1ef86dfa9fe22cbed192eb64e8022c0ea5a8 (diff) |
Fix use of env in call()
The env parameter to call() was clearing the PATH environment to only
have the postgres binary install path. Modify only the PATH
environment.
-rw-r--r-- | client/benchmarks/pgbench.py | 15 | ||||
-rw-r--r-- | client/utils/cluster.py | 9 |
2 files changed, 14 insertions, 10 deletions
diff --git a/client/benchmarks/pgbench.py b/client/benchmarks/pgbench.py index 2fba3c5..9b2b3c8 100644 --- a/client/benchmarks/pgbench.py +++ b/client/benchmarks/pgbench.py @@ -31,6 +31,9 @@ class PgBench(object): self._duration = duration self._runs = runs + self._env = os.environ + self._env['PATH'] = ':'.join([bin_path, self._env['PATH']]) + self._results = {} @staticmethod @@ -58,13 +61,12 @@ class PgBench(object): self._results[scale] = {'init': None, 'warmup': None, 'runs': []} log("recreating '%s' database" % (self._dbname,)) - run_cmd(['dropdb', '--if-exists', self._dbname], - env={'PATH': self._bin}) - run_cmd(['createdb', self._dbname], env={'PATH': self._bin}) + run_cmd(['dropdb', '--if-exists', self._dbname], env=self._env) + run_cmd(['createdb', self._dbname], env=self._env) log("initializing pgbench '%s' with scale %s" % (self._dbname, scale)) r = run_cmd(['pgbench', '-i', '-s', str(scale), self._dbname], - env={'PATH': self._bin}) + env=self._env) # remember the init duration self._results[scale]['init'] = r[2] @@ -211,14 +213,13 @@ class PgBench(object): args.extend([self._dbname]) # do an explicit checkpoint before each run - run_cmd(['psql', self._dbname, '-c', 'checkpoint'], - env={'PATH': self._bin}) + run_cmd(['psql', self._dbname, '-c', 'checkpoint'], env=self._env) log("pgbench: clients=%d, jobs=%d, aggregate=%s, read-only=%s, " "duration=%d" % (nclients, njobs, aggregate, read_only, duration)) start = time.time() - r = run_cmd(args, env={'PATH': self._bin}) + r = run_cmd(args, env=self._env) end = time.time() r = PgBench._parse_results(r[1]) diff --git a/client/utils/cluster.py b/client/utils/cluster.py index d16d91d..81bca89 100644 --- a/client/utils/cluster.py +++ b/client/utils/cluster.py @@ -15,6 +15,9 @@ class PgCluster(object): self._bin = bin_path self._data = data_path + self._env = os.environ + self._env['PATH'] = ':'.join([bin_path, self._env['PATH']]) + self._options = "" def _initdb(self): @@ -22,7 +25,7 @@ class PgCluster(object): with TemporaryFile() as strout: log("initializing cluster into '%s'" % (self._data,)) - call(['pg_ctl', '-D', self._data, 'init'], env={'PATH': self._bin}, + call(['pg_ctl', '-D', self._data, 'init'], env=self._env, stdout=strout, stderr=STDOUT) def _configure(self, config): @@ -62,7 +65,7 @@ class PgCluster(object): if len(self._options) > 0: cmd.extend(['-o', self._options]) cmd.append('start') - call(cmd, env={'PATH': self._bin}, stdout=strout, stderr=STDOUT) + call(cmd, env=self._env, stdout=strout, stderr=STDOUT) def stop(self, destroy=True): 'stop the cluster' @@ -71,7 +74,7 @@ class PgCluster(object): log("stopping cluster in '%s' using '%s' binaries" % (self._data, self._bin)) call(['pg_ctl', '-D', self._data, '-w', '-t', '60', 'stop'], - env={'PATH': self._bin}, stdout=strout, stderr=STDOUT) + env=self._env, stdout=strout, stderr=STDOUT) # kill any remaining processes, remove the data dir if destroy: |