UNPKG

curator

Version:

A flexible process monitoring and management framework.

36 lines (33 loc) 1.26 kB
vows = require 'vows' assert = require 'assert' procPoller = require 'curator/lib/system/procPoller' vows .describe('system/procPoller') .addBatch 'The procPoller': topic: -> procPoller 'has a poll function': -> assert.isFunction procPoller.poll 'after called with this.process\' pid': topic: -> procPoller.poll process.pid, @callback 'return no error, and a valid stat': (err, stat) -> assert.isNull err assert.isObject stat 'returned stat is not empty': (err, stat) -> assert.isNotZero stat 'returned stat has a mem close to node\'s `memoryUsage().rss`': (err, stat) -> mem = process.memoryUsage().rss / 1024 value = Math.abs(mem - stat.mem) / mem bool = value < 0.08 unless bool console.log '' console.log 'Fail stats:' console.log "mem: #{mem}; stat.mem: #{stat.mem}" console.log "Math.abs(mem - stat.mem) / mem : #{value}" assert.isTrue bool 'returned stat has correct pmem': (err, stat) -> assert.isTrue stat.pmem > 0 'returned stat has correct pcpu': (err, stat) -> assert.isTrue stat.pcpu > 0 .export module