1 : /* 2 : Copyright (c) 2011, Yahoo! Inc. 3 : All rights reserved. 4 : 5 : Redistribution and use of this software in source and binary forms, 6 : with or without modification, are permitted provided that the following 7 : conditions are met: 8 : 9 : * Redistributions of source code must retain the above 10 : copyright notice, this list of conditions and the 11 : following disclaimer. 12 : 13 : * Redistributions in binary form must reproduce the above 14 : copyright notice, this list of conditions and the 15 : following disclaimer in the documentation and/or other 16 : materials provided with the distribution. 17 : 18 : * Neither the name of Yahoo! Inc. nor the names of its 19 : contributors may be used to endorse or promote products 20 : derived from this software without specific prior 21 : written permission of Yahoo! Inc. 22 : 23 : THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 24 : IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 25 : TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 26 : PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27 : OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28 : SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29 : LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 30 : DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 31 : THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 : (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 : OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 : */ 35 : 36 1 : module.exports = { 37 : Create: function(hub) { 38 : // Javascript is single threaded! We don't have to worry about concurrency! 39 1 : var path = require('path'); 40 : 41 : // Events I care about 42 1 : hub.addListener('action:pop', pop); 43 : 44 : // THIS IS DANGEROUS!!! 45 : // Take off top test whatever it is 46 1 : function pop(req, res, cache) { 47 3 : cache.tests_to_run.shift(); 48 3 : hub.emit('action:status', req, res, cache); 49 : } 50 : } 51 : }; 52 :