{"_id":"whiskey","_rev":"117-1bf7185706a67a4f685ea654307af69e","name":"whiskey","description":"Whiskey is a powerful test runner for Node.js applications and a process orchestration framework which makes running integration tests with a lot of service / process dependencies easier.","dist-tags":{"latest":"0.8.4"},"versions":{"0.2.0":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.2.0","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.4","long-stack-traces":">= 0.1.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.2.0","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"44e598e7901d9fc4dca9d49e9b5107a39508b8e7","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.2.0.tgz","integrity":"sha512-iCu1OEyRaiOqd4+LvxU2C0IEkbFY22ZcKzyWuCVTw2sm3B0lwt8lj+1r3dlcaGuE+r+QCQHowjYM96NmTbU+ew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4wogJjvanlRif8EtFhXxU8+2n6dTgUj5bMj2CeslhwAiEA4/UG6oTTz3aNOnsethZ4ixbqzzpWjrc0vsnfV3wFOQI="}]}},"0.2.1":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.2.1","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.2.1","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","dist":{"shasum":"b5103aaacf8157341cf481bcfd3369bafce332c1","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.2.1.tgz","integrity":"sha512-t948or+vW8XwVehG7E1jWWNeTIsSt6RfyAzGWz+cKI0c6wbF2vRWk+MrYmZRDruJtdbwy6vcSNKCy8p9QllHdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmXcP3p2vyTQPMZHLjBpMK78xY+kt1zZLhMP7zy8SdBAiEAxJ6wZIkblhMuSdcV625Ii3s/fanXqTtas5y7Z/CRTu8="}]}},"0.2.2":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.2.2","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.2.2","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.2","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"2b2536fc5dc5b02334369358c020e59ff731bf98","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.2.2.tgz","integrity":"sha512-DCPmkEMa2e8EqeRXMpFPB4Y/Zv/Yw+0oJRszNSc4lGarsPbetCsTe+HXthVp0HkS+dpYWDIZXF/wedJjwKk13g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHqtX9M20gVP2qZ6a197XyCYV+GUXLUoV9ruNgB5v1/JAiBuHN1AaU9N8ZJxe+fjUtSrl9peymGH3iB5uAK9QU1+fQ=="}]}},"0.2.3":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.2.3","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"devDependencies":{},"_id":"whiskey@0.2.3","_engineSupported":true,"_npmVersion":"1.0.1rc8","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"b76d4aa563671079e8989d3a49f925594e2dcd86","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.2.3.tgz","integrity":"sha512-83RNQ42TntO3NxCLS1QwEpn/PXOoWsoAZ8Ng8BIZ6IlaLnq+ZTPG/p3Mbn5mFLvez/dP35B/GLnlVoKPAg1Cfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRoZIXCxsQNJip7q85hJWoXeyiNt0XFSNcqiWkUz1Q+QIhAKGlxjXpiSkhCbrdtYato8pj7KWwMsDFvZtRkarWhjFG"}]}},"0.3.0":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.3.0","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"devDependencies":{},"_id":"whiskey@0.3.0","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.3","_defaultsLoaded":true,"dist":{"shasum":"6e900b5caccae96f0940a0dcdd98eac493fa7132","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.3.0.tgz","integrity":"sha512-W4adhmSmALYzCQk4RWozPE3nHhCdek3x5TAZsL51Ugkgpe6FnXs+z4p7252yEZHm08IBkVlRfU/aOkyc0I0SmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWMjLPOuqmcQ6m/TPtz3/FSEiz/0FwJh5bRddwooi75wIgYCYi38oUJgDEn916SeL9FDaBmKOFrx+tD/Ld0b+BM0Y="}]}},"0.3.1":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.3.1","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"devDependencies":{},"_id":"whiskey@0.3.1","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.3","_defaultsLoaded":true,"dist":{"shasum":"00fdd673ed4fa6c703747b321fb33a24d15d92bd","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.3.1.tgz","integrity":"sha512-rpuCDXPAEYB/DYuegELWv0/bb73vra5j44E5yZK3Vqho4CnVbMIJGhed8Wh8RvHRSWPf6F49iBnekdK5NxXY+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmEYIL71tY2HOKPcc0xlMArxSaOXmF6UyiAUW75Q4zhQIgLZd+6F4TY/zewubFzjz6a6dXe28IpRHcMeAjMNmsK+g="}]}},"0.3.2":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.3.2","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"devDependencies":{},"_id":"whiskey@0.3.2","_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.3","_defaultsLoaded":true,"dist":{"shasum":"487db9351cdb1939d179b1360f999cb7b0eab737","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.3.2.tgz","integrity":"sha512-akCrMBMv0iFbVxpusbD4H85I6eyeKQ649ApUOHRn+IP4DiNWy9LGhicD4feMcI49ti7K+Mzv8xAfGwnpNupQGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoZujXcWScIsc6bEGxjvsFbc+xarBa+qQRKsjZAGPGCwIhAKRuCQ3mPfjROQxvQsvvbZ3dVIEUD4HWXoJD2LymVZSf"}]}},"0.3.3":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.3.3","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.3.3","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.5","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"e4530d5d6429a6ed8c0349df7f910ebcc10f483c","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.3.3.tgz","integrity":"sha512-TyaU8kChOn5IVaagb59gHd6xZIu5m7X/6O8zkfXSfNElPc7VULClyVDAyUPhlL3Ap8iCr6pf4y0tzfz1JyDj/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYp5JJ1HCmSvgsIvsuyL9fRobsWb3ypg/j4T1twro5YQIgOksjmMAJamsfxLxDdxc3ArDDPpjL9K17VF8UKuFOKVQ="}]}},"0.3.4":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.3.4","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1","terminal":"= 0.1.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.3.4","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.7","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"1d0d26876f7497a1843d4721ead7c0e7a5e68905","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.3.4.tgz","integrity":"sha512-KP5YCe9I+aaJrVRXiQq3yCFnWVYnYIpcwC4mH32F8Mi+VmEEGNcV99tdba9y55LDFPnLgEF2erKf/rw6Wzk4gQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRuyLsyLwTd5r0V467j1f1B3ICso2IAjY+zyqDaF+g7AIhAPxK8F16Rrg9Yt2mrjlSgYMYsOe3JdKjZogcl6P3bRsK"}]}},"0.4.0":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.4.0","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1","terminal":"= 0.1.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.4.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.11","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"72b6db373060a9f06e359960a715225edcc311f6","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.4.0.tgz","integrity":"sha512-4fJPpuOrkMjTzXIwuj1P1RYZYORHFMQSW4cAWBgpJxIiCjY4KwP+0p4xd/AsiT/banxh1is39epfXE9HQhUqoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQColVSp9IxVfRsYLXQhX9GEiEh7S9apmgoOEujjBMkyXQIgFed8CpRIvWKdubMJoKQSgkKY78hKS2ScpSIUOrylnk8="}]}},"0.4.1":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.4.1","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1","terminal":"= 0.1.2","gex":"= 0.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"devDependencies":{},"_id":"whiskey@0.4.1","_engineSupported":true,"_npmVersion":"1.0.1rc8","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"5c7167beeb3393aeecb29f18c3471f9a6414d8bb","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.4.1.tgz","integrity":"sha512-roRFg2TciU8d0F9P9alTvpE8dw/LLemayrE9TPWg1HLiH4d4JwGZcmLRDyPR033LW/peWQ7QhJw+AY0tbENG6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKoTHugFFuTv/xsTJH7HCr8/8Z/mgz03LiStmFEOX7aAiEA/ZLJ+uZzkLTysHnrA/lLr6D2xoCxcA7wgZC/z710Nnw="}]}},"0.4.2":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.4.2","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.0","rimraf":"= 1.0.1","terminal":"= 0.1.2","gex":"= 0.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_id":"whiskey@0.4.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"5dfc567f4d86048c6527ff6c475150bad41089eb","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.4.2.tgz","integrity":"sha512-ZohN2JNUyNsAOOXiUsmi2Gba0oAGmYLVHxevW15Aw2CleoMcvn6IPVObxOEZKmwg5yqOLr4zQncozw1uVK50gw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATB0ZyKdoe02TPY7En9+sp2AGMPuUKlJE/39PtUUrojAiEArJaHhM71WAibmVD9umtMaelG9O07mTpOf6wSZM9/Xl8="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.5.0":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.5.0","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.5.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"6979063defc6d0f2b5e94ab992b6812a13e23949","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.5.0.tgz","integrity":"sha512-mvXCZH1JRHppSvAkkt8xWXL5qYju9TEkqYEa4+Fh34G1Ynn+OV8ZKsfR5fANp1Pr/rCOvp9x2FlPX2eTsMQHWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2vKRkf0OtN/wkKo0oqpq0pJdzs502/Cmy9dXJPZ7MgQIgTCNLuLDyhSroyomJlLv9UoKG1hGCMRQeLKLzP5q4fzg="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.5.1":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.5.1","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.5.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"0731c3e77cc24160e05866ce107e18eca889c134","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.5.1.tgz","integrity":"sha512-2Dze+7c+s+4mpaWD9mVrPW44JNtDy2EmuRyJo2tWrXhGt8b8csXAUl32dqEaO7RJTsj1cUb8RyXlMTE64vPyZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoNS0gSv6iitAcV+IEHTXMB1mP9dK9garFSnyKSq8uUQIgQU/BQOWUO/KMmPgCbRMluRabyBKAvRLJ0XeQleb9hTc="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.0":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.0","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.6.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"6970a2b377139bd2566ddb7010dad045dde04dc9","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.0.tgz","integrity":"sha512-lqC8VqIOwWlhaYVSR3YlIS1DPuQo45urLhgWFB02cqNxNriimutpHko/QS6maFbrpZHSgItjNVUqBd/ZVMrddw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDkAu0wttnyfz4u6u+/NpWVATQQdWVGhNOuGmcHAASRCAiEA+KHavcl/p+TdGWpOHTbh4aZAzoJobmwx8ieoE+DM5JQ="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.1":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.1","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.6.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"9117a8fc56ce1ba20995558b953aaed98a9fc243","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.1.tgz","integrity":"sha512-yMczkIOyJe3yE22OnSyZInhcc3wzGhWNBonCyvQKTs5YHcHppS3byZxEEKFAArQONDwbtUmGfKtVkSNzUb4rCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuNyWiOZ3y+rsg8xXOsNoG3GcHJAcbDGscJN7sXaKR3AiEAyE5cudegzBRTtan2feAghVpNDNJWjYjZZb5zcAbd73Y="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.2":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.2","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.6.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"1fc6a8d146c77079cfd9229b13e9dd4f2d3d11b2","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.2.tgz","integrity":"sha512-BHIZg7pDtwFwIWok5FA5xWl2X/jV1iGMRp9XNzW3LMGH/lwkdO30cMt6lpEPOHYn5f/42Tobov2kX2ytawqE9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyUaRWopu1lZgDVzbltiaj0IxaK59GP5xWlhZOrarMHwIgamkTYq+KmULlifMt/+zlddv7C0L6Nwr8u4rNzxgaWKM="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.3":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.3","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.6.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.13-pre","_defaultsLoaded":true,"dist":{"shasum":"ed37c7dd7bf26d053a2b591b32fba214d574b614","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.3.tgz","integrity":"sha512-xeilB4GdsEs5JZGjndQCBHuSQu0pHDgABBK+kl5bUrCOktYcSAx9ZYCDMgZQsZnYiNICYRRHwBxMrLB73MzxfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCb39O3XANyzzAAZJaq6wpYvRKOQGaPgv1JtEDF9TOwoAIhAPLUBtG+bN/EgP3YFOQP4xW80BEp4JHfkQCTuoWCyJpQ"}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.4":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.4","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.4","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.13-pre","_defaultsLoaded":true,"dist":{"shasum":"5b9211cec36e034c9974ec027a9964343c0bd164","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.4.tgz","integrity":"sha512-EhnVUKbj+QvMw2ONKac87tW4G1+W9luzhylsYKJ+5EGNwJwKzj73D7I3xjA19RwudM/jY7Dq2l2sZKxriTDVBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+x6zWP+kOwEh9FadRKAbGLQhJDo6YtZjIPPBlFjjmrAiBo5Fb/Qoc1IZL0oKmWXXTjJoujdx6HjoIfBq2zfxq4iw=="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.5":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.5","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.5","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.13-pre","_defaultsLoaded":true,"dist":{"shasum":"1e00dc46a02443cc3cd377736784300fd6d5913a","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.5.tgz","integrity":"sha512-NOUYp7T7rxypbl1p9bsPgoDurgVLzNG6LZzPFYwk45ek4rYkYnY/o7r7Zp5+uW1e3idD3bo6pf6W62qCbug2ZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3acEBkux82kT8NnMehQ06B1FXKcNxc5wFTamJ8pB0yAiBMnDdo6e6zTxLEkzKJh1iOCDVwS+ky+x+Nqg12RDCnZA=="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.6":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.6","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.6","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8-pre","_defaultsLoaded":true,"dist":{"shasum":"ac5cd6fd19ba3af1de1ede376339a85157d4dfe1","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.6.tgz","integrity":"sha512-B3KvtLN+QnJTkZOVcnANBFdJcq04+lDHp+LTO1W/8DL6g1tOKCkHDBom8PHI4QV/rCuBeWWYbmZ/3BpEM2Km1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCylny3c5+QVetrnjycVaJdjMdrxEADeWcvZWU3JDFWwIhAJ5bI8nTq8p5/3mbmvulTfg10u3qdABlMrzPbJNxZBDw"}]},"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel (`--concurrency` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test files to run\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nTest File Examples\n==================\n\nA simple example (success):\n\n``` javascript\nvar called = 0;\n\nexports['test_async_one_equals_one'] = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n}\n\nexports['tearDown'] = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n}\n```\n\nA simple example (skipping a test):\n\n``` javascript\nvar dbUp = false;\nexports['test_query'] = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\n\nA simple example (failure):\n\n``` javascript\nexports['test_two_equals_one'] = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder.\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one bellow:\n\n```javascript\nexports[\"test failure\"] = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.7":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.7","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.9","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz@tomaz.me"},"_id":"whiskey@0.6.7","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"1a0c33cfad25a698095eb720d7808bb2f6ca72e9","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.7.tgz","integrity":"sha512-qU2QRps0WF5NJHA1xYsHOx7VJ1S60R08OIsJby5YwSF/C7ziPuEjw2SxfZpGb6CL+G2yY04PqC2prmeOuMZjHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICDpZk0JiL+kgZUYvqygo5sp4uHsvA74umBGvbyAxCnWAiEAu9vJw08MrcvT6ORn5NM1HCbGcB2jgPxO/oXWzHa340w="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.8":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.8","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.8","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.10","_defaultsLoaded":true,"dist":{"shasum":"e4f374f69b4e7d5fbe11f91c29c1a7ce570a1978","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.8.tgz","integrity":"sha512-A5hn90F/jBp+K7LvGgVP0JGxcBhlKOyBWATAKbXynB+xKwnN7jEGj65asQQV0p5io1BIz79aAd+sJa9pae45GA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnv+KtGB9OgZMDNMUicasmRH/7a2MLE9kdOXVmsJ+w+wIgGFQqQ3TrlB9dCx/ATKEAPGEUVzv4rouh+zW/f11vx44="}]},"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel (`--concurrency` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test files to run\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nTest File Examples\n==================\n\nA simple example (success):\n\n``` javascript\nvar called = 0;\n\nexports['test_async_one_equals_one'] = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n}\n\nexports['tearDown'] = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n}\n```\n\nA simple example (skipping a test):\n\n``` javascript\nvar dbUp = false;\nexports['test_query'] = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\n\nA simple example (failure):\n\n``` javascript\nexports['test_two_equals_one'] = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder.\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports[\"test failure\"] = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.9":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.9","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.9","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"1428766926bcb940334034b34b78faa5290ec7af","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.9.tgz","integrity":"sha512-r7lIFT60C9f47yTR4PlLJLq8rA/Jq4O3TtdplJ3yfUkyiYTAlSiOoH4Rz+QS/fRfc+f1IvIbJqEe/rSNMQQIIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEQ+cP0/f9pFAtqHahvd8RdDKsCojr6qUZWuQ5HxizKTAiBliwoYZAb3EZ4+7yMXEaShBln6K8QOefv72VqGM3yQnw=="}]},"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel (`--concurrency` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test files to run\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nTest File Examples\n==================\n\nA simple example (success):\n\n``` javascript\nvar called = 0;\n\nexports['test_async_one_equals_one'] = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n}\n\nexports['tearDown'] = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n}\n```\n\nA simple example (skipping a test):\n\n``` javascript\nvar dbUp = false;\nexports['test_query'] = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\n\nA simple example (failure):\n\n``` javascript\nexports['test_two_equals_one'] = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder.\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports[\"test failure\"] = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.10":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.10","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.10","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"6dc385faabc09e60a742aa7f05f44d84a8563c86","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.10.tgz","integrity":"sha512-H0dZt486OISQAcIobAW8cFeOQpJCvKkJ9ugJ9zFsLOlmAaKZgXu2L5v+nNtAXtbmk1clGss60FYLhHqwo6BZKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQhW96lje9+PKaBlj1DV6Ndw0VmxI9lCGxaXzSTJPLRAIhAMc/w9MhxXZpdCK5roXtgupFmlEOz4XP5YlTd2EwphYK"}]},"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel (`--concurrency` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test files to run\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nTest File Examples\n==================\n\nA simple example (success):\n\n``` javascript\nvar called = 0;\n\nexports['test_async_one_equals_one'] = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n}\n\nexports['tearDown'] = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n}\n```\n\nA simple example (skipping a test):\n\n``` javascript\nvar dbUp = false;\nexports['test_query'] = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\n\nA simple example (failure):\n\n``` javascript\nexports['test_two_equals_one'] = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder.\n\n# Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports[\"test failure\"] = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.11":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.11","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"whiskey@0.6.11","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"bfe442870fb0d5a5b74491c223f8492d6eff0741","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.11.tgz","integrity":"sha512-fdYWQ6zJPKenZdPIAlF8yYyyWAE+P2SXC/bpb+gKV8eTOeqeuBVvdARwVxEPyrDQJoreBdZAb2+7OH0zTH7K8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvlXFO8ovpleMNHuzcrydIB7ZEjBPxofISsmBdg+b8xAIhAIIDV7Cj2sXdvdca8uk3T/s4oHD1Rx/H3odiVlDR68wE"}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.12":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.12","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nTest File Examples\n==================\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n# Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","_id":"whiskey@0.6.12","dist":{"shasum":"8c23eb276693553a4eff4beeb7a308c6c386dcf3","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.12.tgz","integrity":"sha512-il3EU2ufOm5KXWgufSefq4FYBlUl3fthE6QNBwPCqgiHmKct2DSU71tEL4gdslO+GkN8AC9zX03g6ENqYrY4xQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICD40EQFJvyKCdS87fu4Nejmiemqv1Jnugyi6mrUyL4AAiAwKLtMuhlTj/BvLIGmijbXOU2oIwLX5yxHvkqLLHG07g=="}]},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.6.13":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.6.13","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nTest File Examples\n==================\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n# Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","_id":"whiskey@0.6.13","dist":{"shasum":"2f7c45f26a185eae713d9f801711cdc431a60373","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.6.13.tgz","integrity":"sha512-E3ehSVtY+8FWYsvZMxitT8a1QG+LbHkhR2HDzB7hLiuwpC4Aua1bRylhTRe8v2sN+H84H7YzdLNn2Z5X3URZAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHP2v/vjYo26PbnXzkXq5Ludpu6AR3LlwpllCMtvIvKGAiBMhN2Eg95ZcGZzYTb1j9XUFjoYHxUBMsZzgCLdGsjusA=="}]},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.7.0":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.7.0","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-suite setUp / tearDown function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nA Note about setUp and tearDown\n===============================\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-suite basis; that is, Whiskey invokes setUp\nprior to running _all_ tests in a given Javascript file, called a suite, and\ninvokes tearDown after all tests in that file have been exhausted.  If you run\nmultiple suites in parallel (e.g., via the -T/--independent-tests option),\nyou'll get concurrent execution of setups and teardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests.  For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n   * **Example:** . . .\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\nTest File Examples\n==================\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n# Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","_id":"whiskey@0.7.0","dist":{"shasum":"574bbb5dda62f9348875b11f865d25610fc94296","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.7.0.tgz","integrity":"sha512-7kJfqt80WMoh0UjFAdz1GY7PaRDBcL7yxZoaWra+E+KZxw9zUg5Z4iYrMtnYZStwISS9djac9u5z5oTiiM/okQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxsfj1DLKDOkaoUXAre3KkfkyyhkmFZtzYmmg0+x4ulwIgRjBSiLjsdx17f72rbp1ghonhAFG9L4j/nclPxE72Ayg="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.7.1":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.7.1","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.18","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"Whiskey\n=======\n\nWhiskey is a powerful test runner for NodeJS applications.\n\nFeatures\n========\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-suite setUp / tearDown function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\nNon NPM-installable Dependencies\n===============================\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\nChanges\n=======\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\nInstallation\n============\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\nUsage\n=====\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n#### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\nA Note about setUp and tearDown\n===============================\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-suite basis; that is, Whiskey invokes setUp\nprior to running _all_ tests in a given Javascript file, called a suite, and\ninvokes tearDown after all tests in that file have been exhausted.  If you run\nmultiple suites in parallel (e.g., via the -T/--independent-tests option),\nyou'll get concurrent execution of setups and teardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests.  For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n   * **Example:** . . .\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\nTest File Examples\n==================\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n# Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\nRunning Whiskey test suite\n==========================\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n`npm test`\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\nContributing\n============\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\nDebugging\n=========\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\nTroubleshooting\n===============\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\nLicense\n=======\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","_id":"whiskey@0.7.1","dist":{"shasum":"5925b8ea7f3fd46b2b3ce5c11b3f981fc3c022c4","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.7.1.tgz","integrity":"sha512-32uuZNvyki8wW8dU1o3mkDXEiLZSeNgJOpbWnCdySyrIrN7TcqZX4Gv0BvDlfgHrYU4sx+ZcYsShnn0Mlgq+TQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZwwtjsApfnC8gQvnZNv8ev5cKXsPBQzBGDOM3wY/U4AiAUpYFRdnLBgH/C45SbpfLMEVvvlGfbZjWoQLXYa07pgQ=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.8.0-alpha":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.8.0-alpha","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.22","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"# Whiskey\n\nWhiskey is a powerful test runner for Node.js applications and a process\norchestration framework which makes running integration tests with a lot of\nservice / process dependencies easier.\n\n## Features\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-test `setUp` / `tearDown` function support\n* Per-suite (test file) `initialize` / `finalize` function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\n## Non NPM-installable Dependencies\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\n## Changes\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\n## Installation\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\n## Usage\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\n## A Note about setUp and tearDown\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-suite basis; that is, Whiskey invokes setUp\nprior to running _all_ tests in a given Javascript file, called a suite, and\ninvokes tearDown after all tests in that file have been exhausted.  If you run\nmultiple suites in parallel (e.g., via the -T/--independent-tests option),\nyou'll get concurrent execution of setups and teardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests. For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n   * **Example:** . . .\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\n## Test File Examples\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n## Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\n## Running Whiskey test suite\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n```bash\nnpm test\n```\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\n## Contributing\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\n## Debugging\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\n## Troubleshooting\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\n## License\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/cloudkick/whiskey/issues"},"_id":"whiskey@0.8.0-alpha","dist":{"shasum":"6a16daee8bd6e47e3df45cf265cc1cde281bf61d","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.8.0-alpha.tgz","integrity":"sha512-FI8J8+e8MUQ/9nx36jQB0U4/bu4FtF4h46+sLGNQezA89EzV562gsoqK/J9ii7iRReDgLu4QsListiGiPcOuBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiLZC6jRFjeIGbbSr2Pz3YSZFgvCgRl/NfOBXp+176LAIhAN7D+BKWet8UlXnmVxwb0g4chJ7qs5HZNrneZIKkJ2V0"}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.8.1-alpha":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.8.1-alpha","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.22","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"# Whiskey\n\nWhiskey is a powerful test runner for Node.js applications and a process\norchestration framework which makes running integration tests with a lot of\nservice / process dependencies easier.\n\n## Features\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-test `setUp` / `tearDown` function support\n* Per-suite (test file) `initialize` / `finalize` function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\n## Non NPM-installable Dependencies\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\n## Changes\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\n## Installation\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\n## Usage\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug** - Attach a Node debugger to the test process\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\n## A Note about setUp and tearDown\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-suite basis; that is, Whiskey invokes setUp\nprior to running _all_ tests in a given Javascript file, called a suite, and\ninvokes tearDown after all tests in that file have been exhausted.  If you run\nmultiple suites in parallel (e.g., via the -T/--independent-tests option),\nyou'll get concurrent execution of setups and teardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests. For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n   * **Example:** . . .\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\n## Test File Examples\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n## Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\n## Running Whiskey test suite\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n```bash\nnpm test\n```\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\n## Contributing\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\n## Debugging\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger attached to it\nand put you into the Node debugger prompt.\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\n## Troubleshooting\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\n## License\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/cloudkick/whiskey/issues"},"_id":"whiskey@0.8.1-alpha","dist":{"shasum":"765fc0a39ddeb6d81dc036c22c87846032093a48","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.8.1-alpha.tgz","integrity":"sha512-KJ8RL+mvdiWcndxjXKIeYGl4pcazgCiMEGaaNxXUyvq2tFDVjSQghI18d4ui/jM4U2HPGoXtcAQb0fV7oYik3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+kEwkLdl3kS+YmF+FtXvIQ6qWXdfZ+mLkwteBKSh1FQIgWKPV/XB7s7sOF3vKQWrshMg/8ClUGaY1m2A5p58BDcA="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.8.2":{"name":"whiskey","description":"A simple test runner for NodeJS applications.","version":"0.8.2","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.22","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"# Whiskey\n\nWhiskey is a powerful test runner for Node.js applications and a process\norchestration framework which makes running integration tests with a lot of\nservice / process dependencies easier.\n\n## Features\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-test `setUp` / `tearDown` function support\n* Per-suite (test file) `initialize` / `finalize` function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\n## Non NPM-installable Dependencies\n\n* [node-jscoverage](https://github.com/Kami/node-jscoverage) (only required if `--coverage` option is used)\n\n## Changes\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\n## Installation\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\n## Usage\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug NUMBER** - Attach a debugger to a test process listening on the specified port number\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\n## A Note about setUp and tearDown\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-suite basis; that is, Whiskey invokes setUp\nprior to running _all_ tests in a given Javascript file, called a suite, and\ninvokes tearDown after all tests in that file have been exhausted.  If you run\nmultiple suites in parallel (e.g., via the -T/--independent-tests option),\nyou'll get concurrent execution of setups and teardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests. For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n   * **Example:** . . .\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\n## Test File Examples\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n## Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\n## Running Whiskey test suite\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n```bash\nnpm test\n```\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\n## Contributing\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\n## Debugging\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger functionality.\nYou then need to manually connect to the debugger to control it (i.e. using\nnode repl or [node-inspector](https://github.com/dannycoates/node-inspector)).\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\n## Troubleshooting\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\n## License\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/cloudkick/whiskey/issues"},"_id":"whiskey@0.8.2","dist":{"shasum":"f7797099e46cb22f7d6d19db18ecb57fafef0e78","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.8.2.tgz","integrity":"sha512-Qu11u/V5GdJSKt3fdTgWjMQkD4FzzCQtS5oNOIVxez3ehI4yGIuemd3P6nHc711qjBnuUwAfz6eEgFXHE/plKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2RcJmooUpoqDlnmKK72mWYHnPiq0aizuf1Q80jT5S9QIhAO8MCooz5BpxI9/IGhb2chnboqQ5dSCnIPfc6MmhAerV"}]},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.8.3":{"name":"whiskey","description":"Whiskey is a powerful test runner for Node.js applications and a process orchestration framework which makes running integration tests with a lot of service / process dependencies easier.","version":"0.8.3","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"contributors":[{"name":"Tomaz Muraus","email":"tomaz+npm@tomaz.me","url":"http://www.tomaz.me"},{"name":"Russell Haering","email":"russellhaering@gmail.com","url":"http://russellhaering.com"},{"name":"Bjorn Tipling","email":"bjorn@ambientchill.com","url":"http://bjorn.tipling.com"},{"name":"Robert Chiniquy","email":"rchiniquy@yahoo.com","url":"http://robert-chiniquy.github.io"},{"name":"Sam Falvo","email":"sam.falvo@rackspace.com"}],"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage","process orchestration"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.22","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2","istanbul":">= 0.1.36"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"# Whiskey\n\nWhiskey is a powerful test runner for Node.js applications and a process\norchestration framework which makes running integration tests with a lot of\nservice / process dependencies easier.\n\n## Features\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-test `setUp` / `tearDown` function support\n* Per-suite (test file) `initialize` / `finalize` function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\n## Changes\n\nFor changes please see [CHANGES.md](/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\n## Installation\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\n## Usage\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug NUMBER** - Attach a debugger to a test process listening on the specified port number\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\n## A Note about setUp and tearDown\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-suite basis; that is, Whiskey invokes setUp\nprior to running _all_ tests in a given Javascript file, called a suite, and\ninvokes tearDown after all tests in that file have been exhausted.  If you run\nmultiple suites in parallel (e.g., via the -T/--independent-tests option),\nyou'll get concurrent execution of setups and teardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests. For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n   * **Example:** . . .\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\n## Test File Examples\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n## Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\n## Running Whiskey test suite\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n```bash\nnpm test\n```\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\n## Contributing\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\n## Debugging\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger functionality.\nYou then need to manually connect to the debugger to control it (i.e. using\nnode repl or [node-inspector](https://github.com/dannycoates/node-inspector)).\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\n## Troubleshooting\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\n## License\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/cloudkick/whiskey/issues"},"_id":"whiskey@0.8.3","dist":{"shasum":"cc890687502549c5fc46ab00838b9885efbb2749","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.8.3.tgz","integrity":"sha512-ef95YLsU69tH9f9r9/h7krx/ZoBexXqTgJVm2xddZ2XGDwXorEDgKLSzNQ2y5J4YjH/LR1P+hYI/bmUa4NK95A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHydOZd3lh4Oeqnh21yAmCAVGO7jxbve6pmLIFjEWIsOAiEA1623TAuP4HDJrM/FhqMVe9WJiDyoSew1slrw9xWFUvM="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.8.4":{"name":"whiskey","description":"Whiskey is a powerful test runner for Node.js applications and a process orchestration framework which makes running integration tests with a lot of service / process dependencies easier.","version":"0.8.4","author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"contributors":[{"name":"Tomaz Muraus","email":"tomaz+npm@tomaz.me","url":"http://www.tomaz.me"},{"name":"Russell Haering","email":"russellhaering@gmail.com","url":"http://russellhaering.com"},{"name":"Bjorn Tipling","email":"bjorn@ambientchill.com","url":"http://bjorn.tipling.com"},{"name":"Robert Chiniquy","email":"rchiniquy@yahoo.com","url":"http://robert-chiniquy.github.io"},{"name":"Sam Falvo","email":"sam.falvo@rackspace.com"}],"keywords":["whiskey","tests","test runner","testing","tdd","coverage","test coverage","process orchestration"],"homepage":"https://github.com/cloudkick/whiskey","repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"directories":{"lib":"./lib","example":"./example","bin":"./bin"},"scripts":{"lint":"./scripts/lint.sh","test":"make test"},"dependencies":{"sprintf":">= 0.1.1","async":">= 0.1.22","magic-templates":"= 0.1.1","rimraf":"= 1.0.1","terminal":"= 0.1.3","gex":"= 0.0.1","simplesets":"= 1.1.6","logmagic":"= 0.1.4","underscore":">= 1.4.2","istanbul":">= 0.1.37"},"devDependencies":{"jshint":"2.1.3"},"engines":{"node":">= 0.4.0"},"main":"./index","bin":{"whiskey":"./bin/whiskey"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"readme":"# Whiskey\n\nWhiskey is a powerful test runner for Node.js applications and a process\norchestration framework which makes running integration tests with a lot of\nservice / process dependencies easier.\n\n## Features\n\n* Each test file runs isolated in a separate process\n* Support for running multiple tests in parallel in a single suite (`--concurrency` option)\n* Support for running multiple suites in parallel (`--independent-tests` option)\n* Support for a test initialization function which is run before running the tests in a test file\n* Support for a test file timeout\n* Per-test `setUp` / `tearDown` function support\n* Per-suite (test file) `initialize` / `finalize` function support\n* Per-session, or global, setUp / tearDown function support\n* Support for different test reporters (cli, tap)\n* Support for code coverage (cli reporter, html reporter)\n* Support for reporting variables which have leaked into a global scope\n* Nicely formatted reports (colors!)\n* Integration with node debugger\n* Support for generating Makefiles with different Whiskey targets\n\n## Changes\n\nFor changes please see [CHANGES.md](https://github.com/cloudkick/whiskey/blob/master/CHANGES.md) file.\n\n## Installation\n\nInstall it using npm:\n\n```\nnpm install whiskey\n```\n\n## Usage\n\n    whiskey [options] --tests \"<test files>\"\n\n    whiskey [options] --independent-tests \"<test files>\"\n\n    whiskey [options] --tests \"<test files>\"  --independent-tests \"<test files>\"\n\n\n### Available options\n\n * **-t, --tests** - Whitespace separated list of test suites to run sequentially\n * **-T, --independent-tests** - Whitespace separated list of test suites to run concurrently\n * **-m, --max-suites NUMBER** - The number of concurrently executing independent test suites (defaults to 5)\n * **-ti, --test-init-file** - A path to the initialization file which must export\n `init` function and it is called in a child process *before running the tests in\n each test file\n * **-c, --chdir** - An optional path to which the child process will chdir to before\n running the tests\n * **-g, --global-setup-teardown STRING** - Specifies the file containing the globalSetUp and globalTearDown procedures.\n * **--timeout [NUMBER]** - How long to wait for tests to complete before timing\n out\n * **--failfast** - Stop running the tests on a first failure or a timeout\n * **--no-styles** - Don't use styles and colors\n * **--concurrency [NUMBER]** - Maximum number of tests which will run in parallel (defaults to 1)\n * **--quiet** - Don't print stdout and stderr\n * **--real-time** - Print stdout and stderr as soon as it comes in\n * **--test-reporter [cli,tap]** - Which test reporter to use (defaults to cli)\n * **--coverage** - Use this option to enable the test coverage\n * **--coverage-reporter [cli,html]** - Which coverage reporter to use (defaults to cli)\n * **--coverage-dir** - Directory where the coverage HTML report is saved\n * **--scope-leaks** - Record which variables were leaked into a global scope\n * **--scope-leaks-reporter [cli]** - Which scope leak reporter to use (defaults\n   to cli)\n * **--debug NUMBER** - Attach a debugger to a test process listening on the specified port number\n * **--report-timing** - Report each test run time\n * **--dependencies STRING** - Specify path to the dependencies file for the\n   process runner. More information about the process runner can be found at\n   [PROCESS_RUNNER.md](https://github.com/cloudkick/whiskey/blob/master/PROCESS_RUNNER.md)\n * **--only-essential-dependencies** - Only start dependencies required by the tests\n   files which are ran. This option is only applicable if `--dependencies` option\n   is used.\n\nNote: When specifying multiple test a list with the test paths must be quoted,\nfor example: `whiskey --tests \"tests/a.js tests/b.js tests/c.js\"`\n\n## A Note about setUp and tearDown\n\nPresently, two kinds of setup and teardown procedures exist with Whiskey.\nsetUp and tearDown work on a per-test basis; that is, Whiskey invokes setUp\nbefore running a test in a given Javascript file, called a suite and tearDown\nis invoked after a test run has finished.\nIf you run multiple suites in parallel (e.g., via the\n-T/--independent-tests option), you'll get concurrent execution of setups and\nteardowns as well.\n\nSometimes, though, you need longer-lived environmental configurations, or you\nneed safe resource sharing between entire batches of independently running\ntests. For these, you'll want to use globalSetUp and globalTearDown.\n\n * When do I use setUp / tearDown?\n   * When a suite's runtime environment **does not** influence other running suites.\n * When do I use globalSetUp / globalTearDown ?\n   * When a suite's runtime environment **can potentially** interfere with other, concurrently running suites.\n   * **Example:** Attempting to run multiple suites in parallel which rely on a Cassandra schema being in place, and each attempting to reset the schema to a known state on a single Cassandra instance, you'll get Cassandra schema version errors.  Using globalSetUp prevents this by running the schema reset code exactly once for _all_ tests.\n\n## Test File Examples\n\nA simple example (success):\n\n```javascript\nvar called = 0;\n\nexports.test_async_one_equals_one = function(test, assert) {\n  setTimeout(function() {\n    assert.equal(1, 1);\n    called++;\n    test.finish();\n  }, 1000);\n};\n\nexports.tearDown = function(test, assert) {\n  assert.equal(called, 1);\n  test.finish();\n};\n```\n\nA simple example (skipping a test):\n\n```javascript\nvar dbUp = false;\n\nexports.test_query = function(test, assert) {\n  if (!dbUp) {\n    test.skip('Database is not up, skipping...');\n    return;\n  }\n\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example (failure):\n\n```javascript\nexports.test_two_equals_one = function(test, assert) {\n  assert.equal(2, 1);\n  test.finish();\n};\n```\n\nA simple example using the optional BDD module:\n```javascript\nvar bdd = require('whiskey').bdd.init(exports);\nvar describe = bdd.describe;\n\ndescribe('the bdd module', function(it) {\n  it('supports it(), expect(), and toEqual()', function(expect) {\n    expect(true).toEqual(true);\n  });\n});\n```\n\nA simple example demonstrating how to use global setup and teardown functionality:\n``` javascript\nexports['globalSetUp'] = function(test, assert) {\n  // Set up database schema here...\n  // Push known data set to database here...\n  test.finish();\n}\n\nexports['globalTearDown'] = function(test, assert) {\n  // Drop database here...\n  test.finish();\n}\n```\n\nFor more examples please check the `example/` folder, and the `test/run.sh` script.\n\n## Build status\n\n[![Build Status](https://secure.travis-ci.org/cloudkick/whiskey.png)](http://travis-ci.org/cloudkick/whiskey)\n\n## Running Whiskey test suite\n\nTo run the Whiskey test suite, run the following command in the repository root\ndirectory.\n\n```bash\nnpm test\n```\n\nIf all the tests have sucessfully passed, the process should exit with a zero\nstatus code and you should see `* * * Whiskey test suite PASSED. * * *`\nmessage.\n\n## Contributing\n\nTo contribute, fork the repository, create a branch with your changes and open a\npull request.\n\n## Debugging\n\nIf you want to debug your test, you can use the `--debug` option. This will\ncause Whiskey to start the test process with the V8 debugger functionality.\nYou then need to manually connect to the debugger to control it (i.e. using\nnode repl or [node-inspector](https://github.com/dannycoates/node-inspector)).\n\nWhiskey will also by default set a breakpoint at the beginning of your test\nfile.\n\nNote: This option can only be used with a single test file.  Further, you\ncannot use the `--debug` and `--independent-tests` options together.  The\nsemantics just don't make any sense.  To debug a test, make sure you invoke it\nwith `--tests` instead.\n\n## Troubleshooting\n\n### I use `long-stack-straces` module in my own code and all of the tests get reported as succeeded\n\nLong stack traces modules intercepts the default Error object and throws a custom\none. The problem with this is that Whiskey internally relies on attaching the\ntest name to the `Error` object so it can figure out to which test the exception\nbelongs. long-stack-traces throws a custom Error object and as a consequence test\nname attribute gets lost so Whiskey thinks your test didn't throw any exceptions.\n\nThe solution for this problem is to disable `long-stack-trace` module when running\nthe tests. This shouldn't be a big deal, because Whiskey internally already uses\n`long-stack-traces` module which means that you will still get long stack traces\nin the exceptions which were thrown in your tests.\n\n### My test gets reported as \"timeout\" instead of \"failure\"\n\nIf your test gets reported as \"timeout\" instead of \"failure\" your test code most\nlikely looks similar to the one below:\n\n```javascript\nexports.test_failure = function(test, assert){\n  setTimeout(function() {\n    throw \"blaaaaah\";\n    test.finish();\n  },200);\n};\n```\n\nThe problem with this is that if you run tests in parallel (`--concurrency` > 1)\nand you don't use a custom assert object which gets passed to each test function,\nWhiskey can't figure out to which test the exception belongs. As a consequence,\nthe test is reported as \"timed out\" and the exception is reported as \"uncaught\".\n\nThe solution for this problem is to run the tests in sequential mode (drop the\n--concurrency option).\n\n## License\n\nApache 2.0, for more info see [LICENSE](/cloudkick/whiskey/blob/master/LICENSE).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/cloudkick/whiskey/issues"},"_id":"whiskey@0.8.4","dist":{"shasum":"89514f33ba7e314202a396e06dbb8a4a0d35eaaf","tarball":"https://registry.npmjs.org/whiskey/-/whiskey-0.8.4.tgz","integrity":"sha512-Tp+tiSlXpQHSKetlO2Swj3YsHqRzNYVSGc/tA2oC3ITav6u7H/q8VSboRQDEyTm659pMxURxxQW0OPH2KRfN4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC62LqN3jQtHTbOmMseqchK3JX4gnPCLynqtgJAbrPgXgIgIlV6h1GuKWBcZ4t8e5GY8BUpOBIwciNbaPtQP2/VHYY="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]}},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}],"time":{"modified":"2022-06-29T01:31:04.989Z","created":"2011-03-27T00:40:47.813Z","0.2.0":"2011-03-27T00:40:48.256Z","0.2.1":"2011-03-27T11:53:55.701Z","0.2.2":"2011-03-30T15:15:46.688Z","0.2.3":"2011-04-15T11:45:38.198Z","0.3.0":"2011-05-01T20:27:23.521Z","0.3.1":"2011-05-02T19:59:21.260Z","0.3.2":"2011-05-04T22:08:26.862Z","0.3.3":"2011-05-17T18:30:20.604Z","0.3.4":"2011-05-31T16:14:52.403Z","0.4.0":"2011-06-15T09:44:24.928Z","0.4.1":"2011-07-11T19:54:29.823Z","0.4.2":"2011-08-28T22:23:50.090Z","0.5.0":"2011-11-05T13:48:37.052Z","0.5.1":"2011-11-06T22:45:04.479Z","0.6.0":"2011-11-27T15:36:22.537Z","0.6.1":"2011-11-28T23:28:54.851Z","0.6.2":"2011-12-01T21:36:55.794Z","0.6.3":"2011-12-17T04:32:00.963Z","0.6.4":"2012-01-08T05:39:48.548Z","0.6.5":"2012-01-09T05:08:14.249Z","0.6.6":"2012-01-26T18:32:11.265Z","0.6.7":"2012-02-20T01:25:10.804Z","0.6.8":"2012-04-18T22:14:11.136Z","0.6.9":"2012-05-06T22:59:40.320Z","0.6.10":"2012-05-11T23:50:53.728Z","0.6.11":"2012-10-11T22:53:40.016Z","0.6.12":"2013-02-18T23:04:14.670Z","0.6.13":"2013-02-19T00:04:13.632Z","0.7.0":"2013-04-16T20:23:33.823Z","0.7.1":"2013-05-07T22:07:51.579Z","0.8.0-alpha":"2013-05-20T23:38:36.320Z","0.8.1-alpha":"2013-05-20T23:58:40.401Z","0.8.2":"2013-06-03T22:58:44.569Z","0.8.3":"2013-06-05T22:36:22.794Z","0.8.4":"2013-08-13T00:40:13.433Z"},"author":{"name":"Cloudkick, Inc.","email":"tomaz+npm@cloudkick.com"},"repository":{"type":"git","url":"git://github.com/cloudkick/whiskey.git"},"users":{"rjrodger":true,"dandamian":true}}