Просмотр исходного кода

Wrap smoke test in domain to catch errors

James Allen 12 лет назад
Родитель
Сommit
d4af0fe36d
1 измененных файлов с 11 добавлено и 8 удалено
  1. 11 8
      services/web/app/coffee/Features/HealthCheck/HealthCheckController.coffee

+ 11 - 8
services/web/app/coffee/Features/HealthCheck/HealthCheckController.coffee

@@ -3,23 +3,26 @@ Base = require("mocha/lib/reporters/base")
 redis = require("redis-sharelatex")
 redis = require("redis-sharelatex")
 settings = require("settings-sharelatex")
 settings = require("settings-sharelatex")
 redisCheck = redis.activeHealthCheckRedis(settings.redis.web)
 redisCheck = redis.activeHealthCheckRedis(settings.redis.web)
+logger = require "logger-sharelatex"
+domain = require "domain"
 
 
 module.exports = HealthCheckController =
 module.exports = HealthCheckController =
 	check: (req, res, next = (error) ->) ->
 	check: (req, res, next = (error) ->) ->
-		mocha = new Mocha(reporter: Reporter(res), timeout: 10000)
-		mocha.addFile("test/smoke/js/SmokeTests.js")
-		mocha.run () ->
-			path = require.resolve(__dirname + "/../../../../test/smoke/js/SmokeTests.js")
-			delete require.cache[path]
+		d = domain.create()
+		d.on "error", (error) ->
+ 			logger.err err: error, "error in mocha"
+		d.run () ->
+			mocha = new Mocha(reporter: Reporter(res), timeout: 10000)
+			mocha.addFile("test/smoke/js/SmokeTests.js")
+			mocha.run () ->
+				path = require.resolve(__dirname + "/../../../../test/smoke/js/SmokeTests.js")
+				delete require.cache[path]
 
 
 	checkRedis: (req, res, next)->
 	checkRedis: (req, res, next)->
 		if redisCheck.isAlive()
 		if redisCheck.isAlive()
 			res.send 200
 			res.send 200
 		else
 		else
 			res.send 500
 			res.send 500
-
-
-
 		
 		
 Reporter = (res) ->
 Reporter = (res) ->
 	(runner) ->
 	(runner) ->