瀏覽代碼

18938 Break logging into individual files

Previously, all "logging" was sent to standard out, and we would
capture that in a file. The problem with this is that all of the
frameworks would be logged to the same file, resulting in an
extremely large log.

This change causes each individual framework to create a log file
in the results folder, and captures the standard output there.
Additionally, each setup file now has start/stop functions that
require a 'logfile' argument. Initially, basically all of the tests
do not use this file, but this gives the possibility to attach
the logfile as the capture for stderr/stdout on the subprocesses
spawned when a server is spun up.

Similarly, 'logfile.write()' will allow a developer to enter logs
directly for debug or general purposes.
Mike Smith 12 年之前
父節點
當前提交
5e8b7a1d04
共有 100 個文件被更改,包括 207 次插入207 次删除
  1. 2 2
      HttpListener/setup.py
  2. 2 2
      aspnet-stripped/setup_iis.py
  3. 2 2
      aspnet/setup_iis.py
  4. 2 2
      aspnet/setup_nginx.py
  5. 2 2
      aspnet/setup_xsp.py
  6. 2 2
      beego/setup.py
  7. 2 2
      bottle/setup.py
  8. 2 2
      bottle/setup_nginxuwsgi.py
  9. 2 2
      bottle/setup_py3.py
  10. 2 2
      bottle/setup_pypy.py
  11. 2 2
      cake/setup.py
  12. 2 2
      compojure/setup.py
  13. 2 2
      cowboy/setup_erlang.py
  14. 2 2
      cpoll_cppsp/setup.py
  15. 2 2
      dancer/setup.py
  16. 2 2
      dart-start/setup.py
  17. 2 2
      dart-stream/setup.py
  18. 2 2
      dart/setup.py
  19. 2 2
      django/setup.py
  20. 2 2
      django/setup_pg.py
  21. 2 2
      django/setup_py3.py
  22. 2 2
      dropwizard/setup.py
  23. 2 2
      elli/setup_erlang.py
  24. 2 2
      express/setup.py
  25. 2 2
      falcon/setup.py
  26. 2 2
      falcon/setup_py3.py
  27. 2 2
      falcon/setup_pypy.py
  28. 2 2
      falcore/setup.py
  29. 2 2
      finagle/setup.py
  30. 2 2
      flask/setup.py
  31. 2 2
      flask/setup_nginxuwsgi.py
  32. 2 2
      flask/setup_py3.py
  33. 2 2
      flask/setup_pypy.py
  34. 6 6
      gemini/setup.py
  35. 2 2
      go/setup.py
  36. 2 2
      grails/setup.py
  37. 2 2
      grizzly-bm/setup.py
  38. 2 2
      grizzly-jersey/setup.py
  39. 2 2
      hapi/setup.py
  40. 2 2
      http-kit/setup.py
  41. 2 2
      jester/setup.py
  42. 2 2
      kelp/setup.py
  43. 2 2
      lapis/setup.py
  44. 2 2
      lift-stateless/setup.py
  45. 2 2
      luminus/setup.py
  46. 2 2
      mojolicious/setup.py
  47. 2 2
      nancy/setup_iis.py
  48. 2 2
      nancy/setup_libevent.py
  49. 2 2
      nancy/setup_nginx.py
  50. 2 2
      nancy/setup_xsp.py
  51. 2 2
      netty/setup.py
  52. 2 2
      nodejs/setup.py
  53. 2 2
      onion/setup.py
  54. 2 2
      openresty/setup.py
  55. 2 2
      php-codeigniter/setup.py
  56. 2 2
      php-fuel/setup.py
  57. 2 2
      php-kohana/setup.py
  58. 2 2
      php-laravel/setup.py
  59. 2 2
      php-lithium/setup.py
  60. 2 2
      php-micromvc/setup.py
  61. 2 2
      php-phalcon-micro/setup.py
  62. 2 2
      php-phalcon/setup.py
  63. 2 2
      php-phpixie/setup.py
  64. 2 2
      php-senthot/setup.py
  65. 2 2
      php-silex-orm/setup.py
  66. 2 2
      php-silex/setup.py
  67. 2 2
      php-silex/setup_raw.py
  68. 2 2
      php-silica/setup.py
  69. 2 2
      php-slim/setup.py
  70. 2 2
      php-symfony2-stripped/setup.py
  71. 2 2
      php-symfony2/setup.py
  72. 2 2
      php-yaf/setup.py
  73. 2 2
      php/setup.py
  74. 2 2
      phreeze/setup.py
  75. 2 2
      plack/setup.py
  76. 2 2
      plain/setup.py
  77. 2 2
      play-activate-mysql/setup.py
  78. 2 2
      play-java-jpa/setup.py
  79. 2 2
      play-java/setup.py
  80. 2 2
      play-scala-mongodb/setup.py
  81. 2 2
      play-scala/setup.py
  82. 2 2
      play-slick/setup.py
  83. 2 2
      play1/setup.py
  84. 2 2
      play1siena/setup.py
  85. 2 2
      rack/setup_jruby.py
  86. 2 2
      rack/setup_ruby.py
  87. 2 2
      racket-ws/setup.py
  88. 2 2
      rails-stripped/setup_jruby.py
  89. 2 2
      rails-stripped/setup_ruby.py
  90. 2 2
      rails/setup_jruby.py
  91. 2 2
      rails/setup_ruby.py
  92. 2 2
      restexpress/setup.py
  93. 2 2
      revel-jet/setup.py
  94. 2 2
      revel-qbs/setup.py
  95. 5 5
      revel/setup.py
  96. 2 2
      ringojs-convenient/setup.py
  97. 2 2
      ringojs/setup.py
  98. 2 2
      scalatra/setup.py
  99. 2 2
      servicestack/setup_iis.py
  100. 2 2
      servicestack/setup_nginx.py

+ 2 - 2
HttpListener/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name != 'nt':
     return 1
   
@@ -14,7 +14,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name != 'nt':
     return 0
   

+ 2 - 2
aspnet-stripped/setup_iis.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name != 'nt':
     return 1
   
@@ -14,7 +14,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name != 'nt':
     return 0
   

+ 2 - 2
aspnet/setup_iis.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name != 'nt':
     return 1
   
@@ -14,7 +14,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name != 'nt':
     return 0
   

+ 2 - 2
aspnet/setup_nginx.py

@@ -6,7 +6,7 @@ import os
 root = os.getcwd() + "/aspnet"
 app = root + "/src"
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     return 1
   
@@ -30,7 +30,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     return 0
   

+ 2 - 2
aspnet/setup_xsp.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     return 1
   
@@ -18,7 +18,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     return 0
   

+ 2 - 2
beego/setup.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     subprocess.call("set GOPATH=C:\\FrameworkBenchmarks\\beego&&go get ./...", shell=True, cwd="beego")
     subprocess.Popen("setup.bat", shell=True, cwd="beego")
@@ -11,7 +11,7 @@ def start(args):
   subprocess.call("go get ./...", shell=True, cwd="beego")
   subprocess.Popen("go run src/hello/hello.go".rsplit(" "), cwd="beego")
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im go.exe > NUL", shell=True)
     subprocess.call("taskkill /f /im hello.exe > NUL", shell=True)

+ 2 - 2
bottle/setup.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("bottle/app.py", "DBHOSTNAME", args.database_host)
     proc = subprocess.Popen([
@@ -22,7 +22,7 @@ def start(args):
         cwd="bottle")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
bottle/setup_nginxuwsgi.py

@@ -7,7 +7,7 @@ bin_dir = os.path.expanduser('~/FrameworkBenchmarks/installs/py2/bin')
 config_dir = os.path.expanduser('~/FrameworkBenchmarks/config')
 NCPU = multiprocessing.cpu_count()
 
-def start(args):
+def start(args, logfile):
     setup_util.replace_text("bottle/app.py", "DBHOSTNAME", args.database_host)
     try:
         subprocess.check_call('sudo /usr/local/nginx/sbin/nginx -c ' +
@@ -21,7 +21,7 @@ def start(args):
     except subprocess.CalledProcessError:
         return 1
 
-def stop():
+def stop(logfile):
     subprocess.call('sudo /usr/local/nginx/sbin/nginx -s stop', shell=True)
     subprocess.call(bin_dir + '/uwsgi --ini ' + config_dir + '/uwsgi_stop.ini', shell=True)
     return 0

+ 2 - 2
bottle/setup_py3.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("bottle/app.py", "DBHOSTNAME", args.database_host)
     proc = subprocess.Popen([
@@ -22,7 +22,7 @@ def start(args):
         cwd="bottle")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
bottle/setup_pypy.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("bottle/app.py", "DBHOSTNAME", args.database_host)
     proc = subprocess.Popen([
@@ -22,7 +22,7 @@ def start(args):
         cwd="bottle")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
cake/setup.py

@@ -7,7 +7,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("cake/app/Config/database.php", "'host' => '.*',", "'host' => '" + args.database_host + "',")
   setup_util.replace_text("cake/deploy/cake", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("cake/deploy/cake", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -28,7 +28,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
compojure/setup.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("compojure/hello/src/hello/handler.clj", ":subname \"//.*:3306", ":subname \"//" + args.database_host + ":3306")
 
   try:
@@ -14,7 +14,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     return 0

+ 2 - 2
cowboy/setup_erlang.py

@@ -2,7 +2,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("cowboy/src/hello_world_app.erl", "\"benchmarkdbpass\", \".*\", 3306", "\"benchmarkdbpass\", \"" + args.database_host + "\", 3306")
 
   try:
@@ -12,7 +12,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("killall beam.smp", shell=True, cwd="/usr/bin")
     return 0

+ 2 - 2
cpoll_cppsp/setup.py

@@ -3,13 +3,13 @@ import sys
 import os
 import setup_util 
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("cpoll_cppsp/www/connectioninfo.H", "\\#define BENCHMARK_DB_HOST \".*\"", "#define BENCHMARK_DB_HOST \"" + args.database_host + "\"")
   subprocess.check_call("make", shell=True, cwd="cpoll_cppsp")
   subprocess.Popen("./run_application \"$(pwd)\"/www -g g++-4.8 -m /forcedynamic.cppsm", shell=True, cwd="cpoll_cppsp");
   return 0
 
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
dancer/setup.py

@@ -7,7 +7,7 @@ import getpass
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("dancer/app.pl", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("dancer/nginx.conf", "USR", getpass.getuser())
   setup_util.replace_text("dancer/nginx.conf", "server unix:.*\/FrameworkBenchmarks", "server unix:" + home + "/FrameworkBenchmarks")
@@ -18,7 +18,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
dart-start/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text('dart-start/postgresql.yaml', 'host: .*', 'host: ' + args.database_host)
   setup_util.replace_text('dart-start/mongodb.yaml', 'host: .*', 'host: ' + args.database_host)
   try:
@@ -57,7 +57,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   #
   # stop nginx
   #

+ 2 - 2
dart-stream/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text('dart-stream/postgresql.yaml', 'host: .*', 'host: ' + args.database_host)
   setup_util.replace_text('dart-stream/mongodb.yaml', 'host: .*', 'host: ' + args.database_host)
   try:
@@ -57,7 +57,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   #
   # stop nginx
   #

+ 2 - 2
dart/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text('dart/postgresql.yaml', 'host: .*', 'host: ' + args.database_host)
   try:
     #
@@ -56,7 +56,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   #
   # stop nginx
   #

+ 2 - 2
django/setup.py

@@ -10,7 +10,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("django/hello/hello/settings.py", "HOST': '.*'", "HOST': '" + args.database_host + "'")
     setup_util.replace_text("django/hello/hello/settings.py", "\/home\/ubuntu",  home)
@@ -27,7 +27,7 @@ def start(args):
         env=env)
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
django/setup_pg.py

@@ -10,7 +10,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("django/hello/hello/settings.py", "HOST': '.*'", "HOST': '" + args.database_host + "'")
     setup_util.replace_text("django/hello/hello/settings.py", "\/home\/ubuntu",  home)
@@ -27,7 +27,7 @@ def start(args):
         env=env)
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
django/setup_py3.py

@@ -10,7 +10,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("django/hello/hello/settings.py", "HOST': '.*'", "HOST': '" + args.database_host + "'")
     setup_util.replace_text("django/hello/hello/settings.py", "\/home\/ubuntu",  home)
@@ -24,7 +24,7 @@ def start(args):
         cwd="django/hello")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
dropwizard/setup.py

@@ -6,7 +6,7 @@ import os
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
     setup_util.replace_text("dropwizard/hello-world.yml", "url: jdbc:mysql://.*/hello_world", "url: jdbc:mysql://" + args.database_host + ":3306/hello_world")
 
     try:
@@ -15,7 +15,7 @@ def start(args):
         return 0
     except subprocess.CalledProcessError:
         return 1
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
elli/setup_erlang.py

@@ -2,7 +2,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("elli/src/elli_bench_sup.erl", "\"benchmarkdbpass\", \".*\", 3306", "\"benchmarkdbpass\", \"" + args.database_host + "\", 3306")
   
   try:
@@ -13,7 +13,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("killall beam.smp", shell=True, cwd="/usr/bin")
     return 0

+ 2 - 2
express/setup.py

@@ -4,7 +4,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("express/app.js", "mongodb:\/\/.*\/hello_world", "mongodb://" + args.database_host + "/hello_world")
   setup_util.replace_text("express/app.js", "localhost", args.database_host)
 
@@ -32,7 +32,7 @@ def npm():
       subprocess.check_call("del package.json", shell=True, cwd="express")
       subprocess.check_call("ren package.json.dist package.json", shell=True, cwd="express")
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.Popen("taskkill /f /im node.exe > NUL", shell=True)
     return 0

+ 2 - 2
falcon/setup.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     proc = subprocess.Popen([
         bin_dir + "/gunicorn",
@@ -21,7 +21,7 @@ def start(args):
         cwd="falcon")
     return 0
 
-def stop():
+def stop(logfile):
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
     out, err = p.communicate()
     for line in out.splitlines():

+ 2 - 2
falcon/setup_py3.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     proc = subprocess.Popen([
         bin_dir + "/gunicorn",
@@ -21,7 +21,7 @@ def start(args):
         cwd="falcon")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
falcon/setup_pypy.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     proc = subprocess.Popen([
         bin_dir + "/gunicorn",
@@ -21,7 +21,7 @@ def start(args):
         cwd="falcon")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
falcore/setup.py

@@ -3,7 +3,7 @@ import sys
 import os
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("falcore/src/framework_benchmarks/falcore.go", "tcp\(.*:3306\)", "tcp(" + args.database_host + ":3306)")
   if os.name == 'nt':
     #subprocess.call("rmdir /s /q pkg\\windows_amd64", shell=True, cwd="go")
@@ -15,7 +15,7 @@ def start(args):
   subprocess.call("go get ./...", shell=True, cwd="falcore") 
   subprocess.Popen("go run src/framework_benchmarks/falcore.go".rsplit(" "), cwd="falcore")
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im go.exe > NUL", shell=True)
     subprocess.call("taskkill /f /im falcore.exe > NUL", shell=True)

+ 2 - 2
finagle/setup.py

@@ -4,7 +4,7 @@ import sys
 import time
 import os
 
-def start(args=None):
+def start(args=None, logfile):
 
 
     if os.name == 'nt':
@@ -19,7 +19,7 @@ def start(args=None):
 
 
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.check_call("wmic process where \"CommandLine LIKE '%\\\\sbt\\\\sbt%'\" call terminate")
   else:

+ 2 - 2
flask/setup.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("flask/app.py", "DBHOSTNAME", args.database_host)
     proc = subprocess.Popen([
@@ -22,7 +22,7 @@ def start(args):
         cwd="flask")
     return 0
 
-def stop():
+def stop(logfile):
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
     out, err = p.communicate()
     for line in out.splitlines():

+ 2 - 2
flask/setup_nginxuwsgi.py

@@ -7,7 +7,7 @@ bin_dir = os.path.expanduser('~/FrameworkBenchmarks/installs/py2/bin')
 config_dir = os.path.expanduser('~/FrameworkBenchmarks/config')
 NCPU = multiprocessing.cpu_count()
 
-def start(args):
+def start(args, logfile):
     setup_util.replace_text("flask/app.py", "DBHOSTNAME", args.database_host)
     try:
         subprocess.check_call('sudo /usr/local/nginx/sbin/nginx -c ' +
@@ -21,7 +21,7 @@ def start(args):
     except subprocess.CalledProcessError:
         return 1
 
-def stop():
+def stop(logfile):
     subprocess.call('sudo /usr/local/nginx/sbin/nginx -s stop', shell=True)
     subprocess.call(bin_dir + '/uwsgi --ini ' + config_dir + '/uwsgi_stop.ini', shell=True)
 

+ 2 - 2
flask/setup_py3.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("flask/app.py", "DBHOSTNAME", args.database_host)
     proc = subprocess.Popen([
@@ -22,7 +22,7 @@ def start(args):
         cwd="flask")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 2 - 2
flask/setup_pypy.py

@@ -9,7 +9,7 @@ NCPU = multiprocessing.cpu_count()
 proc = None
 
 
-def start(args):
+def start(args, logfile):
     global proc
     setup_util.replace_text("flask/app.py", "DBHOSTNAME", args.database_host)
     proc = subprocess.Popen([
@@ -22,7 +22,7 @@ def start(args):
         cwd="flask")
     return 0
 
-def stop():
+def stop(logfile):
     global proc
     if proc is None:
         return 0

+ 6 - 6
gemini/setup.py

@@ -6,20 +6,20 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("gemini/Docroot/WEB-INF/GeminiHello.conf", "db.ConnectString = .*:3306", "db.ConnectString = " + args.database_host + ":3306")
   setup_util.replace_text("gemini/Docroot/WEB-INF/resin.xml", "root-directory=\".*\/FrameworkBenchmarks", "root-directory=\"" + home + "/FrameworkBenchmarks")
   
   try:
-    subprocess.call("mkdir classes", shell=True, cwd="gemini/Docroot/WEB-INF")
-    subprocess.check_call("ant compile", shell=True, cwd="gemini")
-    subprocess.check_call("$RESIN_HOME/bin/resinctl -conf $HOME/FrameworkBenchmarks/gemini/Docroot/WEB-INF/resin.xml start", shell=True)
+    subprocess.call("mkdir classes", shell=True, cwd="gemini/Docroot/WEB-INF", stderr=logfile, stdout=logfile)
+    subprocess.check_call("ant compile", shell=True, cwd="gemini", stderr=logfile, stdout=logfile)
+    subprocess.check_call("$RESIN_HOME/bin/resinctl -conf $HOME/FrameworkBenchmarks/gemini/Docroot/WEB-INF/resin.xml start", shell=True, stderr=out, stdout=out)
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
-    subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
+    subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True, stderr=logfile, stdout=logfile)
     return 0
   except subprocess.CalledProcessError:
     return 1

+ 2 - 2
go/setup.py

@@ -3,7 +3,7 @@ import sys
 import os
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("go/src/hello/hello.go", "tcp\(.*:3306\)", "tcp(" + args.database_host + ":3306)")
   if os.name == 'nt':
     #subprocess.call("rmdir /s /q pkg\\windows_amd64", shell=True, cwd="go")
@@ -15,7 +15,7 @@ def start(args):
   subprocess.call("go get ./...", shell=True, cwd="go") 
   subprocess.Popen("go run src/hello/hello.go".rsplit(" "), cwd="go")
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im go.exe > NUL", shell=True)
     subprocess.call("taskkill /f /im hello.exe > NUL", shell=True)

+ 2 - 2
grails/setup.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("grails/hello/grails-app/conf/DataSource.groovy", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
   
   try:
@@ -15,7 +15,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     subprocess.check_call("rm -rf $RESIN_HOME/resin-data/*", shell=True)

+ 2 - 2
grizzly-bm/setup.py

@@ -3,14 +3,14 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   try:
     subprocess.check_call("mvn clean compile assembly:single", shell=True, cwd="grizzly-bm")
     subprocess.Popen("java -jar grizzly-bm-0.1-jar-with-dependencies.jar".rsplit(" "), cwd="grizzly-bm/target")
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
grizzly-jersey/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   try:
     subprocess.check_call("mvn clean package", shell=True, cwd="grizzly-jersey")
     subprocess.Popen(("java -jar target/grizzly-jersey-example.jar -dbhost " + args.database_host).rsplit(" "), cwd="grizzly-jersey")
@@ -11,7 +11,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
hapi/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("hapi/app.js", "localhost", args.database_host)
 
   try:
@@ -29,7 +29,7 @@ def npm():
       subprocess.check_call("del package.json", shell=True, cwd="hapi")
       subprocess.check_call("ren package.json.dist package.json", shell=True, cwd="hapi")
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.Popen("taskkill /f /im node.exe > NUL", shell=True)
     return 0

+ 2 - 2
http-kit/setup.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
 
   try:
     subprocess.check_call("lein deps", shell=True, cwd="http-kit/hello")
@@ -18,7 +18,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   try:
     # listen on 8080
     subprocess.check_call("lsof -t -sTCP:LISTEN -i:8080 | xargs kill", shell=True)

+ 2 - 2
jester/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   subprocess.check_call("nimrod c -d:release --path:../installs/jester/jester hello.nim", shell=True, cwd="jester")
   subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c " + home + "/FrameworkBenchmarks/jester/config/nginx.conf", shell=True)
   
@@ -14,7 +14,7 @@ def start(args):
     subprocess.Popen("./hello 900" + str(i) + " > /dev/null", shell=True, cwd="jester")
   return 0
 
-def stop():
+def stop(logfile):
   subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
 
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
kelp/setup.py

@@ -7,7 +7,7 @@ import getpass
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("kelp/app.pl", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("kelp/nginx.conf", "USR", getpass.getuser())
   setup_util.replace_text("kelp/nginx.conf", "server unix:.*\/FrameworkBenchmarks", "server unix:" + home + "/FrameworkBenchmarks")
@@ -18,7 +18,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
lapis/setup.py

@@ -3,14 +3,14 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("lapis/nginx.conf", "CWD", os.getcwd())
   setup_util.replace_text("lapis/nginx.conf", "DBHOSTNAME", args.database_host)
   subprocess.Popen('/usr/local/openresty/nginx/sbin/nginx -c `pwd`/nginx.conf -g "worker_processes ' + str((args.max_threads)) + ';"', shell=True, cwd="lapis")
 
   return 0
 
-def stop():
+def stop(logfile):
   subprocess.Popen('/usr/local/openresty/nginx/sbin/nginx -c `pwd`/nginx.conf -s stop', shell=True, cwd="lapis")
 
   return 0

+ 2 - 2
lift-stateless/setup.py

@@ -5,7 +5,7 @@ import setup_util
 import os
 import time
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("lift-stateless/src/main/scala/Main.scala", "> \".*:3306", "> \"" + args.database_host + ":3306")
 
   if os.name == 'nt':
@@ -17,7 +17,7 @@ def start(args):
 
   time.sleep(5)
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.check_call("wmic process where \"CommandLine LIKE '%lift-stateless-assembly%'\" call terminate")
   else:

+ 2 - 2
luminus/setup.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("luminus/hello/src/hello/models/schema.clj", ":subname \"//.*:3306", ":subname \"//" + args.database_host + ":3306")
 
   try:
@@ -14,7 +14,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     return 0

+ 2 - 2
mojolicious/setup.py

@@ -7,7 +7,7 @@ import getpass
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("mojolicious/app.pl", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("mojolicious/nginx.conf", "USR", getpass.getuser())
   setup_util.replace_text("mojolicious/nginx.conf", "server unix:.*\/FrameworkBenchmarks", "server unix:" + home + "/FrameworkBenchmarks")
@@ -18,7 +18,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
nancy/setup_iis.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name != 'nt':
     return 1
   
@@ -14,7 +14,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name != 'nt':
     return 0
   

+ 2 - 2
nancy/setup_libevent.py

@@ -6,7 +6,7 @@ import os
 root = os.getcwd() + "/nancy"
 app = root + "/src"
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     return 1
   
@@ -30,7 +30,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     return 0
   

+ 2 - 2
nancy/setup_nginx.py

@@ -6,7 +6,7 @@ import os
 root = os.getcwd() + "/nancy"
 app = root + "/src"
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     return 1
   
@@ -29,7 +29,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     return 0
   

+ 2 - 2
nancy/setup_xsp.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     return 1
   
@@ -17,7 +17,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     return 0
   

+ 2 - 2
netty/setup.py

@@ -3,14 +3,14 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   try:
     subprocess.check_call("mvn clean compile assembly:single", shell=True, cwd="netty")
     subprocess.Popen("java -Dio.netty.noResourceLeakDetection=true -jar netty-example-0.1-jar-with-dependencies.jar".rsplit(" "), cwd="netty/target")
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.check_call("wmic process where \"CommandLine LIKE '%netty-example%'\" call terminate")
   else:

+ 2 - 2
nodejs/setup.py

@@ -4,7 +4,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("nodejs/hello.js", "mongodb:\/\/.*\/hello_world", "mongodb://" + args.database_host + "/hello_world")
   setup_util.replace_text("nodejs/hello.js", "localhost", args.database_host)
 
@@ -28,7 +28,7 @@ def npm():
       subprocess.check_call("del package.json", shell=True, cwd="nodejs")
       subprocess.check_call("ren package.json.dist package.json", shell=True, cwd="nodejs")
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.Popen("taskkill /f /im node.exe > NUL", shell=True)
     return 0

+ 2 - 2
onion/setup.py

@@ -3,13 +3,13 @@ import sys
 import os
 import setup_util 
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("onion/hello.c", "mysql_real_connect\(data.db\[i\], \".*\",", "mysql_real_connect(data.db[i], \"" + args.database_host + "\",")
   os.putenv("ONION_LOG","noinfo")
   subprocess.Popen("make && ./hello", shell=True, cwd="onion")
   return 0
 
-def stop():
+def stop(logfile):
   
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()

+ 2 - 2
openresty/setup.py

@@ -3,14 +3,14 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("openresty/nginx.conf", "CWD", os.getcwd())
   setup_util.replace_text("openresty/app.lua", "DBHOSTNAME", args.database_host)
   subprocess.Popen('sudo /usr/local/openresty/nginx/sbin/nginx -c `pwd`/nginx.conf -g "worker_processes ' + str((args.max_threads)) + ';"', shell=True, cwd="openresty")
 
   return 0
 
-def stop():
+def stop(logfile):
   subprocess.Popen('sudo /usr/local/openresty/nginx/sbin/nginx -c `pwd`/nginx.conf -s stop', shell=True, cwd="openresty")
 
   return 0

+ 2 - 2
php-codeigniter/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-codeigniter/application/config/database.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-codeigniter/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-fuel/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-fuel/fuel/app/config/production/db.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-fuel/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-kohana/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-kohana/application/config/database.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-kohana/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.check_call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-laravel/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-laravel/application/config/database.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-laravel/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-lithium/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-lithium/app/config/bootstrap/connections.php", "192.168.100.102", ""+ args.database_host +"")
   setup_util.replace_text("php-lithium/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-micromvc/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-micromvc/Config/Config.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-micromvc/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-phalcon-micro/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-phalcon-micro/public/index.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-phalcon-micro/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -16,7 +16,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-phalcon-micro/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-phalcon/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-phalcon/app/config/config.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-phalcon/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -16,7 +16,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-phalcon/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-phpixie/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-phpixie/assets/config/db.php", "localhost", "" + args.database_host + "")
   setup_util.replace_text("php-phpixie/deploy/php-phpixie", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("php-phpixie/deploy/php-phpixie", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -18,7 +18,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-phpixie/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-senthot/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-senthot/app/Conf/config.php", "'DB_HOST' => 'localhost'", "'DB_HOST' => '" + args.database_host +"'")
   setup_util.replace_text("php-senthot/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -17,7 +17,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-senthot/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-silex-orm/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-silex-orm/web/index.php", "192.168.100.102", "" + args.database_host + "")
   setup_util.replace_text("php-silex-orm/deploy/php-silex-orm", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("php-silex-orm/deploy/php-silex-orm", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -23,7 +23,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-silex-orm/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-silex/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-silex/web/index.php", "192.168.100.102", "" + args.database_host + "")
   setup_util.replace_text("php-silex/deploy/php-silex", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("php-silex/deploy/php-silex", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -22,7 +22,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-silex/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-silex/setup_raw.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-silex/web/index_raw.php", "192.168.100.102", "" + args.database_host + "")
   setup_util.replace_text("php-silex/deploy/php-silex", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("php-silex/deploy/php-silex", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -19,7 +19,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-silex/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-silica/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-silica/web/app.php", "192.168.100.102", "" + args.database_host + "")
   setup_util.replace_text("php-silica/deploy/php-silica", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("php-silica/deploy/php-silica", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -23,7 +23,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-silica/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-slim/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-slim/index.php", "localhost", ""+ args.database_host +"")
   setup_util.replace_text("php-slim/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
php-symfony2-stripped/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-symfony2/app/config/parameters.yml", "database_host: .*", "database_host: " + args.database_host)
   setup_util.replace_text("php-symfony2/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -18,7 +18,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-symfony2/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-symfony2/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-symfony2/app/config/parameters.yml", "database_host: .*", "database_host: " + args.database_host)
   setup_util.replace_text("php-symfony2/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -18,7 +18,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-symfony2/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php-yaf/setup.py

@@ -5,7 +5,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php-yaf/app/conf/application.ini", "host=localhost", "host="+ args.database_host +"")
   setup_util.replace_text("php-yaf/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
 
@@ -17,7 +17,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   try:
     subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
     subprocess.call("sudo kill -QUIT $( cat php-yaf/deploy/php-fpm.pid )", shell=True)

+ 2 - 2
php/setup.py

@@ -7,7 +7,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("php/dborm.php", "@.*\/hello_world", "@" + args.database_host + "/hello_world")
   setup_util.replace_text("php/dbraw.php", "host=.*;", "host=" + args.database_host + ";")
   setup_util.replace_text("php/updateraw.php", "host=.*;", "host=" + args.database_host + ";")
@@ -31,7 +31,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.check_call('appcmd delete site PHP', shell=True)

+ 2 - 2
phreeze/setup.py

@@ -6,7 +6,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("phreeze/index.php", "localhost:3306", "" + args.database_host + ":3306")
   setup_util.replace_text("phreeze/deploy/phreeze", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
   setup_util.replace_text("phreeze/deploy/phreeze", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
@@ -27,7 +27,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.call('appcmd delete site PHP', shell=True)

+ 2 - 2
plack/setup.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("plack/app.psgi", "localhost", ""+ args.database_host +"")
   try:
     subprocess.check_call("curl -L http://cpanmin.us | perl - App::cpanminus", shell=True, cwd="plack")
@@ -13,7 +13,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.Popen("kill -TERM $(ps --ppid `cat app.pid` -o pid --no-header)", shell=True, cwd="plack")
     return 0

+ 2 - 2
plain/setup.py

@@ -4,7 +4,7 @@ import sys
 import time
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("plain/src/main/resources/application.conf", "127.0.0.1", args.database_host)
   if os.name == 'nt':
     subprocess.check_call("./sbt.bat assembly", shell=True, cwd="plain")
@@ -15,7 +15,7 @@ def start(args):
   time.sleep(10)
   return 0
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im *plain-benchmark* > NUL", shell=True)
     return 0

+ 2 - 2
play-activate-mysql/setup.py

@@ -5,7 +5,7 @@ import setup_util
 import os
 from zipfile import ZipFile
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play-activate-mysql/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
 
   subprocess.check_call("play clean dist", shell=True, cwd="play-activate-mysql")
@@ -21,7 +21,7 @@ def start(args):
     subprocess.Popen("./play-activate-mysql", shell=True, cwd="play-activate-mysql/target/universal/play-activate-mysql-1.0-SNAPSHOT/bin")
 
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     with open("./play-activate-mysql/target/universal/play-activate-mysql-1.0-SNAPSHOT/RUNNING_PID") as f:
       pid = int(f.read())

+ 2 - 2
play-java-jpa/setup.py

@@ -1,12 +1,12 @@
 import setup_util
 import subprocess
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play-java-jpa/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
   subprocess.Popen(["play","start"], stdin=subprocess.PIPE, cwd="play-java-jpa")
   return 0
 
-def stop():
+def stop(logfile):
   p = subprocess.Popen(["play","stop"], cwd="play-java-jpa")
   p.communicate()
   return 0

+ 2 - 2
play-java/setup.py

@@ -1,12 +1,12 @@
 import setup_util
 import subprocess
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play-java/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
   subprocess.Popen(["play","start"], stdin=subprocess.PIPE, cwd="play-java")
   return 0
 
-def stop():
+def stop(logfile):
   p = subprocess.Popen(["play","stop"], cwd="play-java")
   p.communicate()
   return 0

+ 2 - 2
play-scala-mongodb/setup.py

@@ -5,7 +5,7 @@ import setup_util
 import os
 from zipfile import ZipFile
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play-scala-mongodb/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
 
   subprocess.check_call("play clean dist", shell=True, cwd="play-scala-mongodb")
@@ -21,7 +21,7 @@ def start(args):
     subprocess.Popen("./play-scala-mongodb", shell=True, cwd="play-scala-mongodb/target/universal/play-scala-mongodb-1.0-SNAPSHOT/bin")
 
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     with open("./play-scala-mongodb/target/universal/play-scala-mongodb-1.0-SNAPSHOT/RUNNING_PID") as f:
       pid = int(f.read())

+ 2 - 2
play-scala/setup.py

@@ -2,7 +2,7 @@ import setup_util
 import subprocess
 import os
 
-def start(args):
+def start(args, logfile):
   kill_running_process() # Kill the running process and delete the 
                          # RUNNING_PID file (if any). With any luck no 
                          # new process has picked up the same PID.
@@ -15,7 +15,7 @@ def start(args):
   subprocess.Popen([play_cmd,"start"], stdin=subprocess.PIPE, cwd="play-scala")
   return 0
 
-def stop():
+def stop(logfile):
   kill_running_process()  
   return 0
 

+ 2 - 2
play-slick/setup.py

@@ -5,7 +5,7 @@ import setup_util
 import os
 from zipfile import ZipFile
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play-slick/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
 
   subprocess.check_call("play clean dist", shell=True, cwd="play-slick")
@@ -21,7 +21,7 @@ def start(args):
     subprocess.Popen("./play-slick", shell=True, cwd="play-slick/target/universal/play-slick-1.0-SNAPSHOT/bin")
 
   return 0
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     with open("./play-slick/target/universal/play-slick-1.0-SNAPSHOT/RUNNING_PID") as f:
       pid = int(f.read())

+ 2 - 2
play1/setup.py

@@ -2,14 +2,14 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play1/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
   subprocess.check_call("play1 start --%prod", shell=True, cwd="play1")
 #  subprocess.check_call("rm -rf $RESIN_HOME/webapps/*", shell=True)
 #  subprocess.check_call("play1 war -o $RESIN_HOME/webapps/play1 --exclude benchmark_config", shell=True, cwd="play1")
 #  subprocess.check_call("$RESIN_HOME/bin/resinctl start", shell=True)
   return 0
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("play1 stop", shell=True, cwd="play1")
 #    subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)

+ 2 - 2
play1siena/setup.py

@@ -4,7 +4,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("play1siena/conf/application.conf", "jdbc:mysql:\/\/.*:3306", "jdbc:mysql://" + args.database_host + ":3306")
   
   subprocess.check_call("rm -rf $RESIN_HOME/webapps/*", shell=True)
@@ -12,7 +12,7 @@ def start(args):
   subprocess.check_call("$RESIN_HOME/bin/resinctl start", shell=True)
 
   return 0
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     subprocess.check_call("rm -rf $RESIN_HOME/webapps/*", shell=True)

+ 2 - 2
rack/setup_jruby.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import re
 
-def start(args):
+def start(args, logfile):
 
   try:
     subprocess.check_call("rvm jruby-1.7.4 do bundle install --gemfile=Gemfile-jruby", shell=True, cwd="rack")
@@ -16,7 +16,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     subprocess.check_call("rm Gemfile", shell=True, cwd="rack")

+ 2 - 2
rack/setup_ruby.py

@@ -8,7 +8,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
 
   try:
     subprocess.check_call("rvm ruby-2.0.0-p0 do bundle install --gemfile=Gemfile-ruby", shell=True, cwd="rack")
@@ -19,7 +19,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
   try:
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
racket-ws/setup.py

@@ -4,13 +4,13 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   db_host = args.database_host
   threads = str(args.max_threads)
   subprocess.Popen("racket -t bench.rkt -- " + db_host + " > /dev/null", shell=True, cwd="racket-ws/bench")
   return 0
 
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
rails-stripped/setup_jruby.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("rails-stripped/config/database-jruby.yml", "host: .*", "host: " + args.database_host)
   setup_util.replace_text("rails-stripped/resin-web.xml", "mysql:\/\/.*:3306", "mysql://" + args.database_host + ":3306")
 
@@ -19,7 +19,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     subprocess.check_call("rm Gemfile", shell=True, cwd="rails-stripped")

+ 2 - 2
rails-stripped/setup_ruby.py

@@ -8,7 +8,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("rails-stripped/config/database-ruby.yml", "host: .*", "host: " + args.database_host)
   try:
     subprocess.check_call("rvm ruby-2.0.0-p0 do bundle install --gemfile=Gemfile-ruby", shell=True, cwd="rails-stripped")
@@ -20,7 +20,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
   try:
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
rails/setup_jruby.py

@@ -3,7 +3,7 @@ import subprocess
 import sys
 import setup_util
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("rails/config/database-jruby.yml", "host: .*", "host: " + args.database_host)
   setup_util.replace_text("rails/resin-web.xml", "mysql:\/\/.*:3306", "mysql://" + args.database_host + ":3306")
 
@@ -19,7 +19,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     subprocess.check_call("$RESIN_HOME/bin/resinctl shutdown", shell=True)
     subprocess.check_call("rm Gemfile", shell=True, cwd="rails")

+ 2 - 2
rails/setup_ruby.py

@@ -8,7 +8,7 @@ from os.path import expanduser
 
 home = expanduser("~")
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("rails/config/database-ruby.yml", "host: .*", "host: " + args.database_host)
   try:
     subprocess.check_call("rvm ruby-2.0.0-p0 do bundle install --gemfile=Gemfile-ruby", shell=True, cwd="rails")
@@ -20,7 +20,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True)
   try:
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)

+ 2 - 2
restexpress/setup.py

@@ -4,7 +4,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("restexpress/config/dev/environment.properties", "mongodb:\/\/.*\/hello_world", "mongodb://" + args.database_host + "/hello_world")
   setup_util.replace_text("restexpress/config/dev/environment.properties", "mysql:\/\/.*:3306", "mysql://" + args.database_host + ":3306")
 
@@ -16,7 +16,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
revel-jet/setup.py

@@ -6,7 +6,7 @@ import time
 
 CWD = 'revel-jet'
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text(CWD + "/src/benchmark/conf/app.conf", "tcp\(.*:3306\)", "tcp(" + args.database_host + ":3306)")
   if os.name == 'nt':
     env = os.environ.copy()
@@ -20,7 +20,7 @@ def start(args):
   subprocess.Popen("bin/revel run benchmark prod".rsplit(" "), cwd=CWD)
   return 0
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im benchmark.exe > NUL", shell=True)
     subprocess.call("taskkill /f /im revel.exe > NUL", shell=True)

+ 2 - 2
revel-qbs/setup.py

@@ -6,7 +6,7 @@ import time
 
 CWD = 'revel-qbs'
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text(CWD + "/src/benchmark/conf/app.conf", "tcp\(.*:3306\)", "tcp(" + args.database_host + ":3306)")
   if os.name == 'nt':
     env = os.environ.copy()
@@ -20,7 +20,7 @@ def start(args):
   subprocess.Popen("bin/revel run benchmark prod".rsplit(" "), cwd=CWD)
   return 0
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im benchmark.exe > NUL", shell=True)
     subprocess.call("taskkill /f /im revel.exe > NUL", shell=True)

+ 5 - 5
revel/setup.py

@@ -4,7 +4,7 @@ import os
 import setup_util
 import time
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("revel/src/benchmark/conf/app.conf", "tcp\(.*:3306\)", "tcp(" + args.database_host + ":3306)")
   if os.name == 'nt':
     env = os.environ.copy()
@@ -13,12 +13,12 @@ def start(args):
     subprocess.call(r"go build -o bin\revel.exe github.com/robfig/revel/revel", shell=True, cwd="revel", env=env)
     subprocess.Popen(r"bin\revel.exe run benchmark prod".rsplit(" "), shell=True, cwd="revel", env=env)
     return 0
-  subprocess.call("go get -u github.com/robfig/revel/revel", shell=True, cwd="revel")
-  subprocess.call("go build -o bin/revel github.com/robfig/revel/revel", shell=True, cwd="revel")
-  subprocess.Popen("bin/revel run benchmark prod".rsplit(" "), cwd="revel")
+  subprocess.call("go get -u github.com/robfig/revel/revel", shell=True, cwd="revel", stderr=logfile, stdout=logfile)
+  subprocess.call("go build -o bin/revel github.com/robfig/revel/revel", shell=True, cwd="revel", stderr=logfile, stdout=logfile)
+  subprocess.Popen("bin/revel run benchmark prod".rsplit(" "), cwd="revel", stderr=logfile, stdout=logfile)
   return 0
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     subprocess.call("taskkill /f /im benchmark.exe > NUL", shell=True)
     subprocess.call("taskkill /f /im revel.exe > NUL", shell=True)

+ 2 - 2
ringojs-convenient/setup.py

@@ -4,7 +4,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("ringojs-convenient/app/models.js", "dbHost = '.*';", "dbHost = '" + args.database_host + "';")
 
   try:
@@ -21,7 +21,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
ringojs/setup.py

@@ -4,7 +4,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("ringojs/ringo-main.js", "dbHost = '.*';", "dbHost = '" + args.database_host + "';")
 
   try:
@@ -14,7 +14,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
   out, err = p.communicate()
   for line in out.splitlines():

+ 2 - 2
scalatra/setup.py

@@ -5,7 +5,7 @@ import setup_util
 import os
 import glob
 
-def start(args):
+def start(args, logfile):
   setup_util.replace_text("scalatra/src/main/webapp/WEB-INF/resin-web.xml", "mysql:\/\/.*:3306", "mysql://" + args.database_host + ":3306")
 
   try:
@@ -26,7 +26,7 @@ def start(args):
     return 0
   except subprocess.CalledProcessError:
     return 1
-def stop():
+def stop(logfile):
   try:
     if os.name == 'nt':
       subprocess.check_call('"%RESIN_HOME%\\bin\\stop.bat"', shell=True)

+ 2 - 2
servicestack/setup_iis.py

@@ -3,7 +3,7 @@ import sys
 import setup_util
 import os
 
-def start(args):
+def start(args, logfile):
   if os.name != 'nt':
     return 1
   
@@ -14,7 +14,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name != 'nt':
     return 0
   

+ 2 - 2
servicestack/setup_nginx.py

@@ -6,7 +6,7 @@ import os
 root = os.getcwd() + "/servicestack"
 app = root + "/src"
 
-def start(args):
+def start(args, logfile):
   if os.name == 'nt':
     return 1
   
@@ -29,7 +29,7 @@ def start(args):
   except subprocess.CalledProcessError:
     return 1
 
-def stop():
+def stop(logfile):
   if os.name == 'nt':
     return 0
   

Some files were not shown because too many files changed in this diff