[ https://issues.apache.org/jira/browse/CB-8870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520132#comment-14520132 ]
ASF GitHub Bot commented on CB-8870: ------------------------------------ Github user nikhilkh commented on a diff in the pull request: https://github.com/apache/cordova-medic/pull/47#discussion_r29375808 --- Diff: bin/medic.js --- @@ -39,9 +65,109 @@ var argv = optimist .argv; // helpers +function killTasks(taskNames) { + + if (!taskNames || taskNames.length < 1) { + console.warn("no tasks to kill"); + return; + } + + if (isWindows()) { + var cli = "taskkill /F"; + var args = taskNames.map(function (name) { return "/IM \"" + name + "\""; }); + } else { + var cli = "killall"; + var args = taskNames.map(function (name) { return "\"" + name + "\""; }); + } + + var command = cli + " " + args.join(" "); + medicLog("running the following command:"); + medicLog(" " + command); + + shelljs.exec(command, {silent: false, async: true}, function (returnCode, output) { + if (returnCode !== 0) { + console.warn("WARNING: kill command returned " + returnCode); + } + }); +} + function fatal(message) { - console.error("ERROR: " + message); - process.exit(1); + console.error("FATAL: " + message); + process.exit(ERROR); +} + +function medicLog(message) { + console.log("\033[32m[MEDIC LOG]\033[m " + message); +} + +function currentMillisecond() { + // NOTE: + // coercing a Date to a Number returns + // the Date's representation in milliseconds + return Number(new Date()); +} + +function generateBuildID() { + var components = [MEDIC_BUILD_PREFIX, currentMillisecond()]; + return components.join("-"); +} + +function tasksOnPlatform(platformName) { + switch (platformName) { + case WINDOWS: + return ["WWAHost.exe"]; + case WP8: + return ["Xde.exe"]; + case IOS: + return ["iOS Simulator"]; + case ANDROID: + if (isWindows()) { + return ["emulator-arm.exe", "adb.exe"]; + } else { + return ["emulator64-x86"]; + } + case BLACKBERRY: + return []; + default: + fatal("unknown platform " + platformName); + } +} + +function cloneProject(projectName, projectsConfig) { + + var project = projectsConfig[projectName]; + var codebase = project.codebases[project.codebase]; + var command = "git clone " + codebase.repo + " --branch=" + codebase.branch + " --depth 1" + + shelljs.exec(command, {silent: false, async: true}, function (returnCode, output) { + if (returnCode !== 0) { + fatal("command \"" + command + "\" failed with code " + returnCode); --- End diff -- It will be nice to provide the `output` for diagnostics of why it failed > Medic should display test failures in build status > -------------------------------------------------- > > Key: CB-8870 > URL: https://issues.apache.org/jira/browse/CB-8870 > Project: Apache Cordova > Issue Type: Improvement > Components: Medic > Affects Versions: Master > Reporter: Dmitry Blotsky > Labels: improvement, medic > Original Estimate: 72h > Remaining Estimate: 72h > -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org