Running `npm -t` for `master` locally gives this output for me:

```

> [email protected] test 
> C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib
> npm run eslint && npm run unit-tests && npm run e2e-tests


> [email protected] eslint 
> C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib
> eslint .


> [email protected] unit-tests 
> C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib
> jasmine JASMINE_CONFIG_PATH=spec/jasmine.json

Jasmine started

  build command

    failure
      √ Test 001 : should not run inside a project with no platforms 
(0.01 sec)
      √ Test 002 : should not run outside of a Cordova-based project 
(0.002 sec)

    success
      √ Test 003 : should run inside a Cordova-based project with at least 
one added platform and call both prepare and compile (0.004 sec)
      √ Test 004 : should pass down options (0.002 sec)

    hooks

      when platforms are added
        √ Test 006 : should fire before hooks through the hooker 
module (0.001 sec)
        √ Test 007 : should fire after hooks through the hooker 
module (0.001 sec)

      with no platforms added
        √ Test 008 : should not fire the hooker (0.001 sec)

  compile command

    failure
      √ Test 001 : should not run inside a Cordova-based project with no 
added platforms by calling util.listPlatforms (0.001 sec)
      √ Test 002 : should not run outside of a Cordova-based project 
(0.001 sec)

    success
      √ Test 003 : should run inside a Cordova-based project with at least 
one added platform and shell out to build (0.002 sec)
      √ Test 004 : should pass down optional parameters (0.001 sec)

    hooks

      when platforms are added
        √ Test 006 : should fire before hooks through the hooker 
module (0.001 sec)
        √ Test 007 : should fire after hooks through the hooker 
module (0.001 sec)

      with no platforms added
        √ Test 008 : should not fire the hooker (0.001 sec)

  cordova lib main export
    √ should be available (0.001 sec)

  create basic test (see more in cordova-create)
    √ Test 003 : should successfully run (0.264 sec)

  emulate command

    failure
      √ Test 001 : should not run inside a Cordova-based project with no 
added platforms by calling util.listPlatforms (0.001 sec)
      √ Test 002 : should not run outside of a Cordova-based project 
(0.001 sec)

    success
      √ Test 003 : should run inside a Cordova-based project with at least 
one added platform and call prepare and shell out to the emulate script 
(0.001 sec)
      √ Test 004 : should pass down options (0.001 sec)

      run parameters should not be altered by intermediate build command
        √ Test 006 : should leave parameters unchanged (0.014 sec)

      √ Test 007 : should call platform's build method (0.001 sec)
      √ Test 008 : should not call build if --nobuild option is 
passed (0.001 sec)

    hooks

      when platforms are added
        √ Test 009 : should fire before hooks through the hooker 
module (0 sec)
        √ Test 010 : should fire after hooks through the hooker 
module (0.001 sec)

      with no platforms added
        √ Test 011 : should not fire the hooker (0.001 sec)

  cordova/platform/addHelper

    error/warning conditions
      √ should require specifying at least one platform (0.068 sec)
      √ should log if host OS does not support the specified platform 
(0.069 sec)
      √ should throw if platform was already added before adding 
(0.058 sec)
      √ should throw if platform was not added before updating (0.048 
sec)

    happy path (success conditions)
      √ should fire the before_platform_* hook (0.074 sec)

      platform spec inference
        √ should retrieve platform details from 
directories-specified-as-platforms using getPlatformDetailsFromDir (0.055 
sec)
        √ should retrieve platform details from 
URLs-specified-as-platforms using downloadPlatform (0.039 sec)
        √ should use spec from config.xml if package.json does not contain 
dependency for platform (0.047 sec)
        √ should attempt to retrieve from config.xml if exists and 
package.json does not (0.031 sec)
        √ should fall back to using pinned version if both package.json 
and config.xml do not specify it (0.029 sec)
        √ should invoke fetch if provided as an option and spec is a 
directory (0.036 sec)

      platform api invocation
        √ should invoke the createPlatform platform API method when adding 
a platform, providing destination location, parsed config file and platform 
detail options as arguments (0.023 sec)
        √ should invoke the update platform API method when updating a 
platform, providing destination location and plaform detail options as 
arguments (0.032 sec)

      after platform api invocation

        when the restoring option is not provided
          * should invoke preparePlatforms twice (?!?), once before 
installPluginsForNewPlatforms and once after... ?!

        √ should invoke the installPluginsForNewPlatforms method in the 
platform-add case (0.043 sec)
        √ should write out the version of platform just added/updated to 
config.xml if the save option is provided (0.039 sec)

        if the project contains a package.json
          √ should write out the platform just added/updated to the 
cordova.platforms property of package.json (0.025 sec)
          √ should use pkgJson version devDependencies, if dependencies 
are undefined (0.057 sec)
          √ should only write the package.json file if it was 
modified (0.045 sec)
          √ should file the after_platform_* hook (0.021 sec)

    downloadPlatform

      errors
        √ should reject the promise should fetch fail (0.048 sec)

      happy path
        √ should invoke cordova-fetch if fetch was provided as an 
option (0.022 sec)
        √ should pass along a libDir argument to getPlatformDetailsFromDir 
on a successful platform download (0.027 sec)

    installPluginsForNewPlatform
      √ should immediately return if there are no plugins to install into 
the platform (0.054 sec)
      √ should invoke plugman.install, giving correct platform, plugin and 
other arguments (0.031 sec)
      √ should include any plugin variables as options when invoking 
plugman install (0.022 sec)

  cordova/platform/check
    √ If no results, platforms cannot be updated (2 secs)
    √ Should warn if install failed (2 secs)
    √ Should warn if version-empty (0.117 sec)
    √ Should warn if version-failed (2 secs)

  cordova/platform/getPlatformDetailsFromDir
    √ should throw if no config.xml or pkgJson (0.001 sec)
    √ should throw if no platform is provided (0 sec)
    √ should return a promise with platform and version (0 sec)
    √ should remove the cordova- prefix from the platform name for known 
platforms (0.001 sec)

  cordova/platform

    main module function

      error/warning conditions
        √ should require at least one platform for add and remove 
commands (0.017 sec)

      handling of targets parameter
        √ should be able to handle an array of platform targets (0 
sec)
        √ should be able to handle a single platform target string 
(0.001 sec)

      happy path (success conditions)
        √ should direct `add` commands to the `add` method/module (0 
sec)
        √ should direct `remove` + `rm` commands to the `remove` 
method/module (0.001 sec)
        √ should direct `update` + `up` commands to the `update` 
method/module (0 sec)
        √ should direct `check` commands to the `check` method/module 
(0 sec)
        √ should direct `list`, all other commands and no command at all 
to the `list` method/module (0.001 sec)

  cordova/platform/list
    √ should fire the before_platform_ls hook (0.001 sec)
    √ should fire the after_platform_ls hook (0.014 sec)
    √ should print results of available platforms (0.001 sec)
    √ should return platform list (0 sec)

  cordova.platform

    add function
      √ Test 004 : throws if the target list is empty (0.001 sec)
      √ Test 005 : throws if the target list is undefined (0 sec)
      √ Test 006 : throws if the target list is null (0.001 sec)

  cordova/platform/remove

    error/warning conditions
      √ should require specifying at least one platform (0.014 sec)

    happy path (success conditions)
      √ should fire the before_platform_* hook (0.014 sec)
      √ should remove <platform>.json file from plugins directory 
(0.012 sec)
      √ should remove from config.xml and platforms.json (0.016 sec)
      √ should remove from package.json (0.023 sec)
      √ fetch should be called (0.009 sec)
      √ should file the after_platform_* hook (0.01 sec)

  platforms/platforms
    √ should have getPlatformApi function as a property (0 sec)
    √ should have all and only the supported platforms (0.016 sec)

    getPlatformApi method
      √ should return PlatformApi class defined by platform (0.021 
sec)
      √ should cache PlatformApi instance for further calls (0.005 
sec)
      √ should resolve symlinks before creating an instance (0.017 
sec)
      √ should return cached instance by symlink to project root 
(0.005 sec)
      √ should succeed if called inside of cordova project w/out 
platformRoot param (0.003 sec)
      √ should throw if called outside of cordova project w/out 
platformRoot param (0.003 sec)
      √ should throw for unknown platform (0.004 sec)
      √ should throw for nonsense www platform (0.002 sec)

  cordova/plugin/add

    main method

      error/warning conditions
        √ should error out if at least one plugin is not specified 
(0.003 sec)
        √ should error out if any mandatory plugin variables are not 
provided (0.002 sec)

      happy path
        √ should fire the before_plugin_add hook (0.002 sec)
        √ should determine where to fetch a plugin from using 
determinePluginTarget and invoke plugman.fetch with the resolved target 
(0.002 sec)
        √ should retrieve any variables for the plugin from config.xml and 
add them as cli variables only when the variables were not already provided via 
options (0.013 sec)
        √ should invoke plugman.install for each platform added to the 
project (0.001 sec)
        √ should save plugin variable information to package.json file (if 
exists) (0.002 sec)
        √ should overwrite plugin information in config.xml after a 
successful installation (0.001 sec)
        * should invoke preparePlatforms if plugman.install returned a 
falsey value
        √ should fire after_plugin_add hook (0.001 sec)

    determinePluginTarget helper method
      √ should return the target directly if the target is 
pluginSpec-parseable (0.001 sec)
      √ should return the target directly if the target is a URL 
(0.001 sec)
      √ should return the target directly if the target is a 
directory (0.001 sec)
      √ should retrieve plugin version from package.json (if exists) 
(0.001 sec)
      √ should retrieve plugin version from package.json devDependencies 
(if exists) (0 sec)
      √ should retrieve plugin version from config.xml as a last 
resort (0.001 sec)
      √ should return plugin version retrieved from package.json or 
config.xml if it is a URL (0.001 sec)
      √ should return plugin version retrieved from package.json or 
config.xml if it is a directory (0.001 sec)
      √ should return plugin version retrieved from package.json or 
config.xml if it has a scope (0.001 sec)

      with no version inferred from config files or provided plugin target

        when searchpath or noregistry flag is provided
          √ should end up just returning the target passed in case of 
searchpath (0.001 sec)
          √ should end up just returning the target passed in case of 
noregistry (0.001 sec)

        when registry/npm is to be used (neither searchpath nor noregistry flag 
is provided)
          √ should retrieve plugin info via registry.info (0.001 sec)
          √ should feed registry.info plugin information into 
getFetchVersion (0 sec)
          √ should return the target as plugin-id@fetched-version (0 
sec)

    parseSource helper method
      √ should return target when url is passed (0 sec)
      √ should return target when local path is passed (0.015 sec)
      √ should return null when target is not url or local path (0 
sec)

    getVersionFromConfigFile helper method
      √ should return spec (0 sec)

    unit tests to replace integration-tests/plugin_fetch.spec.js

      getFetchVersion helper method
        √ should resolve with null if plugin info does not contain engines 
and engines.cordovaDependencies properties (0.001 sec)
        √ should retrieve installed plugins and installed platforms 
version and feed that information into determinePluginVersionToFetch 
(0.001 sec)

      determinePluginVersionToFetch helper method
        √ should return null if no valid semver versions exist and no 
upperbound constraints were placed (0.005 sec)
        √ should return null and fetching latest version of plugin 
(0.002 sec)
        √ should return highest version of plugin available based on 
constraints (0.001 sec)

      getFailedRequirements helper method
        √ should remove prerelease version (0.001 sec)
        √ should return an empty array if no failed requirements 
(0.014 sec)
        √ should return an empty array if invalid dependency 
constraint (0.001 sec)
        √ should return an array with failed plugin requirements  (0 
sec)
        √ should return an array with failed cordova requirements  
(0.001 sec)
        √ should return an array with failed platform requirements  
(0.002 sec)

      listUnmetRequirements helper method
        √ should emit warnings for failed requirements (0.001 sec)

      findVersion helper method
        √ should return null if version is not in array (0.001 sec)
        √ should return the version if it is in the array (0 sec)

  cordova/plugin

    error conditions
      √ should require at least one target for add and rm commands 
(0.001 sec)

    handling/massaging of parameters
      √ should be able to handle an array of platform targets (0.003 
sec)
      √ should be able to handle a single string as a target (0.002 
sec)
      √ should transform targets that start with a dash into options 
(0.011 sec)
      √ should also include targets into a plugins property on 
options (0.001 sec)

    happy path
      √ should direct "add" command to the "add" submodule (0 sec)
      √ should direct "rm" and "remove" commands to the "remove" 
submodule (0.001 sec)
      √ should direct "save" command to the "save" submodule (0 sec)
      √ should direct "list", all other commands and no command at all to 
the "list" submodule (0 sec)

  cordova/plugin/list
    √ should fire the before_plugin_ls hook (0 sec)
    √ should emit a "no plugins added" result if there are no installed 
plugins (0 sec)
    √ should warn if plugin list contains dependencies that are 
missing (0 sec)
    * should warn if plugin list contains a plugin dependency that does 
not have a version satisfied
    √ should emit a result containing a description of plugins 
installed (0 sec)
    √ should fire the after_plugin_ls hook (0.001 sec)
    √ should resolve the promise by returning an array of plugin ids 
installed (0.001 sec)

  methods for parsing npm plugin packages
    √ Test 001 : should handle package names with no scope or version 
(0.014 sec)
    √ Test 002 : should handle package names with a version (0 sec)
    √ Test 003 : should handle package names with a scope (0 sec)
    √ Test 004 : should handle package names with a scope and a 
version (0.001 sec)
    √ Test 005 : should handle invalid package specs (0 sec)

  cordova/plugin/remove

    error/warning conditions
      √ should require that a plugin be provided (0.002 sec)
      √ should require that a provided plugin be installed in the current 
project (0.002 sec)

    happy path
      √ should fire the before_plugin_rm hook (0.001 sec)
      √ should call plugman.uninstall.uninstallPlatform for each platform 
installed in the project and for each provided plugin (0.002 sec)
      √ should trigger a prepare if plugman.uninstall.uninstallPlatform 
returned something falsy (0.001 sec)
      √ should call plugman.uninstall.uninstallPlugin once plugin has been 
uninstalled for each platform (0.001 sec)
      √ should call uninstallPlugin in order and only finish once all 
plugins are done (0.142 sec)

      when save option is provided or autosave config is on
        √ should remove provided plugins from config.xml (0.002 sec)
        √ should remove provided plugins from package.json (if 
exists) (0.001 sec)

      √ should remove fetch metadata from fetch.json (0.002 sec)
      √ should fire the after_plugin_rm hook (0.001 sec)

  cordova/plugin/save

    error conditions
      √ should explode if there was an issue parsing or reading from 
fetch.json file (0.001 sec)

    happy path
      √ check that existing plugins are getting removed (0.021 sec)
      √ plugins are being removed first and then only top level plugins 
are being restored (0.001 sec)
      √ should write individual plugin specs to config.xml (0.001 sec)
      √ should write individual plugin variables to config.xml (0.001 
sec)

    getSpec helper method
      √ should return a plugin source's url or path property 
immediately (0.001 sec)
      √ getSpec should return a version if a version was provided to 
plugin id (0.001 sec)
      √ should return a version that includes scope if scope was part of 
plugin id (0.001 sec)
      √ should fall back to using PluginInfoProvider to retrieve a version 
as last resort (0.001 sec)

    getPluginVariables helper method
      √ if no variables are passed in, should return empty (0.014 sec)
      √ if variables are passed in, should return result & get added to 
name and value (0 sec)

    versionString helper method
      √ if no version, should return null (0.001 sec)
      √ return version passed in, if it is within the valid range (0 
sec)
      √ should check and return a valid version (0.001 sec)

  cordova/plugin/util

    getInstalledPlugins helper method
      √ should return result of PluginInfoProvider's 
getAllWithinSearchPath method (0.001 sec)

    saveToConfigXmlOn helper method
      √ should return true if config.json's autosave option is truthy 
(0.021 sec)
      √ should return true if options passed in have a truthy save 
property (0 sec)

    mergeVariables happy path
      √ should return variable from cli (0.001 sec)
      √ should return empty object if there are no config and no cli 
variables (0 sec)
      √ cli variable takes precedence over config.xml (0 sec)
      √ use config.xml variable if no cli variable is passed in 
(0.001 sec)
      √ should get missed variables (0 sec)

  cordova/prepare

    main method

      failure
        √ should invoke util.preProcessOptions as preflight task checker, 
which, if fails, should trigger promise rejection and only fire the 
before_prepare hook (0.003 sec)
        √ should invoke util.cdProjectRoot as a preflight task checker, 
which, if fails, should trigger a promise rejection and fire no hooks 
(0.001 sec)

      success
        √ should fire the before_prepare hook and provide platform and 
path information as arguments (0.013 sec)
        √ should invoke restore module's installPlatformsFromConfigXML 
method (0 sec)
        √ should retrieve PlatformApi instances for each platform 
provided (0.002 sec)
        √ should invoke restore module's installPluginsFromConfigXML 
method (0.001 sec)
        √ should invoke preparePlatforms method, providing the appropriate 
platforms (0.001 sec)
        √ should fire the after_prepare hook and provide platform and path 
information as arguments (0.001 sec)

    preparePlatforms helper method
      √ should call restoreMissingPluginsForPlatform (0.002 sec)
      √ should retrieve the platform API via getPlatformApi per platform 
provided, and invoke the prepare method from that API (0.003 sec)
      √ should handle config changes by invoking add_config_changes and 
save_all (0 sec)

    restoreMissingPluginsForPlatform helper method
      √ should resolve quickly and not invoke getPlatformAPI in the easy 
case of there being no difference between old and new platform.json (0 sec)
      √ should leverage platform API to remove and add any missing plugins 
identified (0.001 sec)

  retrieval of project metadata
    √ Test 001 : retrieve platforms saved in config.xml (0.002 sec)
    √ Test 002 : retrieve plugins saved in config.xml (0.004 sec)

  cordova/restore-util

    installPlatformsFromConfigXML
      √ Test#000 : should change specs in config.xml from using ~ to using 
^ (0.098 sec)
      √ Test#001 : should restore saved platform from package.json 
(0.07 sec)
      √ Test#017 : should restore saved platform from package.json using 
an URL spec (0.073 sec)
      √ Test#004 : should not modify either file if both have the same 
platforms (0.059 sec)
      √ Test#005 : should update package.json to include platforms from 
config.xml (0.053 sec)
      √ Test#006 : should update a package.json without `cordova` key to 
match platforms from config.xml (0.047 sec)
      √ Test#007 : should update config.xml to include platforms from 
package.json (0.066 sec)
      √ Test#016 : should restore platforms & plugins and create a missing 
package.json (0.069 sec)

    installPluginsFromConfigXML
      √ Test#011 : updates config.xml to use the variable found in 
pkg.json (0.097 sec)
      √ Test#012 : update pkg.json to include plugin and variable found in 
config.xml (0.052 sec)
      √ Test#013 : update pkg.json AND config.xml to include all plugins 
and merge unique variables (0.064 sec)
      √ Test#014 : update pkg.json AND config.xml to include all plugins 
and merge variables (no dupes) (0.069 sec)
      √ Test#015 : update config.xml to include all plugins/variables from 
pkg.json (0.055 sec)
      √ Test#018 : should restore saved plugin using an URL spec 
(0.057 sec)

  run command

    failure
      √ Test 001 : should not run inside a Cordova-based project with no 
added platforms by calling util.listPlatforms (0.001 sec)
      √ Test 002 : should not run outside of a Cordova-based project 
(0.015 sec)

    success
      √ Test 003 : should call prepare before actually run platform  
(0.001 sec)
      √ Test 004 : should get PlatformApi instance for each platform and 
call its' run method (0 sec)
      √ Test 005 : should pass down parameters (0.001 sec)
      √ Test 007 : should call platform's build method (0.001 sec)
      √ Test 008 : should not call build if --nobuild option is 
passed (0.001 sec)

      run parameters should not be altered by intermediate build command
        √ Test 009 : should leave parameters unchanged (0.001 sec)

    hooks

      when platforms are added
        √ Test 010 : should fire before hooks through the hooker 
module (0.001 sec)
        √ Test 011 : should fire after hooks through the hooker 
module (0.001 sec)

      with no platforms added
        √ Test 012 : should not fire the hooker (0.013 sec)

  serve command
    * Test 001 : should not run outside of a Cordova-based project

    `serve`
      * should fall back to assets/www on Android
      * should fall back to www on BlackBerry10
      * should fall back to www on iOS

  util module

    isCordova method
      √ Test 001 : should return false if it hits the home directory 
(0.006 sec)
      √ Test 002 : should return false if it cannot find a .cordova 
directory up the directory tree (0.001 sec)
      √ Test 003 : should return the first directory it finds with a 
.cordova folder in it (0.003 sec)
      √ Test 004 : should ignore PWD when its undefined (0.004 sec)
      √ Test 005 : should use PWD when available (0.005 sec)
      √ Test 006 : should use cwd as a fallback when PWD is not a cordova 
dir (0.005 sec)
      √ Test 007 : should ignore platform www/config.xml (0.005 sec)

    deleteSvnFolders method
      √ Test 008 : should delete .svn folders in any subdirectory of 
specified dir (0.01 sec)

    listPlatforms method
      √ Test 009 : should only return supported platform directories 
present in a cordova project dir (0.015 sec)

    getInstalledPlatformsWithVersions method
      √ Test 010 : should get the supported platforms in the cordova 
project dir along with their reported versions (0.505 sec)

    findPlugins method
      √ Test 011 : should only return plugin directories present in a 
cordova project dir (0.01 sec)
      √ Test 012 : should not return ".svn" directories (0.008 sec)
      √ Test 013 : should not return "CVS" directories (0.008 sec)

    preprocessOptions method
      √ Test 014 : should throw if called outside of cordova project 
(0 sec)
      √ Test 015 : should throw when no platforms added to project (0 
sec)
      √ Test 016 : should return default options when no arguments 
passed (0 sec)
      √ Test 017 : should accept single string argument as platform 
name (0.001 sec)
      √ Test 018 : should accept array of strings as platform names 
(0.001 sec)
      √ Test 019 : should fall back to installed platform if input doesn't 
contain platforms list (0.001 sec)
      √ Test 020 : should pick buildConfig if no option is provided, but 
buildConfig.json exists (0.001 sec)

      getPlatformApiFunction
        √ Test 030 : successfully find platform Api (0.002 sec)

  plugman/platform

    add
      √ Test 002 : should error on non existing plugin.xml (0.001 sec)

    remove
      √ Test 003 : should error on non existing plugin.xml (0.001 sec)

  plugman/create
    √ Test 002 : should be successful (0.03 sec)
    √ Test 003 : should fail due to an existing plugin.xml (0.001 sec)

  plugman/install

    success
      √ Test 002 : should emit a results event with platform-agnostic 
<info> (0.009 sec)
      √ Test 003 : should emit a results event with platform-specific 
<info> (0 sec)
      √ Test 004 : should interpolate variables into <info> tags 
(0.001 sec)
      √ Test 005 : should call fetch if provided plugin cannot be resolved 
locally (0.006 sec)

      engine versions
        √ Test 007 : should check version if plugin has engine tag 
(0.011 sec)
        √ Test 008 : should check version and munge it a little if it has 
"rc" in it so it plays nice with semver (introduce a dash in it) (0.011 
sec)
        √ Test 009 : should check specific platform version over cordova 
version if specified (0.012 sec)
        √ Test 010 : should check platform sdk version if specified 
(0.012 sec)
        √ Test 011 : should check engine versions (0.011 sec)
        √ Test 012 : should not check custom engine version that is not 
supported for platform (0.011 sec)

      with dependencies
        √ Test 015 : should install specific version of dependency 
(0.015 sec)
        √ Test 016 : should install any dependent plugins if missing 
(0.018 sec)
        √ Test 017 : should install any dependent plugins from registry 
when url is not defined (0.032 sec)
        √ Test 018 : should process all dependent plugins with alternate 
routes to the same plugin (0.026 sec)
        √ Test 019 : should throw if there is a cyclic dependency 
(0.007 sec)
        √ Test 020 : install subdir relative to top level plugin if no 
fetch meta (0.017 sec)
        √ Test 021 : install uses meta data (if available) of top level 
plugin source (0.023 sec)

    failure
      √ Test 023 : should throw if variables are missing (0.012 sec)
      √ Test 025 :should not fail when trying to install plugin less than 
minimum version. Skip instead   (0.004 sec)
      √ Test 026 : should throw if the engine scriptSrc escapes out of the 
plugin dir. (0.004 sec)
      √ Test 027 : should throw if a non-default cordova engine platform 
attribute is not defined. (0.005 sec)
      √ Test 028 : should throw if a non-default cordova engine scriptSrc 
attribute is not defined. (0.005 sec)

  common platform handler

    resolveSrcPath
      √ Test 001 : should not throw if path exists (0.003 sec)

    resolveTargetPath
      √ Test 002 : should throw if path exists (0.002 sec)
      √ Test 003 : should not throw if path cannot be resolved (0.009 
sec)

    copyFile
      √ Test 004 : should throw if source path not found (0.001 sec)
      √ Test 005 : should throw if src not in plugin directory (0.004 
sec)
      √ Test 006 : should allow symlink src, if inside plugin (0.011 
sec)
      √ Test 007 : should deeply symlink directory tree when src is a 
directory (0.018 sec)
      √ Test 008 : should throw if symlink is linked to a file outside the 
plugin (0.009 sec)
      √ Test 009 : should throw if dest is outside the project 
directory (0.01 sec)
      √ Test 010 : should call mkdir -p on target path (0.01 sec)
      √ Test 011 : should call cp source/dest paths (0.01 sec)

    copyNewFile
      √ Test 012 : should throw if target path exists (0.002 sec)

    deleteJava
      √ Test 013 : should call fs.unlinkSync on the provided paths 
(0.004 sec)
      √ Test 014 : should delete empty directories after removing source 
code in a java src path hierarchy (0.004 sec)
      √ Test 015 : should never delete the top-level src directory, even 
if all plugins added were removed (0.003 sec)

  dependency module

    generateDependencyInfo method
      √ Test 001 : should return a list of top-level plugins based on what 
is inside a platform.json file (0 sec)
      √ Test 002 : should return a dependency graph for the plugins 
(0.002 sec)

  mergeVariables
    √ use plugin.xml if no cli/config variables (0.001 sec)
    √ cli & config variables take precedence over plugin.xml  (0 sec)
    √ should return no variables (0.001 sec)
    √ should throw error if variables are missing (0 sec)

**************************************************
*                    Pending                     *
**************************************************

1) cordova/platform/addHelper happy path (success conditions) after platform 
api invocation when the restoring option is not provided should invoke 
preparePlatforms twice (?!?), once before installPluginsForNewPlatforms and 
once after... ?!
  Temporarily disabled with xit

2) cordova/plugin/add main method happy path should invoke preparePlatforms if 
plugman.install returned a falsey value
  Temporarily disabled with xit

3) cordova/plugin/list should warn if plugin list contains a plugin dependency 
that does not have a version satisfied
  Temporarily disabled with xit

4) serve command Test 001 : should not run outside of a Cordova-based project
  No reason given

5) serve command `serve` should fall back to assets/www on Android
  Temporarily disabled with xit

6) serve command `serve` should fall back to www on BlackBerry10
  Temporarily disabled with xit

7) serve command `serve` should fall back to www on iOS
  Temporarily disabled with xit

Executed 293 of 300 specs INCOMPLETE (7 PENDING) in 15 secs.

> [email protected] e2e-tests 
> C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib
> jasmine JASMINE_CONFIG_PATH=integration-tests/jasmine.json

Jasmine started

  end-to-end plugin dependency tests
    × Test 029 : should fail if dependency already installed is wrong 
version (18 secs)
      - Expected 'EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-lGgynP\project\plugins\Test1''
 to contain 'does not satisfy dependency plugin requirement'.
    × Test 030 : should pass if dependency already installed is wrong 
version with --force (18 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-3kDi9X\project\plugins\Test1'
    × Test 031 : should pass if dependency already installed is same major 
version (if specific version is specified) (16 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-tLhpim\project\plugins\Test1'
    × Test 032 : should handle two plugins with same dependent plugin 
(8 secs)
      - expected 
C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-4uOc0u\project\plugins\Test2
 to exist
      - Expected 'EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-4uOc0u\project\plugins\Test1''
 to contain 'does not satisfy dependency plugin requirement'.
    × Test 033 : should use a dev version of a dependent plugin if it is 
already installed (31 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-gR3yfn\project\plugins\Test4'

  HooksRunner
    √ Test 001 : should throw if provided directory is not a cordova 
project (0.338 sec)
    √ Test 002 : should not throw if provided directory is a cordova 
project (0.564 sec)

    fire method

      application hooks
        √ Test 004 : should execute hook scripts serially (1 sec)
        √ Test 005 : should execute hook scripts serially from 
.cordova/hooks/hook_type and hooks/hook_type directories (1 sec)
        √ Test 006 : should execute hook scripts serially from 
config.xml (1 sec)
        √ Test 007 : should execute hook scripts serially from config.xml 
including platform scripts (1 sec)
        √ Test 008 : should filter hook scripts from config.xml by 
platform (1 sec)

      plugin hooks
        √ Test 011 : should filter hook scripts from plugin.xml by 
platform (2 secs)
        * Test 012 : should run before_plugin_uninstall, 
before_plugin_install, after_plugin_install hooks for a plugin being installed 
with correct opts.plugin context

      plugin hooks
        √ Test 009 : should execute hook scripts serially from 
plugin.xml (0.638 sec)
        √ Test 010 : should execute hook scripts serially from plugin.xml 
including platform scripts (0.948 sec)
        √ Test 013 : should not execute the designated hook when --nohooks 
option specifies the exact hook name (0.731 sec)
        √ Test 014 : should not execute a set of matched hooks when 
--nohooks option specifies the hook pattern. (0.687 sec)
        √ Test 015 : should not execute all hooks when --nohooks option 
specifies . (0.579 sec)

      module-level hooks (event handlers)
        √ Test 016 : should fire handlers using cordova.on (2 secs)
        √ Test 017 : should pass the project root folder as parameter into 
the module-level handlers (2 secs)
        √ Test 018 : should be able to stop listening to events using 
cordova.off (2 secs)
        √ Test 019 : should execute event listeners serially (2 secs)
        √ Test 021 : should pass data object that fire calls into async 
handlers (1 sec)
        √ Test 022 : should pass data object that fire calls into sync 
handlers (1 sec)
        √ Test 023 : should error if any script exits with non-zero 
code (0.655 sec)

      √ Test 024 : should not error if the hook is unrecognized 
(0.449 sec)

    extractSheBangInterpreter
      √ Test 025 : should not read uninitialized buffer contents 
(0.471 sec)

  pkgJson

    plugin end-to-end
      √ Test#001 : should successfully add and remove a plugin with save 
and correct spec (13 secs)
      √ Test#002 : should NOT add a plugin to package.json if --save is 
not used (30 secs)
      √ Test#003 : should NOT remove plugin from package.json if there is 
no --save (15 secs)
      √ Test#004 : should successfully add and remove a plugin with 
variables and save to package.json (15 secs)
      √ Test#005 : should successfully add and remove multiple plugins 
with save & fetch (27 secs)
      √ Test#023 : use pinned/lastest version if there is no 
platform/plugin version passed in and no platform/plugin versions in pkg.json 
or config.xml (34 secs)
      × Test#025 : if you add a platform/plugin with local path, pkg.json 
gets updated (23 secs)
        - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-pkgJson-hdlD23\project\plugins\cordova-lib-test-plugin'

    platform end-to-end with --save
      √ Test#006 : platform is added and removed correctly with 
--save (14 secs)
      √ Test#007 : should not remove platforms from package.json when 
removing without --save (26 secs)
      √ Test#008 : should not add platform to package.json when adding 
without --save (13 secs)
      √ Test#009 : should only add the platform to package.json with 
--save (35 secs)
Subproject Path: CordovaLib
Subproject Path: app
      √ Test#010 : two platforms are added and removed correctly with 
--save --fetch (54 secs)

    During add, if pkg.json has a platform/plugin spec, use that one.
      √ Test#020 : During add, if pkg.json has a spec, use that one. 
(35 secs)

    During add, if config.xml has a platform/plugin spec and pkg.json does not, 
use config.
      √ Test#021 : If config.xml has a spec (and none was specified and 
pkg.json does not have one), use config. (0.045 sec)

    During add, if add specifies a platform spec, use that one regardless of 
what is in pkg.json or config.xml
      √ Test#022 : when adding with a specific platform version, always 
use that one. (34 secs)

    local path is added to config.xml without pkg.json
      √ Test#026 : if you add a platform with local path, config.xml gets 
updated (26 secs)
      √ Test#027 : if you add a plugin with local path, config.xml gets 
updated (7 secs)

  cordova/platform end-to-end
    √ Test 001 : should successfully run (25 secs)
    × Test 002 : should install plugins correctly while adding 
platform (18 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-cordova-platform-e2e-test-i2drcW\project\plugins\com.phonegap.plugins.childbrowser'
    √ Test 007 : should add and remove platform from node_modules 
directory (34 secs)
    √ Test 008 : should remove dependency when removing parent plugin 
(34 secs)
cp: no such file or directory: 
C:\Users\Jan\AppData\Local\Temp\cordova-lib-cordova-platform-e2e-test-mMAlto\project\node_modules\cordova-platform-test\node_modules

test-platform:Api:prepare
test-platform:Api:getPlatformInfo
test-platform:Api:prepare
test-platform:Api:getPlatformInfo
    √ Test 009 : should add and remove 3rd party platforms (18 secs)

  plugin fetching version selection
    √ Test 001 : should handle a mix of upper bounds and single 
versions (0.327 sec)
    √ Test 002 : should apply upper bound engine constraints when there 
are no unspecified constraints above the upper bound (0.275 sec)
    √ Test 003 : should apply upper bound engine constraints when there 
are unspecified constraints above the upper bound (0.272 sec)
    √ Test 004 : should handle the case where there are no constraints for 
earliest releases (0.363 sec)
    √ Test 005 : should handle the case where the lowest version is 
unsatisfied (0.29 sec)
    √ Test 006 : should handle upperbounds if no single version 
constraints are given (0.27 sec)
    √ Test 007 : should apply upper bounds greater than highest 
version (0.259 sec)
    √ Test 008 : should treat empty constraints as satisfied (0.263 
sec)
    √ Test 009 : should ignore an empty cordovaDependencies entry 
(0.267 sec)
    √ Test 010 : should ignore a badly formatted semver range (0.254 
sec)
    √ Test 011 : should respect unreleased versions in constraints 
(0.264 sec)
    √ Test 012 : should respect plugin constraints (0.269 sec)
    √ Test 013 : should respect cordova constraints (0.281 sec)
    √ Test 014 : should not include pre-release versions (0.259 sec)
    √ Test 015 : should not fail if there is no engine in the npm 
info (0 sec)
    √ Test 016 : should not fail if there is no cordovaDependencies in the 
engines (0 sec)
    √ Test 017 : should handle extra whitespace (0.263 sec)
    √ Test 018 : should ignore badly typed version requirement 
entries (0.27 sec)
    √ Test 019 : should ignore badly typed constraint entries (0.29 
sec)
    √ Test 020 : should ignore bad semver versions (0.257 sec)
    √ Test 021 : should not fail if there are bad semver versions 
(0.269 sec)
    √ Test 022 : should properly warn about multiple unmet 
requirements (0.26 sec)
    √ Test 023 : should properly warn about both unmet latest and upper 
bound requirements (0.285 sec)
    √ Test 024 : should not warn about versions past latest (0.274 
sec)
    √ Test 025 : clean up after plugin fetch spec (0.044 sec)

  plugin end-to-end
    × Test 001 : should successfully add and remove a plugin with no 
options (9 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.apache.cordova.fakeplugin1'
    × Test 004 : should successfully add a plugin using relative path when 
running from subdir inside of project (8 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.apache.cordova.fakeplugin1'
    × Test 005 : should respect preference default values (9 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.test.defaultvariables'
    × Test 006 : should successfully add a plugin when specifying CLI 
variables (9 secs)
      - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.test.defaultvariables'
    √ Test 007 : should not check npm info when using the searchpath 
flag (2 secs)
    √ Test 008 : should not check npm info when using the noregistry 
flag (2 secs)
    √ Test 009 : should not check npm info when fetching from a Git 
repository (24 secs)
    √ Test 010 : should select the plugin version based on npm info when 
fetching from npm (4 secs)
    √ Test 011 : should handle scoped npm packages (2 secs)
    √ Test 012 : should handle scoped npm packages with given version 
tags (2 secs)

  fetch

    plugin in a dir with spaces
      * should copy locally-available plugin to plugins directory when 
spaces in path

    local plugins
      √ Test 001 : should copy locally-available plugin to plugins 
directory (0.056 sec)
      √ Test 002 : should copy locally-available plugin to plugins 
directory when adding a plugin with searchpath argument (0.106 sec)
      √ Test 003 : should create a symlink if used with `link` param 
(0.016 sec)
      √ Test 004 : should fail when the expected ID doesn't match 
(0.04 sec)
      √ Test 005 : should succeed when the expected ID is correct 
(0.059 sec)
      √ Test 006 : should fail when the expected ID with version specified 
doesn't match (0.065 sec)
      √ Test 007 : should succeed when the plugin version specified is 
correct (0.056 sec)
      √ Test 027 : should copy locally-available plugin to plugins 
directory (0.022 sec)
      √ Test 028 : should fail when locally-available plugin is missing 
pacakge.json (0.003 sec)

    fetch recursive error CB-8809
      √ Test 021 : should skip copy to avoid recursive error (0.005 
sec)

  plugman/uninstall

    uninstallPlatform

      success
        √ Test 002 : should get PlatformApi instance for platform and 
invoke its' removePlugin method (2 secs)
        √ Test 003 : should return propagate value returned by PlatformApi 
removePlugin method (2 secs)
        √ Test 014 : should uninstall dependent plugins (2 secs)

      failure 
        √ Test 004 : should throw if platform is unrecognized (2 secs)
        √ Test 005 : should throw if plugin is missing (2 secs)

    uninstallPlugin

      with dependencies
        √ Test 006 : should delete all dependent plugins (2 secs)
        √ Test 007 : should fail if plugin is a required dependency 
(2 secs)
        √ Test 008 : allow forcefully removing a plugin (2 secs)
        √ Test 009 : never remove top level plugins if they are a 
dependency (2 secs)
        √ Test 010 : should not remove dependent plugin if it was 
installed after as top-level (2 secs)

    uninstall

      failure
        √ Test 011 : should throw if platform is unrecognized (2 secs)
        √ Test 012 : should throw if plugin is missing (2 secs)

    end
      √ Test 013 : end (3 secs)

**************************************************
*                    Failures                    *
**************************************************

1) end-to-end plugin dependency tests Test 029 : should fail if dependency 
already installed is wrong version
  - Expected 'EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-lGgynP\project\plugins\Test1''
 to contain 'does not satisfy dependency plugin requirement'.
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\integration-tests\fetch.spec.js:77:37
      at process._tickCallback (internal/process/next_tick.js:68:7)

2) end-to-end plugin dependency tests Test 030 : should pass if dependency 
already installed is wrong version with --force
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-3kDi9X\project\plugins\Test1'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-3kDi9X\project\plugins\Test1'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:883:30
      at Promise.promise.promiseDispatch 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:816:13)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:877:14
      at runSingle 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:137:13)
      at flush 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:125:13)

3) end-to-end plugin dependency tests Test 031 : should pass if dependency 
already installed is same major version (if specific version is specified)
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-tLhpim\project\plugins\Test1'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-tLhpim\project\plugins\Test1'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:883:30
      at Promise.promise.promiseDispatch 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:816:13)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:877:14
      at runSingle 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:137:13)
      at flush 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:125:13)

4) end-to-end plugin dependency tests Test 032 : should handle two plugins with 
same dependent plugin
  - expected 
C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-4uOc0u\project\plugins\Test2
 to exist
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\integration-tests\fetch.spec.js:126:56
      at process._tickCallback (internal/process/next_tick.js:68:7)
  - Expected 'EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-4uOc0u\project\plugins\Test1''
 to contain 'does not satisfy dependency plugin requirement'.
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\integration-tests\fetch.spec.js:128:37
      at process._tickCallback (internal/process/next_tick.js:68:7)

5) end-to-end plugin dependency tests Test 033 : should use a dev version of a 
dependent plugin if it is already installed
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-gR3yfn\project\plugins\Test4'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_dependency_test-gR3yfn\project\plugins\Test4'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:883:30
      at Promise.promise.promiseDispatch 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:816:13)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:877:14
      at runSingle 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:137:13)
      at flush 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:125:13)

6) pkgJson plugin end-to-end Test#025 : if you add a platform/plugin with local 
path, pkg.json gets updated
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-pkgJson-hdlD23\project\plugins\cordova-lib-test-plugin'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-pkgJson-hdlD23\project\plugins\cordova-lib-test-plugin'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:883:30
      at Promise.promise.promiseDispatch 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:816:13)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:877:14
      at runSingle 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:137:13)
      at flush 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:125:13)

7) cordova/platform end-to-end Test 002 : should install plugins correctly 
while adding platform
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-cordova-platform-e2e-test-i2drcW\project\plugins\com.phonegap.plugins.childbrowser'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-cordova-platform-e2e-test-i2drcW\project\plugins\com.phonegap.plugins.childbrowser'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:883:30
      at Promise.promise.promiseDispatch 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:816:13)
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:877:14
      at runSingle 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:137:13)
      at flush 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:125:13)

8) plugin end-to-end Test 001 : should successfully add and remove a plugin 
with no options
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.apache.cordova.fakeplugin1'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.apache.cordova.fakeplugin1'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)

9) plugin end-to-end Test 004 : should successfully add a plugin using relative 
path when running from subdir inside of project
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.apache.cordova.fakeplugin1'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.apache.cordova.fakeplugin1'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)

10) plugin end-to-end Test 005 : should respect preference default values
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.test.defaultvariables'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.test.defaultvariables'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)

11) plugin end-to-end Test 006 : should successfully add a plugin when 
specifying CLI variables
  - Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.test.defaultvariables'
  Error: EPERM: operation not permitted, stat 
'C:\Users\Jan\AppData\Local\Temp\cordova-lib-plugin_test-v8zjBR\project\plugins\org.test.defaultvariables'
      at Object.realpathSync (fs.js:1453:9)
      at Object.convertToRealPathSafe 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\cordova\util.js:192:19)
      at Function.runInstall 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:263:30)
      at <Jasmine>
      at 
C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\src\plugman\install.js:78:35
      at _fulfilled 
(C:\Projects\experiments\cordova-cross-spawn-test\cordova-lib\node_modules\q\q.js:854:54)

**************************************************
*                    Pending                     *
**************************************************

1) HooksRunner fire method plugin hooks Test 012 : should run 
before_plugin_uninstall, before_plugin_install, after_plugin_install hooks for 
a plugin being installed with correct opts.plugin context
  Temporarily disabled with xit

2) fetch plugin in a dir with spaces should copy locally-available plugin to 
plugins directory when spaces in path
  No reason given

Executed 107 of 109 specs (11 FAILED) (2 PENDING) in 12 
mins 57 secs.

```

[ Full content available at: https://github.com/apache/cordova-lib/issues/704 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to