From 1f184e8dea3f90f6739c619a5000cc92e4ed5166 Mon Sep 17 00:00:00 2001 From: Tjatse Date: Sun, 2 Nov 2014 13:10:40 +0800 Subject: [PATCH] test case for start/stop peaceful --- test/core/start-stop-peaceful-test.js | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test/core/start-stop-peaceful-test.js diff --git a/test/core/start-stop-peaceful-test.js b/test/core/start-stop-peaceful-test.js new file mode 100644 index 00000000..6200fbe0 --- /dev/null +++ b/test/core/start-stop-peaceful-test.js @@ -0,0 +1,60 @@ +/* + * daemonic-inheritance-test.js: start or stop forever peaceful, the script path could be start with './', '../' ... + * + * (C) 2010 Charlie Robbins & the Contributors + * MIT LICENCE + * + */ + +var assert = require('assert'), + path = require('path'), + fs = require('fs'), + spawn = require('child_process').spawn, + vows = require('vows'), + forever = require('../../lib/forever'); + +function runCmd(cmd, args) { + var proc = spawn(process.execPath, [ + path.resolve(__dirname, '../../', 'bin/forever'), + cmd + ].concat(args), {detached: true}); + + proc.unref(); +} + +vows.describe('forever/core/start-stop-peaceful').addBatch({ + "When using forever":{ + "to run script with relative script path":{ + topic:function () { + runCmd('start', [ + './test/fixtures/log-on-interval.js' + ]); + setTimeout(function (that) { + forever.list(false, that.callback); + }, 1000, this) + }, + "the startup should works fine":function (err, procs) { + assert.isNull(err); + assert.isArray(procs); + assert.equal(procs.length, 1); + } + } + } +}).addBatch({ + "When the script is running":{ + "try to stop with relative script path":{ + topic:function () { + runCmd('stop', [ + './test/fixtures/log-on-interval.js' + ]); + setTimeout(function (that) { + forever.list(false, that.callback); + }, 1000, this) + }, + "the shut down should works fine":function (err, procs) { + assert.isNull(err); + assert.isNull(procs); + } + } + } + }).export(module); \ No newline at end of file