CB-10628 Fix emulate android --target

Added a test case
This commit is contained in:
daserge
2016-02-18 21:27:40 +03:00
parent 7be9e880c2
commit ce2525d4d8
4 changed files with 58 additions and 8 deletions
+4 -3
View File
@@ -23,7 +23,6 @@
var retry = require('./retry');
var build = require('./build');
var check_reqs = require('./check_reqs');
var path = require('path');
var Adb = require('./Adb');
var AndroidManifest = require('./AndroidManifest');
@@ -105,7 +104,8 @@ module.exports.best_image = function() {
var closest = 9999;
var best = images[0];
var project_target = check_reqs.get_target().replace('android-', '');
// Loading check_reqs at run-time to avoid test-time vs run-time directory structure difference issue
var project_target = require('./check_reqs').get_target().replace('android-', '');
for (var i in images) {
var target = images[i].target;
if(target) {
@@ -165,7 +165,8 @@ module.exports.start = function(emulator_ID, boot_timeout) {
return best.name;
}
var androidCmd = check_reqs.getAbsoluteAndroidCmd();
// Loading check_reqs at run-time to avoid test-time vs run-time directory structure difference issue
var androidCmd = require('./check_reqs').getAbsoluteAndroidCmd();
return Q.reject(new CordovaError('No emulator images (avds) found.\n' +
'1. Download desired System Image by running: ' + androidCmd + ' sdk\n' +
'2. Create an AVD by running: ' + androidCmd + ' avd\n' +
+14 -4
View File
@@ -27,6 +27,19 @@ var path = require('path'),
device = require('./device'),
Q = require('q');
function getInstallTarget(runOptions) {
var install_target;
if (runOptions.target) {
install_target = runOptions.target;
} else if (runOptions.device) {
install_target = '--device';
} else if (runOptions.emulator) {
install_target = '--emulator';
}
return install_target;
}
/**
* Runs the application on a device if available. If no device is found, it will
* use a started emulator. If no started emulators are found it will attempt
@@ -40,10 +53,7 @@ var path = require('path'),
module.exports.run = function(runOptions) {
var self = this;
var install_target = runOptions.device ? '--device' :
runOptions.emulator ? '--emulator' :
runOptions.target;
var install_target = getInstallTarget(runOptions);
return Q()
.then(function() {