Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: test/runners/chromium_remote_process.js

Issue 29874649: Issue 6822 - Report browser test errors (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: eslint fixes Created Sept. 20, 2018, 10:26 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 arguments: scriptArgs.map(arg => ({value: arg})) 172 arguments: scriptArgs.map(arg => ({value: arg}))
173 }); 173 });
174 if (callResult.exceptionDetails) 174 if (callResult.exceptionDetails)
175 throwException(callResult.exceptionDetails, scriptName); 175 throwException(callResult.exceptionDetails, scriptName);
176 176
177 let promiseResult = await Runtime.awaitPromise({ 177 let promiseResult = await Runtime.awaitPromise({
178 promiseObjectId: callResult.result.objectId 178 promiseObjectId: callResult.result.objectId
179 }); 179 });
180 if (promiseResult.exceptionDetails) 180 if (promiseResult.exceptionDetails)
181 throwException(promiseResult.exceptionDetails, scriptName); 181 throwException(promiseResult.exceptionDetails, scriptName);
182
183 return Runtime.evaluate({
184 expression: "window._consoleLogs",
185 returnByValue: true
186 }).then(result =>
187 {
188 if (result.result.value.failures != 0)
189 return Promise.reject("Chromium (Remote Interface)");
Sebastian Noack 2018/09/21 14:22:20 Nit: You can just use throw here.
hub 2018/09/21 15:39:35 Done.
190 });
182 } 191 }
183 finally 192 finally
184 { 193 {
185 client.close(); 194 client.close();
186 } 195 }
187 }); 196 });
188 } 197 }
189 198
190 module.exports = function(script, scriptName, ...scriptArgs) 199 module.exports = function(script, scriptName, ...scriptArgs)
191 { 200 {
192 return ensureChromium(CHROMIUM_REVISION).then(chromiumPath => 201 return ensureChromium(CHROMIUM_REVISION).then(chromiumPath =>
193 { 202 {
194 let child = startChromium(chromiumPath); 203 let child = startChromium(chromiumPath);
195 return Promise.race([ 204 return Promise.race([
196 child.done, 205 child.done,
197 runScript(script, scriptName, scriptArgs) 206 runScript(script, scriptName, scriptArgs)
198 ]).then(result => 207 ]).then(result =>
199 { 208 {
200 child.kill(); 209 child.kill();
201 return result; 210 return result;
202 }).catch(error => 211 }).catch(error =>
203 { 212 {
204 child.kill(); 213 child.kill();
205 throw error; 214 return Promise.reject(error);
206 }); 215 });
207 }); 216 });
208 }; 217 };
OLDNEW

Powered by Google App Engine
This is Rietveld