Blank page

+ curl --include 'http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=true&modules=startup&only=scripts' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 39732 0 39732 0 0 52183 0 --:--:-- --:--:-- --:--:-- 52210 + head -n42 log/curl-load-startup.log HTTP/1.1 200 OK Date: Fri, 13 Apr 2018 17:49:37 GMT Server: Apache X-Content-Type-Options: nosniff ETag: W/"154it37" Cache-Control: private, no-cache, must-revalidate Pragma: no-cache Link: ;rel=preload;as=script Transfer-Encoding: chunked Content-Type: text/javascript; charset=utf-8 /** * This file is where we decide whether to initialise the Grade A run-time. * * - Beware: This file MUST parse without errors on even the most ancient of browsers! * - Beware: Do not call mwNow before the isCompatible() check. */ /* global mw, mwPerformance, mwNow, isCompatible, $VARS, $CODE */ window.mwPerformance = ( window.performance && performance.mark ) ? performance : { mark: function () {} }; // Define now() here to ensure valid comparison with mediaWikiLoadEnd (T153819). window.mwNow = ( function () { var perf = window.performance, navStart = perf && perf.timing && perf.timing.navigationStart; return navStart && typeof perf.now === 'function' ? function () { return navStart + perf.now(); } : function () { return Date.now(); }; }() ); /** * See * * Capabilities required for modern run-time: * - ECMAScript 5 * - DOM Level 4 & Selectors API Level 1 * - HTML5 & Web Storage * - DOM Level 2 Events * + curl --include 'http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157/index.php?title=Special:JavaScriptTest/qunit/export' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 16130 0 16130 0 0 13768 0 --:--:-- 0:00:01 --:--:-- 13762 100 19637 0 19637 0 0 16047 0 --:--:-- 0:00:01 --:--:-- 16043 + head -n11 log/curl-SpecialJavaScriptTest.log HTTP/1.1 200 OK Date: Fri, 13 Apr 2018 17:49:38 GMT Server: Apache X-Content-Type-Options: nosniff Cache-Control: private, no-cache, must-revalidate Pragma: no-cache Transfer-Encoding: chunked Content-Type: text/javascript; charset=utf-8 QUnit.config.autostart = false;if (window.__karma__) {window.__karma__.loaded = function () {};}window.mwPerformance=(window.performance&&performance.mark)?performance:{mark:function(){}};window.mwNow=(function(){var perf=window.performance,navStart=perf&&perf.timing&&perf.timing.navigationStart;return navStart&&typeof perf.now==='function'?function(){return navStart+perf.now();}:function(){return Date.now();};}());window.isCompatible=function(str){var ua=str||navigator.userAgent;return!!((function(){'use strict';return!this&&!!Function.prototype.bind&&!!window.JSON;}())&&'querySelector'in document&&'localStorage'in window&&'addEventListener'in window&&!(ua.match(/MSIE 10|webOS\/1\.[0-4]|SymbianOS|Series60|NetFront|Opera Mini|S40OviBrowser|MeeGo|Android.+Glass|^Mozilla\/5\.0 .+ Gecko\/$|googleweblight/)||ua.match(/PlayStation/i)));};(function(){var NORLQ,script;if(!isCompatible()){document.documentElement.className=document.documentElement.className.replace(/(^|\s)client-js(\s|$)/,'$1client-nojs$2');NORLQ=window.NORLQ||[];while(NORLQ.length){NORLQ.shift()();}window.NORLQ={push: [mediawiki-core-qunit-selenium-jessie] $ /bin/bash -xe /tmp/jenkins8050710257794223898.sh + . /srv/deployment/integration/slave-scripts/bin/mw-set-env-localhost.sh ++ . /srv/deployment/integration/slave-scripts/bin/mw-set-env.sh +++ . /srv/deployment/integration/slave-scripts/bin/global-set-env.sh ++++ export TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ export TMPDIR_REGULAR=/tmp/jenkins-0 ++++ TMPDIR_REGULAR=/tmp/jenkins-0 ++++ '[' -d /home/jenkins/tmpfs ']' ++++ '[' -z '' ']' ++++ export TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ export DISPLAY=:94 ++++ DISPLAY=:94 +++++ which chromium-browser +++++ which chromium ++++ export CHROME_BIN=/usr/bin/chromium ++++ CHROME_BIN=/usr/bin/chromium ++++ export COMPOSER_DISABLE_XDEBUG_WARN=1 ++++ COMPOSER_DISABLE_XDEBUG_WARN=1 +++ MW_INSTALL_PATH=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie +++ for mw_path in src/mediawiki/core src +++ [[ -d /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/mediawiki/core ]] +++ for mw_path in src/mediawiki/core src +++ [[ -d /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src ]] +++ MW_INSTALL_PATH=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src +++ break +++ ulimit -c 2097152 +++ export MW_INSTALL_PATH +++ export MW_TMPDIR=/home/jenkins/tmpfs/jenkins-0 +++ MW_TMPDIR=/home/jenkins/tmpfs/jenkins-0 +++ export MW_DB=jenkins_u0_mw +++ MW_DB=jenkins_u0_mw +++ export MW_DB_HOST=127.0.0.1 +++ MW_DB_HOST=127.0.0.1 +++ export MW_DB_PORT=3306 +++ MW_DB_PORT=3306 +++ export MW_DB_USER=jenkins_u0 +++ MW_DB_USER=jenkins_u0 +++ export MW_DB_PASS=pw_jenkins_u0 +++ MW_DB_PASS=pw_jenkins_u0 +++ export LOG_DIR=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/log +++ LOG_DIR=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/log ++ export MW_SERVER=http://localhost:9412 ++ MW_SERVER=http://localhost:9412 ++ export MW_SCRIPT_PATH=/jenkins-mediawiki-core-qunit-selenium-jessie-19157 ++ MW_SCRIPT_PATH=/jenkins-mediawiki-core-qunit-selenium-jessie-19157 + cd /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src + . /srv/deployment/integration/slave-scripts/bin/npm-setup.sh ++ . /srv/deployment/integration/slave-scripts/bin/global-setup.sh +++ . /srv/deployment/integration/slave-scripts/bin/global-set-env.sh ++++ export TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ export TMPDIR_REGULAR=/tmp/jenkins-0 ++++ TMPDIR_REGULAR=/tmp/jenkins-0 ++++ '[' -d /home/jenkins/tmpfs ']' ++++ '[' -z '' ']' ++++ export TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ export DISPLAY=:94 ++++ DISPLAY=:94 +++++ which chromium-browser +++++ which chromium ++++ export CHROME_BIN=/usr/bin/chromium ++++ CHROME_BIN=/usr/bin/chromium ++++ export COMPOSER_DISABLE_XDEBUG_WARN=1 ++++ COMPOSER_DISABLE_XDEBUG_WARN=1 +++ mkdir -p /home/jenkins/tmpfs/jenkins-0 +++ mkdir -p /tmp/jenkins-0 +++ chmod 777 /home/jenkins/tmpfs/jenkins-0 +++ chmod 777 /tmp/jenkins-0 ++ . /srv/deployment/integration/slave-scripts/bin/npm-set-env.sh +++ . /srv/deployment/integration/slave-scripts/bin/global-set-env.sh ++++ export TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ export TMPDIR_REGULAR=/tmp/jenkins-0 ++++ TMPDIR_REGULAR=/tmp/jenkins-0 ++++ '[' -d /home/jenkins/tmpfs ']' ++++ '[' -z '' ']' ++++ export TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ export DISPLAY=:94 ++++ DISPLAY=:94 +++++ which chromium-browser +++++ which chromium ++++ export CHROME_BIN=/usr/bin/chromium ++++ CHROME_BIN=/usr/bin/chromium ++++ export COMPOSER_DISABLE_XDEBUG_WARN=1 ++++ COMPOSER_DISABLE_XDEBUG_WARN=1 + rm -rf node_modules + npm install npm WARN deprecated qunitjs@2.4.1: 2.4.1 is the last version where QUnit will be published as 'qunitjs'. To receive future updates, you will need to change the package name to 'qunit'. npm WARN deprecated coffee-script@1.10.0: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info. npm WARN prefer global coffee-script@1.10.0 should be installed with -g npm WARN prefer global jsonlint@1.6.2 should be installed with -g > fibers@1.0.15 install /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/fibers > node build.js || nodejs build.js `linux-x64-48` exists; testing Binary is fine; exiting > sauce-connect-launcher@1.2.4 postinstall /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/sauce-connect-launcher > node scripts/install.js || nodejs scripts/install.js /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src ├── bluebird@3.5.1 ├── deepmerge@1.3.2 ├─┬ eslint@4.9.0 │ ├─┬ ajv@5.5.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.1.0 │ │ ├── fast-json-stable-stringify@2.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ └── strip-ansi@3.0.1 │ │ └── js-tokens@3.0.2 │ ├─┬ chalk@2.3.2 │ │ ├─┬ ansi-styles@3.2.1 │ │ │ └─┬ color-convert@1.9.1 │ │ │ └── color-name@1.1.3 │ │ ├── escape-string-regexp@1.0.5 │ │ └─┬ supports-color@5.3.0 │ │ └── has-flag@3.0.0 │ ├─┬ concat-stream@1.6.2 │ │ ├── buffer-from@1.0.0 │ │ ├── inherits@2.0.3 │ │ ├─┬ readable-stream@2.3.6 │ │ │ ├── core-util-is@1.0.2 │ │ │ ├── isarray@1.0.0 │ │ │ ├── process-nextick-args@2.0.0 │ │ │ ├── string_decoder@1.1.1 │ │ │ └── util-deprecate@1.0.2 │ │ └── typedarray@0.0.6 │ ├─┬ cross-spawn@5.1.0 │ │ ├─┬ lru-cache@4.1.2 │ │ │ ├── pseudomap@1.0.2 │ │ │ └── yallist@2.1.2 │ │ └─┬ shebang-command@1.2.0 │ │ └── shebang-regex@1.0.0 │ ├─┬ debug@3.1.0 │ │ └── ms@2.0.0 │ ├── doctrine@2.1.0 │ ├─┬ eslint-scope@3.7.1 │ │ └── esrecurse@4.2.1 │ ├─┬ espree@3.5.4 │ │ ├── acorn@5.5.3 │ │ └─┬ acorn-jsx@3.0.1 │ │ └── acorn@3.3.0 │ ├── esquery@1.0.1 │ ├── estraverse@4.2.0 │ ├── esutils@2.0.2 │ ├─┬ file-entry-cache@2.0.0 │ │ ├─┬ flat-cache@1.3.0 │ │ │ ├── circular-json@0.3.3 │ │ │ ├─┬ del@2.2.2 │ │ │ │ ├── globby@5.0.0 │ │ │ │ ├── is-path-cwd@1.0.0 │ │ │ │ ├─┬ is-path-in-cwd@1.0.1 │ │ │ │ │ └── is-path-inside@1.0.1 │ │ │ │ ├── pify@2.3.0 │ │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ │ └── pinkie@2.0.4 │ │ │ └── write@0.2.1 │ │ └── object-assign@4.1.1 │ ├── functional-red-black-tree@1.0.1 │ ├─┬ glob@7.1.2 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.6 │ │ │ └── wrappy@1.0.2 │ │ └── once@1.4.0 │ ├── globals@9.18.0 │ ├── ignore@3.3.7 │ ├── imurmurhash@0.1.4 │ ├─┬ inquirer@3.3.0 │ │ ├── ansi-escapes@3.1.0 │ │ ├─┬ cli-cursor@2.1.0 │ │ │ └─┬ restore-cursor@2.0.0 │ │ │ └─┬ onetime@2.0.1 │ │ │ └── mimic-fn@1.2.0 │ │ ├── cli-width@2.2.0 │ │ ├─┬ external-editor@2.2.0 │ │ │ └── chardet@0.4.2 │ │ ├── figures@2.0.0 │ │ ├── mute-stream@0.0.7 │ │ ├─┬ run-async@2.3.0 │ │ │ └── is-promise@2.1.0 │ │ ├── rx-lite@4.0.8 │ │ ├── rx-lite-aggregates@4.0.8 │ │ └── through@2.3.8 │ ├── is-resolvable@1.1.0 │ ├─┬ js-yaml@3.11.0 │ │ ├─┬ argparse@1.0.10 │ │ │ └── sprintf-js@1.0.3 │ │ └── esprima@4.0.0 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ ├─┬ levn@0.3.0 │ │ ├── prelude-ls@1.1.2 │ │ └── type-check@0.3.2 │ ├── lodash@4.17.5 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.11 │ │ └── concat-map@0.0.1 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ ├── natural-compare@1.4.0 │ ├─┬ optionator@0.8.2 │ │ ├── deep-is@0.1.3 │ │ ├── fast-levenshtein@2.0.6 │ │ └── wordwrap@1.0.0 │ ├── path-is-inside@1.0.2 │ ├── pluralize@7.0.0 │ ├── progress@2.0.0 │ ├─┬ require-uncached@1.0.3 │ │ ├─┬ caller-path@0.1.0 │ │ │ └── callsites@0.2.0 │ │ └── resolve-from@1.0.1 │ ├── semver@5.5.0 │ ├─┬ strip-ansi@4.0.0 │ │ └── ansi-regex@3.0.0 │ ├── strip-json-comments@2.0.1 │ ├─┬ table@4.0.3 │ │ ├─┬ UNMET PEER DEPENDENCY ajv@6.4.0 │ │ │ └─┬ uri-js@3.0.2 │ │ │ └── punycode@2.1.0 │ │ ├── ajv-keywords@3.1.0 │ │ └── slice-ansi@1.0.0 │ └── text-table@0.2.0 ├── eslint-config-wikimedia@0.5.0 ├─┬ grunt@1.0.1 │ ├── coffee-script@1.10.0 │ ├─┬ dateformat@1.0.12 │ │ ├── get-stdin@4.0.1 │ │ └─┬ meow@3.7.0 │ │ ├─┬ camelcase-keys@2.1.0 │ │ │ └── camelcase@2.1.1 │ │ ├── decamelize@1.2.0 │ │ ├── map-obj@1.0.1 │ │ ├── minimist@1.2.0 │ │ ├─┬ read-pkg-up@1.0.1 │ │ │ ├─┬ find-up@1.1.2 │ │ │ │ └── path-exists@2.1.0 │ │ │ └─┬ read-pkg@1.1.0 │ │ │ ├─┬ load-json-file@1.1.0 │ │ │ │ ├── parse-json@2.2.0 │ │ │ │ └─┬ strip-bom@2.0.0 │ │ │ │ └── is-utf8@0.2.1 │ │ │ └── path-type@1.1.0 │ │ ├─┬ redent@1.0.0 │ │ │ ├─┬ indent-string@2.1.0 │ │ │ │ └─┬ repeating@2.0.1 │ │ │ │ └─┬ is-finite@1.0.2 │ │ │ │ └── number-is-nan@1.0.1 │ │ │ └── strip-indent@1.0.1 │ │ └── trim-newlines@1.0.0 │ ├── eventemitter2@0.4.14 │ ├── exit@0.1.2 │ ├─┬ findup-sync@0.3.0 │ │ └── glob@5.0.15 │ ├── glob@7.0.6 │ ├── grunt-cli@1.2.0 │ ├── grunt-known-options@1.1.0 │ ├─┬ grunt-legacy-log@1.0.1 │ │ ├─┬ grunt-legacy-log-utils@1.0.0 │ │ │ ├─┬ chalk@1.1.3 │ │ │ │ └── strip-ansi@3.0.1 │ │ │ └── lodash@4.3.0 │ │ ├── hooker@0.2.3 │ │ └── underscore.string@3.3.4 │ ├─┬ grunt-legacy-util@1.0.0 │ │ ├── getobject@0.1.0 │ │ ├── lodash@4.3.0 │ │ ├── underscore.string@3.2.3 │ │ └── which@1.2.14 │ ├─┬ iconv-lite@0.4.21 │ │ └── safer-buffer@2.1.2 │ ├─┬ js-yaml@3.5.5 │ │ └── esprima@2.7.3 │ ├─┬ nopt@3.0.6 │ │ └── abbrev@1.1.1 │ ├── path-is-absolute@1.0.1 │ └── rimraf@2.2.8 ├── grunt-banana-checker@0.6.0 ├─┬ grunt-contrib-copy@1.0.0 │ ├─┬ chalk@1.1.3 │ │ ├── ansi-styles@2.2.1 │ │ ├── has-ansi@2.0.0 │ │ ├─┬ strip-ansi@3.0.1 │ │ │ └── ansi-regex@2.1.1 │ │ └── supports-color@2.0.0 │ └── file-sync-cmp@0.1.1 ├─┬ grunt-contrib-watch@1.0.0 │ ├── async@1.5.2 │ ├─┬ gaze@1.1.2 │ │ └── globule@1.2.0 │ ├── lodash@3.10.1 │ └─┬ tiny-lr@0.2.1 │ ├─┬ body-parser@1.14.2 │ │ ├── bytes@2.2.0 │ │ ├─┬ debug@2.2.0 │ │ │ └── ms@0.7.1 │ │ ├── http-errors@1.3.1 │ │ ├── iconv-lite@0.4.13 │ │ ├── qs@5.2.0 │ │ └─┬ raw-body@2.1.7 │ │ ├── bytes@2.4.0 │ │ └── iconv-lite@0.4.13 │ ├─┬ debug@2.2.0 │ │ └── ms@0.7.1 │ ├─┬ faye-websocket@0.10.0 │ │ └─┬ websocket-driver@0.7.0 │ │ ├── http-parser-js@0.4.11 │ │ └── websocket-extensions@0.1.3 │ ├── livereload-js@2.3.0 │ ├── parseurl@1.3.2 │ └── qs@5.1.0 ├── grunt-eslint@20.1.0 ├─┬ grunt-jsonlint@1.1.0 │ └─┬ jsonlint@1.6.2 │ ├── JSV@4.0.2 │ └─┬ nomnom@1.8.1 │ ├─┬ chalk@0.4.0 │ │ ├── ansi-styles@1.0.0 │ │ ├── has-color@0.1.7 │ │ └── strip-ansi@0.1.1 │ └── underscore@1.6.0 ├─┬ grunt-karma@2.0.0 │ └── lodash@3.10.1 ├─┬ grunt-stylelint@0.10.0 │ └─┬ chalk@1.1.3 │ └── strip-ansi@3.0.1 ├─┬ grunt-webdriver@2.0.3 │ └── resolve@1.1.7 ├─┬ karma@1.7.1 │ ├─┬ body-parser@1.18.2 │ │ ├── bytes@3.0.0 │ │ ├── content-type@1.0.4 │ │ ├── debug@2.6.9 │ │ ├── depd@1.1.2 │ │ ├─┬ http-errors@1.6.3 │ │ │ ├── setprototypeof@1.1.0 │ │ │ └── statuses@1.5.0 │ │ ├── iconv-lite@0.4.19 │ │ ├─┬ on-finished@2.3.0 │ │ │ └── ee-first@1.1.1 │ │ ├── qs@6.5.1 │ │ ├─┬ raw-body@2.3.2 │ │ │ └─┬ http-errors@1.6.2 │ │ │ ├── depd@1.1.1 │ │ │ └── setprototypeof@1.0.3 │ │ └─┬ type-is@1.6.16 │ │ └── media-typer@0.3.0 │ ├─┬ chokidar@1.7.0 │ │ ├── anymatch@1.3.2 │ │ ├── async-each@1.0.1 │ │ ├── glob-parent@2.0.0 │ │ ├─┬ is-binary-path@1.0.1 │ │ │ └── binary-extensions@1.11.0 │ │ ├── is-glob@2.0.1 │ │ └─┬ readdirp@2.1.0 │ │ └── set-immediate-shim@1.0.1 │ ├── colors@1.1.2 │ ├── combine-lists@1.0.1 │ ├─┬ connect@3.6.6 │ │ ├── debug@2.6.9 │ │ ├─┬ finalhandler@1.1.0 │ │ │ ├── debug@2.6.9 │ │ │ ├── encodeurl@1.0.2 │ │ │ ├── escape-html@1.0.3 │ │ │ ├── statuses@1.3.1 │ │ │ └── unpipe@1.0.0 │ │ └── utils-merge@1.0.1 │ ├── core-js@2.5.5 │ ├── di@0.0.1 │ ├─┬ dom-serialize@2.2.1 │ │ ├── custom-event@1.0.1 │ │ ├── ent@2.2.0 │ │ ├── extend@3.0.1 │ │ └── void-elements@2.0.1 │ ├─┬ expand-braces@0.1.2 │ │ ├── array-slice@0.2.3 │ │ ├── array-unique@0.2.1 │ │ └─┬ braces@0.1.5 │ │ └─┬ expand-range@0.1.1 │ │ ├── is-number@0.1.1 │ │ └── repeat-string@0.2.2 │ ├── graceful-fs@4.1.11 │ ├─┬ http-proxy@1.16.2 │ │ ├── eventemitter3@1.2.0 │ │ └── requires-port@1.0.0 │ ├── isbinaryfile@3.0.2 │ ├── lodash@3.10.1 │ ├─┬ log4js@0.6.38 │ │ ├─┬ readable-stream@1.0.34 │ │ │ ├── isarray@0.0.1 │ │ │ └── string_decoder@0.10.31 │ │ └── semver@4.3.6 │ ├── mime@1.6.0 │ ├─┬ optimist@0.6.1 │ │ └── wordwrap@0.0.3 │ ├── qjobs@1.2.0 │ ├── range-parser@1.2.0 │ ├── rimraf@2.6.2 │ ├── safe-buffer@5.1.1 │ ├─┬ socket.io@1.7.3 │ │ ├─┬ debug@2.3.3 │ │ │ └── ms@0.7.2 │ │ ├─┬ engine.io@1.8.3 │ │ │ ├─┬ accepts@1.3.3 │ │ │ │ └── negotiator@0.6.1 │ │ │ ├── base64id@1.0.0 │ │ │ ├── cookie@0.3.1 │ │ │ ├─┬ debug@2.3.3 │ │ │ │ └── ms@0.7.2 │ │ │ ├─┬ engine.io-parser@1.3.2 │ │ │ │ ├── after@0.8.2 │ │ │ │ ├── arraybuffer.slice@0.0.6 │ │ │ │ ├── base64-arraybuffer@0.1.5 │ │ │ │ ├── blob@0.0.4 │ │ │ │ └── wtf-8@1.0.0 │ │ │ └─┬ ws@1.1.2 │ │ │ ├── options@0.0.6 │ │ │ └── ultron@1.0.2 │ │ ├─┬ has-binary@0.1.7 │ │ │ └── isarray@0.0.1 │ │ ├── object-assign@4.1.0 │ │ ├─┬ socket.io-adapter@0.5.0 │ │ │ └─┬ debug@2.3.3 │ │ │ └── ms@0.7.2 │ │ ├─┬ socket.io-client@1.7.3 │ │ │ ├── backo2@1.0.2 │ │ │ ├── component-bind@1.0.0 │ │ │ ├── component-emitter@1.2.1 │ │ │ ├─┬ debug@2.3.3 │ │ │ │ └── ms@0.7.2 │ │ │ ├─┬ engine.io-client@1.8.3 │ │ │ │ ├── component-emitter@1.2.1 │ │ │ │ ├── component-inherit@0.0.3 │ │ │ │ ├─┬ debug@2.3.3 │ │ │ │ │ └── ms@0.7.2 │ │ │ │ ├── has-cors@1.1.0 │ │ │ │ ├── parsejson@0.0.3 │ │ │ │ ├── parseqs@0.0.5 │ │ │ │ ├── xmlhttprequest-ssl@1.5.3 │ │ │ │ └── yeast@0.1.2 │ │ │ ├── indexof@0.0.1 │ │ │ ├── object-component@0.0.3 │ │ │ ├─┬ parseuri@0.0.5 │ │ │ │ └─┬ better-assert@1.0.2 │ │ │ │ └── callsite@1.0.0 │ │ │ └── to-array@0.1.4 │ │ └─┬ socket.io-parser@2.3.1 │ │ ├── component-emitter@1.1.2 │ │ ├─┬ debug@2.2.0 │ │ │ └── ms@0.7.1 │ │ └── isarray@0.0.1 │ ├── source-map@0.5.7 │ ├─┬ tmp@0.0.31 │ │ └── os-tmpdir@1.0.2 │ └─┬ useragent@2.3.0 │ └── tmp@0.0.33 ├─┬ karma-chrome-launcher@2.2.0 │ ├─┬ fs-access@1.0.1 │ │ └── null-check@1.0.0 │ └─┬ which@1.3.0 │ └── isexe@2.0.0 ├── karma-firefox-launcher@1.0.1 ├─┬ karma-mocha-reporter@2.2.5 │ └── log-symbols@2.2.0 ├── karma-qunit@1.2.1 ├─┬ mwbot@1.0.10 │ ├─┬ request@2.85.0 │ │ ├── aws-sign2@0.7.0 │ │ ├── aws4@1.7.0 │ │ ├── caseless@0.12.0 │ │ ├─┬ combined-stream@1.0.6 │ │ │ └── delayed-stream@1.0.0 │ │ ├── forever-agent@0.6.1 │ │ ├─┬ form-data@2.3.2 │ │ │ └── asynckit@0.4.0 │ │ ├─┬ har-validator@5.0.3 │ │ │ └── har-schema@2.0.0 │ │ ├─┬ hawk@6.0.2 │ │ │ ├── boom@4.3.1 │ │ │ ├─┬ cryptiles@3.1.2 │ │ │ │ └── boom@5.2.0 │ │ │ ├── hoek@4.2.1 │ │ │ └── sntp@2.1.0 │ │ ├─┬ http-signature@1.2.0 │ │ │ ├── assert-plus@1.0.0 │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ └── verror@1.10.0 │ │ │ └─┬ sshpk@1.14.1 │ │ │ ├── asn1@0.2.3 │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ ├── dashdash@1.14.1 │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ ├── getpass@0.1.7 │ │ │ ├── jsbn@0.1.1 │ │ │ └── tweetnacl@0.14.5 │ │ ├── is-typedarray@1.0.0 │ │ ├── isstream@0.1.2 │ │ ├─┬ mime-types@2.1.18 │ │ │ └── mime-db@1.33.0 │ │ ├── oauth-sign@0.8.2 │ │ ├── performance-now@2.1.0 │ │ ├── qs@6.5.1 │ │ ├── stringstream@0.0.5 │ │ ├─┬ tough-cookie@2.3.4 │ │ │ └── punycode@1.4.1 │ │ ├── tunnel-agent@0.6.0 │ │ └── uuid@3.2.1 │ └─┬ semlog@0.6.10 │ ├─┬ chalk@1.1.3 │ │ └── strip-ansi@3.0.1 │ └─┬ prettyjson@1.2.1 │ └── minimist@1.2.0 ├─┬ postcss-less@1.1.5 │ └─┬ postcss@5.2.18 │ ├─┬ chalk@1.1.3 │ │ ├── strip-ansi@3.0.1 │ │ └── supports-color@2.0.0 │ ├── js-base64@2.4.3 │ └─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├─┬ qunitjs@2.4.1 │ ├── chokidar@1.6.1 │ ├─┬ commander@2.9.0 │ │ └── graceful-readlink@1.0.1 │ ├── exists-stat@1.0.0 │ ├─┬ findup-sync@0.4.3 │ │ ├─┬ detect-file@0.1.0 │ │ │ └── fs-exists-sync@0.1.0 │ │ └─┬ resolve-dir@0.1.1 │ │ ├─┬ expand-tilde@1.2.2 │ │ │ └── os-homedir@1.0.2 │ │ └─┬ global-modules@0.2.3 │ │ ├─┬ global-prefix@0.1.5 │ │ │ ├─┬ homedir-polyfill@1.0.1 │ │ │ │ └── parse-passwd@1.0.0 │ │ │ └── ini@1.3.5 │ │ └── is-windows@0.2.0 │ ├── js-reporters@1.2.0 │ ├─┬ resolve@1.3.2 │ │ └── path-parse@1.0.5 │ └─┬ walk-sync@0.3.1 │ ├── ensure-posix-path@1.0.2 │ └── matcher-collection@1.0.5 ├─┬ stylelint@9.2.0 │ ├─┬ autoprefixer@8.2.0 │ │ ├─┬ browserslist@3.2.4 │ │ │ └── electron-to-chromium@1.3.42 │ │ ├── caniuse-lite@1.0.30000828 │ │ ├── normalize-range@0.1.2 │ │ ├── num2fraction@1.2.2 │ │ └─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ ├── balanced-match@1.0.0 │ ├─┬ cosmiconfig@4.0.0 │ │ ├── is-directory@0.3.1 │ │ ├─┬ parse-json@4.0.0 │ │ │ ├─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ └── json-parse-better-errors@1.0.2 │ │ └── require-from-string@2.0.2 │ ├─┬ execall@1.0.0 │ │ └─┬ clone-regexp@1.0.1 │ │ ├── is-regexp@1.0.0 │ │ └── is-supported-regexp-flag@1.0.1 │ ├── get-stdin@6.0.0 │ ├─┬ globby@8.0.1 │ │ ├─┬ array-union@1.0.2 │ │ │ └── array-uniq@1.0.3 │ │ ├─┬ dir-glob@2.0.0 │ │ │ ├── arrify@1.0.1 │ │ │ └─┬ path-type@3.0.0 │ │ │ └── pify@3.0.0 │ │ ├─┬ fast-glob@2.2.0 │ │ │ ├─┬ @mrmlnc/readdir-enhanced@2.2.1 │ │ │ │ ├── call-me-maybe@1.0.1 │ │ │ │ └── glob-to-regexp@0.3.0 │ │ │ ├─┬ glob-parent@3.1.0 │ │ │ │ ├── is-glob@3.1.0 │ │ │ │ └── path-dirname@1.0.2 │ │ │ ├─┬ is-glob@4.0.0 │ │ │ │ └── is-extglob@2.1.1 │ │ │ ├── merge2@1.2.1 │ │ │ └─┬ micromatch@3.1.10 │ │ │ ├── arr-diff@4.0.0 │ │ │ ├── array-unique@0.3.2 │ │ │ ├─┬ braces@2.3.2 │ │ │ │ ├── extend-shallow@2.0.1 │ │ │ │ ├─┬ fill-range@4.0.0 │ │ │ │ │ ├── extend-shallow@2.0.1 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └─┬ to-regex-range@2.1.1 │ │ │ │ │ └── is-number@3.0.0 │ │ │ │ ├── isobject@3.0.1 │ │ │ │ ├─┬ snapdragon-node@2.1.1 │ │ │ │ │ ├─┬ define-property@1.0.0 │ │ │ │ │ │ └─┬ is-descriptor@1.0.2 │ │ │ │ │ │ ├── is-accessor-descriptor@1.0.0 │ │ │ │ │ │ ├── is-data-descriptor@1.0.0 │ │ │ │ │ │ └── kind-of@6.0.2 │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ └── snapdragon-util@3.0.1 │ │ │ │ └── split-string@3.1.0 │ │ │ ├─┬ define-property@2.0.2 │ │ │ │ ├─┬ is-descriptor@1.0.2 │ │ │ │ │ ├── is-accessor-descriptor@1.0.0 │ │ │ │ │ ├── is-data-descriptor@1.0.0 │ │ │ │ │ └── kind-of@6.0.2 │ │ │ │ └── isobject@3.0.1 │ │ │ ├─┬ extend-shallow@3.0.2 │ │ │ │ ├── assign-symbols@1.0.0 │ │ │ │ └─┬ is-extendable@1.0.1 │ │ │ │ └─┬ is-plain-object@2.0.4 │ │ │ │ └── isobject@3.0.1 │ │ │ ├─┬ extglob@2.0.4 │ │ │ │ ├─┬ define-property@1.0.0 │ │ │ │ │ └─┬ is-descriptor@1.0.2 │ │ │ │ │ ├── is-accessor-descriptor@1.0.0 │ │ │ │ │ └── is-data-descriptor@1.0.0 │ │ │ │ ├─┬ expand-brackets@2.1.4 │ │ │ │ │ ├── debug@2.6.9 │ │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ │ └─┬ is-descriptor@0.1.6 │ │ │ │ │ │ ├─┬ is-accessor-descriptor@0.1.6 │ │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ │ ├─┬ is-data-descriptor@0.1.4 │ │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ │ └── kind-of@5.1.0 │ │ │ │ │ ├── extend-shallow@2.0.1 │ │ │ │ │ └── posix-character-classes@0.1.1 │ │ │ │ └── extend-shallow@2.0.1 │ │ │ ├─┬ fragment-cache@0.2.1 │ │ │ │ └── map-cache@0.2.2 │ │ │ ├── kind-of@6.0.2 │ │ │ ├─┬ nanomatch@1.2.9 │ │ │ │ ├── arr-diff@4.0.0 │ │ │ │ ├── array-unique@0.3.2 │ │ │ │ ├─┬ is-odd@2.0.0 │ │ │ │ │ └── is-number@4.0.0 │ │ │ │ ├── is-windows@1.0.2 │ │ │ │ └── kind-of@6.0.2 │ │ │ ├─┬ object.pick@1.3.0 │ │ │ │ └── isobject@3.0.1 │ │ │ ├─┬ regex-not@1.0.2 │ │ │ │ └─┬ safe-regex@1.1.0 │ │ │ │ └── ret@0.1.15 │ │ │ ├─┬ snapdragon@0.8.2 │ │ │ │ ├─┬ base@0.11.2 │ │ │ │ │ ├─┬ cache-base@1.0.1 │ │ │ │ │ │ ├─┬ collection-visit@1.0.0 │ │ │ │ │ │ │ ├── map-visit@1.0.0 │ │ │ │ │ │ │ └─┬ object-visit@1.0.1 │ │ │ │ │ │ │ └── isobject@3.0.1 │ │ │ │ │ │ ├── component-emitter@1.2.1 │ │ │ │ │ │ ├── get-value@2.0.6 │ │ │ │ │ │ ├─┬ has-value@1.0.0 │ │ │ │ │ │ │ ├─┬ has-values@1.0.0 │ │ │ │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ │ │ │ └── isobject@3.0.1 │ │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ │ ├─┬ set-value@2.0.0 │ │ │ │ │ │ │ └── extend-shallow@2.0.1 │ │ │ │ │ │ ├── to-object-path@0.3.0 │ │ │ │ │ │ ├─┬ union-value@1.0.0 │ │ │ │ │ │ │ └─┬ set-value@0.4.3 │ │ │ │ │ │ │ └── extend-shallow@2.0.1 │ │ │ │ │ │ └─┬ unset-value@1.0.0 │ │ │ │ │ │ ├─┬ has-value@0.3.1 │ │ │ │ │ │ │ ├── has-values@0.1.4 │ │ │ │ │ │ │ └── isobject@2.1.0 │ │ │ │ │ │ └── isobject@3.0.1 │ │ │ │ │ ├─┬ class-utils@0.3.6 │ │ │ │ │ │ ├── arr-union@3.1.0 │ │ │ │ │ │ ├── define-property@0.2.5 │ │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ │ └─┬ static-extend@0.1.2 │ │ │ │ │ │ ├── define-property@0.2.5 │ │ │ │ │ │ └─┬ object-copy@0.1.0 │ │ │ │ │ │ ├── copy-descriptor@0.1.1 │ │ │ │ │ │ └── define-property@0.2.5 │ │ │ │ │ ├── component-emitter@1.2.1 │ │ │ │ │ ├─┬ define-property@1.0.0 │ │ │ │ │ │ └─┬ is-descriptor@1.0.2 │ │ │ │ │ │ ├── is-accessor-descriptor@1.0.0 │ │ │ │ │ │ ├── is-data-descriptor@1.0.0 │ │ │ │ │ │ └── kind-of@6.0.2 │ │ │ │ │ ├── isobject@3.0.1 │ │ │ │ │ ├─┬ mixin-deep@1.3.1 │ │ │ │ │ │ └── is-extendable@1.0.1 │ │ │ │ │ └── pascalcase@0.1.1 │ │ │ │ ├── debug@2.6.9 │ │ │ │ ├─┬ define-property@0.2.5 │ │ │ │ │ └─┬ is-descriptor@0.1.6 │ │ │ │ │ ├── is-accessor-descriptor@0.1.6 │ │ │ │ │ ├── is-data-descriptor@0.1.4 │ │ │ │ │ └── kind-of@5.1.0 │ │ │ │ ├── extend-shallow@2.0.1 │ │ │ │ ├─┬ source-map-resolve@0.5.1 │ │ │ │ │ ├── atob@2.1.0 │ │ │ │ │ ├── decode-uri-component@0.2.0 │ │ │ │ │ └── source-map-url@0.4.0 │ │ │ │ └─┬ use@3.1.0 │ │ │ │ └── kind-of@6.0.2 │ │ │ └── to-regex@3.0.2 │ │ └── slash@1.0.0 │ ├── globjoin@0.1.4 │ ├── html-tags@2.0.0 │ ├── import-lazy@3.1.0 │ ├── known-css-properties@0.6.1 │ ├── mathml-tag-names@2.0.1 │ ├─┬ meow@4.0.0 │ │ ├─┬ camelcase-keys@4.2.0 │ │ │ ├── camelcase@4.1.0 │ │ │ ├── map-obj@2.0.0 │ │ │ └── quick-lru@1.1.0 │ │ ├── decamelize-keys@1.1.0 │ │ ├─┬ loud-rejection@1.6.0 │ │ │ └─┬ currently-unhandled@0.4.1 │ │ │ └── array-find-index@1.0.2 │ │ ├── minimist@1.2.0 │ │ ├─┬ minimist-options@3.0.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.6.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.3 │ │ │ ├─┬ spdx-correct@3.0.0 │ │ │ │ └── spdx-license-ids@3.0.0 │ │ │ └─┬ spdx-expression-parse@3.0.0 │ │ │ └── spdx-exceptions@2.1.0 │ │ ├─┬ read-pkg-up@3.0.0 │ │ │ ├─┬ find-up@2.1.0 │ │ │ │ └─┬ locate-path@2.0.0 │ │ │ │ ├─┬ p-locate@2.0.0 │ │ │ │ │ └─┬ p-limit@1.2.0 │ │ │ │ │ └── p-try@1.0.0 │ │ │ │ └── path-exists@3.0.0 │ │ │ └─┬ read-pkg@3.0.0 │ │ │ ├─┬ load-json-file@4.0.0 │ │ │ │ ├── parse-json@4.0.0 │ │ │ │ └── strip-bom@3.0.0 │ │ │ └── path-type@3.0.0 │ │ ├─┬ redent@2.0.0 │ │ │ ├── indent-string@3.2.0 │ │ │ └── strip-indent@2.0.0 │ │ └── trim-newlines@2.0.0 │ ├─┬ micromatch@2.3.11 │ │ ├─┬ arr-diff@2.0.0 │ │ │ └── arr-flatten@1.1.0 │ │ ├─┬ braces@1.8.5 │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ ├── is-number@2.1.0 │ │ │ │ ├── isobject@2.1.0 │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ └── kind-of@4.0.0 │ │ │ ├── preserve@0.2.0 │ │ │ └── repeat-element@1.1.2 │ │ ├─┬ expand-brackets@0.1.5 │ │ │ └── is-posix-bracket@0.1.1 │ │ ├── extglob@0.3.2 │ │ ├── filename-regex@2.0.1 │ │ ├── is-extglob@1.0.0 │ │ ├─┬ kind-of@3.2.2 │ │ │ └── is-buffer@1.1.6 │ │ ├─┬ normalize-path@2.1.1 │ │ │ └── remove-trailing-separator@1.1.0 │ │ ├─┬ object.omit@2.0.1 │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ └── for-in@1.0.2 │ │ │ └── is-extendable@0.1.1 │ │ ├─┬ parse-glob@3.0.4 │ │ │ ├── glob-base@0.3.0 │ │ │ └── is-dotfile@1.0.3 │ │ └─┬ regex-cache@0.4.4 │ │ └─┬ is-equal-shallow@0.1.3 │ │ └── is-primitive@2.0.0 │ ├── normalize-selector@0.2.0 │ ├── pify@3.0.0 │ ├─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ ├─┬ postcss-html@0.18.0 │ │ ├─┬ @babel/core@7.0.0-beta.44 │ │ │ ├─┬ @babel/code-frame@7.0.0-beta.44 │ │ │ │ └── @babel/highlight@7.0.0-beta.44 │ │ │ ├─┬ @babel/generator@7.0.0-beta.44 │ │ │ │ ├── jsesc@2.5.1 │ │ │ │ └── trim-right@1.0.1 │ │ │ ├── @babel/helpers@7.0.0-beta.44 │ │ │ ├── @babel/template@7.0.0-beta.44 │ │ │ ├─┬ @babel/types@7.0.0-beta.44 │ │ │ │ └── to-fast-properties@2.0.0 │ │ │ ├── convert-source-map@1.5.1 │ │ │ ├── json5@0.5.1 │ │ │ └── resolve@1.7.1 │ │ ├─┬ @babel/traverse@7.0.0-beta.44 │ │ │ ├─┬ @babel/helper-function-name@7.0.0-beta.44 │ │ │ │ └── @babel/helper-get-function-arity@7.0.0-beta.44 │ │ │ ├── @babel/helper-split-export-declaration@7.0.0-beta.44 │ │ │ ├── globals@11.4.0 │ │ │ └─┬ invariant@2.2.4 │ │ │ └── loose-envify@1.3.1 │ │ ├── babylon@7.0.0-beta.44 │ │ ├─┬ htmlparser2@3.9.2 │ │ │ ├── domelementtype@1.3.0 │ │ │ ├── domhandler@2.4.1 │ │ │ ├─┬ domutils@1.7.0 │ │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ │ └── domelementtype@1.1.3 │ │ │ └── entities@1.1.1 │ │ ├─┬ remark@9.0.0 │ │ │ ├─┬ remark-parse@5.0.0 │ │ │ │ ├── collapse-white-space@1.0.3 │ │ │ │ ├── is-alphabetical@1.0.1 │ │ │ │ ├── is-decimal@1.0.1 │ │ │ │ ├── is-whitespace-character@1.0.1 │ │ │ │ ├── is-word-character@1.0.1 │ │ │ │ ├── markdown-escapes@1.0.1 │ │ │ │ ├─┬ parse-entities@1.1.1 │ │ │ │ │ ├── character-entities@1.2.1 │ │ │ │ │ ├── character-entities-legacy@1.1.1 │ │ │ │ │ ├── character-reference-invalid@1.1.1 │ │ │ │ │ ├── is-alphanumerical@1.0.1 │ │ │ │ │ └── is-hexadecimal@1.0.1 │ │ │ │ ├── repeat-string@1.6.1 │ │ │ │ ├── state-toggle@1.0.0 │ │ │ │ ├── trim@0.0.1 │ │ │ │ ├── trim-trailing-lines@1.1.0 │ │ │ │ ├── unherit@1.1.0 │ │ │ │ ├─┬ unist-util-remove-position@1.1.1 │ │ │ │ │ └── unist-util-visit@1.3.0 │ │ │ │ └── vfile-location@2.0.2 │ │ │ ├─┬ remark-stringify@5.0.0 │ │ │ │ ├── ccount@1.0.2 │ │ │ │ ├── is-alphanumeric@1.0.0 │ │ │ │ ├── longest-streak@2.0.2 │ │ │ │ ├── markdown-table@1.1.1 │ │ │ │ ├─┬ mdast-util-compact@1.0.1 │ │ │ │ │ └─┬ unist-util-modify-children@1.1.1 │ │ │ │ │ └── array-iterate@1.1.1 │ │ │ │ └─┬ stringify-entities@1.3.1 │ │ │ │ └── character-entities-html4@1.1.1 │ │ │ └─┬ unified@6.1.6 │ │ │ ├── bail@1.0.2 │ │ │ ├── trough@1.0.1 │ │ │ ├─┬ vfile@2.3.0 │ │ │ │ ├── replace-ext@1.0.0 │ │ │ │ ├── unist-util-stringify-position@1.1.1 │ │ │ │ └── vfile-message@1.0.0 │ │ │ ├── x-is-function@1.0.4 │ │ │ └── x-is-string@0.1.0 │ │ └─┬ unist-util-find-all-after@1.0.1 │ │ └── unist-util-is@2.1.1 │ ├── postcss-media-query-parser@0.2.3 │ ├─┬ postcss-reporter@5.0.0 │ │ └─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ ├── postcss-resolve-nested-selector@0.1.1 │ ├─┬ postcss-safe-parser@3.0.1 │ │ └─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ ├─┬ postcss-sass@0.3.0 │ │ ├─┬ gonzales-pe@4.2.3 │ │ │ └── minimist@1.1.3 │ │ └─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ ├─┬ postcss-scss@1.0.5 │ │ └─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ ├─┬ postcss-selector-parser@3.1.1 │ │ ├─┬ dot-prop@4.2.0 │ │ │ └── is-obj@1.0.1 │ │ ├── indexes-of@1.0.1 │ │ └── uniq@1.0.1 │ ├── postcss-value-parser@3.3.0 │ ├── resolve-from@4.0.0 │ ├── signal-exit@3.0.2 │ ├── specificity@0.3.2 │ ├─┬ string-width@2.1.1 │ │ └── is-fullwidth-code-point@2.0.0 │ ├── style-search@0.1.0 │ ├─┬ sugarss@1.0.1 │ │ └─┬ postcss@6.0.21 │ │ ├── source-map@0.6.1 │ │ └── supports-color@5.3.0 │ └── svg-tags@1.0.0 ├── stylelint-config-wikimedia@0.4.3 ├─┬ wdio-junit-reporter@0.2.0 │ ├─┬ babel-runtime@5.8.38 │ │ └── core-js@1.2.7 │ └─┬ junit-report-builder@1.3.0 │ ├── date-format@0.0.2 │ ├── lodash@3.10.1 │ └─┬ xmlbuilder@2.6.5 │ └── lodash@3.10.1 ├─┬ wdio-mocha-framework@0.5.8 │ ├─┬ mocha@3.5.3 │ │ ├── browser-stdout@1.3.0 │ │ ├── debug@2.6.8 │ │ ├── diff@3.2.0 │ │ ├── glob@7.1.1 │ │ ├── growl@1.9.2 │ │ ├── he@1.1.1 │ │ ├── json3@3.3.2 │ │ ├─┬ lodash.create@3.1.1 │ │ │ ├─┬ lodash._baseassign@3.2.0 │ │ │ │ ├── lodash._basecopy@3.0.1 │ │ │ │ └─┬ lodash.keys@3.1.2 │ │ │ │ ├── lodash._getnative@3.9.1 │ │ │ │ ├── lodash.isarguments@3.1.0 │ │ │ │ └── lodash.isarray@3.0.4 │ │ │ ├── lodash._basecreate@3.0.3 │ │ │ └── lodash._isiterateecall@3.0.9 │ │ └─┬ supports-color@3.1.2 │ │ └── has-flag@1.0.0 │ └─┬ wdio-sync@0.6.10 │ ├── fibers@1.0.15 │ └─┬ object.assign@4.1.0 │ ├─┬ define-properties@1.1.2 │ │ └── foreach@2.0.5 │ ├── function-bind@1.1.1 │ ├── has-symbols@1.0.0 │ └── object-keys@1.0.11 ├─┬ wdio-sauce-service@0.3.1 │ └─┬ sauce-connect-launcher@1.2.4 │ ├── adm-zip@0.4.7 │ ├── async@2.6.0 │ └─┬ https-proxy-agent@2.2.1 │ └─┬ agent-base@4.2.0 │ └─┬ es6-promisify@5.0.0 │ └── es6-promise@4.2.4 ├─┬ wdio-spec-reporter@0.0.5 │ └── humanize-duration@3.14.0 └─┬ webdriverio@4.12.0 ├─┬ archiver@2.1.1 │ ├─┬ archiver-utils@1.3.0 │ │ └── lazystream@1.0.0 │ ├── async@2.6.0 │ ├── buffer-crc32@0.2.13 │ ├─┬ tar-stream@1.5.5 │ │ ├── bl@1.2.2 │ │ ├── end-of-stream@1.4.1 │ │ └── xtend@4.0.1 │ └─┬ zip-stream@1.2.0 │ └─┬ compress-commons@1.2.2 │ └─┬ crc32-stream@2.0.0 │ └── crc@3.5.0 ├─┬ babel-runtime@6.26.0 │ └── regenerator-runtime@0.11.1 ├─┬ css-parse@2.0.0 │ └─┬ css@2.2.1 │ ├─┬ source-map@0.1.43 │ │ └── amdefine@1.0.1 │ ├─┬ source-map-resolve@0.3.1 │ │ ├── atob@1.1.3 │ │ ├── resolve-url@0.2.1 │ │ └── source-map-url@0.3.0 │ └── urix@0.1.0 ├── css-value@0.0.1 ├── deepmerge@2.0.1 ├── ejs@2.5.8 ├── json-stringify-safe@5.0.1 ├── npm-install-package@2.1.0 ├── q@1.5.1 ├─┬ request@2.83.0 │ └── qs@6.5.1 ├── rgb2hex@0.1.0 ├─┬ supports-color@5.0.1 │ └── has-flag@2.0.0 ├─┬ url@0.11.0 │ ├── punycode@1.3.2 │ └── querystring@0.2.0 ├── wdio-dot-reporter@0.0.9 └── wgxpath@1.0.0 npm WARN optional Skipping failed optional dependency /chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.1.3 npm WARN optional Skipping failed optional dependency /qunitjs/chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.1.3 npm WARN ajv-keywords@3.1.0 requires a peer of ajv@^6.0.0 but none was installed. + ./node_modules/.bin/grunt karma:main Running "karma:main" (karma) task 13 04 2018 17:51:06.831:DEBUG [config]: No config file specified. 13 04 2018 17:51:06.843:DEBUG [plugin]: Loading karma-* from /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules 13 04 2018 17:51:06.848:DEBUG [plugin]: Loading plugin /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma-chrome-launcher. 13 04 2018 17:51:06.861:DEBUG [plugin]: Loading plugin /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma-firefox-launcher. 13 04 2018 17:51:06.863:DEBUG [plugin]: Loading plugin /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma-mocha-reporter. 13 04 2018 17:51:06.885:DEBUG [plugin]: Loading plugin /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma-qunit. 13 04 2018 17:51:06.909:DEBUG [web-server]: Instantiating middleware 13 04 2018 17:51:06.911:DEBUG [reporter]: Trying to load reporter: mocha 13 04 2018 17:51:06.918:DEBUG [reporter]: Trying to load color-version of reporter: mocha (mocha_color) 13 04 2018 17:51:06.918:DEBUG [reporter]: Couldn't load color-version. START: 13 04 2018 17:51:06.976:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/ 13 04 2018 17:51:06.977:INFO [launcher]: Launching browser Chrome with unlimited concurrency 13 04 2018 17:51:06.988:INFO [launcher]: Starting browser Chrome 13 04 2018 17:51:06.989:DEBUG [temp-dir]: Creating temp dir at /home/jenkins/tmpfs/jenkins-0/karma-71643137 13 04 2018 17:51:06.989:DEBUG [launcher]: /usr/bin/chromium --user-data-dir=/home/jenkins/tmpfs/jenkins-0/karma-71643137 --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-background-timer-throttling --disable-renderer-backgrounding --disable-device-discovery-notifications http://localhost:9876/?id=71643137 13 04 2018 17:51:11.287:DEBUG [web-server]: serving: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma/static/client.html 13 04 2018 17:51:11.351:DEBUG [web-server]: serving: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma/static/karma.js 13 04 2018 17:51:11.583:DEBUG [karma]: A browser has connected on socket Q7FHKTdbx4HyI_JrAAAA 13 04 2018 17:51:11.615:DEBUG [web-server]: upgrade /socket.io/?EIO=3&transport=websocket&sid=Q7FHKTdbx4HyI_JrAAAA 13 04 2018 17:51:11.615:DEBUG [proxy]: NOT upgrading proxyWebSocketRequest /socket.io/?EIO=3&transport=websocket&sid=Q7FHKTdbx4HyI_JrAAAA 13 04 2018 17:51:11.690:INFO [Chrome 57.0.2987 (Linux 0.0.0)]: Connected on socket Q7FHKTdbx4HyI_JrAAAA with id 71643137 13 04 2018 17:51:11.691:DEBUG [launcher]: Chrome (id 71643137) captured in 4.713 secs 13 04 2018 17:51:11.706:DEBUG [web-server]: serving: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma/static/favicon.ico 13 04 2018 17:51:11.714:DEBUG [middleware:karma]: custom files null null null 13 04 2018 17:51:11.715:DEBUG [middleware:karma]: Serving static request /context.html 13 04 2018 17:51:11.717:DEBUG [web-server]: serving: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma/static/context.html 13 04 2018 17:51:11.730:DEBUG [middleware:source-files]: Requesting /base/node_modules/qunitjs/qunit/qunit.js?fca9a0ac0c00fe782af607f1058a7bf250e4eb89 / 13 04 2018 17:51:11.730:DEBUG [middleware:source-files]: Fetching /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/qunitjs/qunit/qunit.js 13 04 2018 17:51:11.732:DEBUG [web-server]: serving (cached): /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/qunitjs/qunit/qunit.js 13 04 2018 17:51:11.741:DEBUG [middleware:source-files]: Requesting /base/node_modules/karma-qunit/lib/adapter.js?0932caacc3ac2a0121166f2adaa7d4da20d06400 / 13 04 2018 17:51:11.742:DEBUG [middleware:source-files]: Fetching /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma-qunit/lib/adapter.js 13 04 2018 17:51:11.742:DEBUG [web-server]: serving (cached): /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma-qunit/lib/adapter.js 13 04 2018 17:51:11.745:DEBUG [web-server]: serving: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/node_modules/karma/static/context.js 13 04 2018 17:51:14.277:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=0c80h2q / 13 04 2018 17:51:14.277:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:14.278:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=0c80h2q to localhost:9412 Chrome 57.0.2987 (Linux 0.0.0) LOG: 'JQMIGRATE: Migrate is installed with logging active, version 3.0.1' 13 04 2018 17:51:16.558:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=jquery.accessKeyLabel%2CcheckboxShiftClick%2Cclient%2Ccolor%2CcolorUtil%2Ccookie%2CgetAttrs%2Chidpi%2ChighlightText%2ClengthLimit%2Clocalize%2CmakeCollapsible%2Cmw-jump%2CtabIndex%2Ctablesorter%2CtextSelection%7Cmediawiki.ForeignApi%2CRegExp%2CString%2CTitle%2CUri%2Capi%2Ccldr%2Ccookie%2Cexperiments%2Cinspect%2CjqueryMsg%2Clanguage%2CmessagePoster%2Cnotify%2Cstorage%2Ctemplate%2Ctoc%2Cuser%2Cutil%2Cviewport%2CvisibleTimeout%7Cmediawiki.ForeignApi.core%7Cmediawiki.api.category%2Cedit%2Cmessages%2Coptions%2Cparse%2Cupload%2Cuser%2Cwatch%7Cmediawiki.language.data%2Cinit%2Cmonths%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%2Cstartup%7Cmediawiki.rcfilters.filters.dm%7Cmediawiki.special.recentchanges%7Cmediawiki.template.mustache%2Cregexp%7Coojs%7Ctest.mediawiki.qunit.suites%2Ctestrunner%7Ctest.sinonjs%7Cuser.defaults&skin=vector&version=1dec8zs / 13 04 2018 17:51:16.559:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:16.559:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=jquery.accessKeyLabel%2CcheckboxShiftClick%2Cclient%2Ccolor%2CcolorUtil%2Ccookie%2CgetAttrs%2Chidpi%2ChighlightText%2ClengthLimit%2Clocalize%2CmakeCollapsible%2Cmw-jump%2CtabIndex%2Ctablesorter%2CtextSelection%7Cmediawiki.ForeignApi%2CRegExp%2CString%2CTitle%2CUri%2Capi%2Ccldr%2Ccookie%2Cexperiments%2Cinspect%2CjqueryMsg%2Clanguage%2CmessagePoster%2Cnotify%2Cstorage%2Ctemplate%2Ctoc%2Cuser%2Cutil%2Cviewport%2CvisibleTimeout%7Cmediawiki.ForeignApi.core%7Cmediawiki.api.category%2Cedit%2Cmessages%2Coptions%2Cparse%2Cupload%2Cuser%2Cwatch%7Cmediawiki.language.data%2Cinit%2Cmonths%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%2Cstartup%7Cmediawiki.rcfilters.filters.dm%7Cmediawiki.special.recentchanges%7Cmediawiki.template.mustache%2Cregexp%7Coojs%7Ctest.mediawiki.qunit.suites%2Ctestrunner%7Ctest.sinonjs%7Cuser.defaults&skin=vector&version=1dec8zs to localhost:9412 testrunner ✔ Setup ✔ Teardown ✔ Loader status ✔ assert.htmlEqual testrunner-after ✔ Teardown testrunner-each ✔ beforeEach ✔ afterEach testrunner-each-compat ✔ setup ✔ teardown testrunner-nested > testrunner-nested-inner ✔ Dummy testrunner-hooks-outer > testrunner-hooks ✔ `before` hook was executed startup ✔ isCompatible( featureTestable ) ✔ isCompatible( blacklisted ) jquery.accessKeyLabel ✔ getAccessKeyPrefix ✔ updateTooltipAccessKeys - current browser ✔ updateTooltipAccessKeys - no access key ✔ updateTooltipAccessKeys - with access key ✔ updateTooltipAccessKeys with label element ✔ updateTooltipAccessKeys with label element as parent jquery.color ✔ animate jquery.colorUtil ✔ getRGB ✔ rgbToHsl ✔ hslToRgb ✔ getColorBrightness jquery.getAttrs ✔ getAttrs() jquery.hidpi ✔ devicePixelRatio ✔ bracketedDevicePixelRatio ✔ bracketDevicePixelRatio ✔ matchSrcSet jquery.highlightText ✔ Check jquery.lengthLimit ✔ Plain text input ✔ Plain text input. Calling byteLimit with no parameters and no maxlength attribute (T38310) ✔ Limit using the maxlength attribute ✔ Limit using a custom value ✔ Limit using a custom value, overriding maxlength attribute ✔ Limit using a custom value (multibyte) ✔ Limit using a custom value (multibyte, outside BMP) ✔ Limit using a custom value (multibyte) overlapping a byte ✔ Pass the limit and a callback as input filter ✔ Limit using the maxlength attribute and pass a callback as input filter ✔ Pass the limit and a callback as input filter ✔ Input filter that increases the length ✔ Input filter of which the base exceeds the limit ✔ Confirm properties and attributes set ✔ Trim from insertion when limit exceeded ✔ Do not cut up false matching substrings in emoji insertions ✔ Unpaired surrogates do not crash jquery.localize ✔ Handle basic replacements ✔ Proper escaping ✔ Options ✔ Handle data text ✔ Handle data html jquery.makeCollapsible ✔ testing hooks/triggers ✔ basic operation (
) ✔ basic operation () ✔ basic operation (
with caption) ✔ basic operation (
with caption and ) ✔ basic operation (
    ) ✔ basic operation (
      ) ✔ basic operation when synchronous (options.instantHide) ✔ mw-made-collapsible data added ✔ mw-collapsible added when missing ✔ mw-collapsed added when missing ✔ initial collapse (mw-collapsed class) ✔ initial collapse (options.collapsed) ✔ clicks on links inside toggler pass through ✔ click on non-link inside toggler counts as trigger ✔ collapse/expand text (data-collapsetext, data-expandtext) ✔ collapse/expand text (options.collapseText, options.expandText) ✔ predefined toggle button and text (.mw-collapsible-toggle/.mw-collapsible-text) ✔ cloned collapsibles can be made collapsible again jquery.tabIndex ✔ firstTabIndex ✔ lastTabIndex jquery.tablesorter ✔ Basic planet table: sorting initially - ascending by name ✔ Basic planet table: sorting initially - descending by radius ✔ Basic planet table: ascending by name ✔ Basic planet table: ascending by name a second time ✔ Basic planet table: ascending by name (multiple clicks) ✔ Basic planet table: descending by name ✔ Basic planet table: ascending radius ✔ Basic planet table: descending radius ✔ Sorting multiple columns by passing sort list ✔ Sorting multiple columns by programmatically triggering sort() ✔ Reset to initial sorting by triggering sort() without any parameters ✔ Sort via click event after having initialized the tablesorter with initial sorting ✔ Multi-sort via click event after having initialized the tablesorter with initial sorting ✔ Reset sorting making table appear unsorted ✔ Sorting with colspanned headers: spanned column ✔ Sorting with colspanned headers: sort spanned column twice ✔ Sorting with colspanned headers: subsequent column ✔ Sorting with colspanned headers: sort subsequent column twice ✔ Basic planet table: one unsortable column ✔ T30775: German-style (dmy) short numeric dates ✔ T30775: American-style (mdy) short numeric dates ✔ T19141: IPv4 address sorting ✔ T19141: IPv4 address sorting (reverse) ✔ Accented Characters with custom collation ✔ Digraphs with custom collation ✔ Rowspan not exploded on init ✔ Basic planet table: same value for multiple rows via rowspan ✔ Basic planet table: same value for multiple rows via rowspan (sorting initially) ✔ Basic planet table: Same value for multiple rows via rowspan II ✔ Complex date parsing I ✔ Currency parsing I ✔ Legacy compat with .sortbottom ✔ Test detection routine ✔ T34047 - caption must be before thead ✔ data-sort-value attribute, when available, should override sorting position ✔ T10115: sort numbers with commas (ascending) ✔ T10115: sort numbers with commas (descending) ✔ T34888 - Tables inside a tableheader cell ✔ Correct date sorting I ✔ Correct date sorting II ✔ ISO date sorting ✔ Sorting images using alt text ✔ Sorting images using alt text (complex) ✔ Sorting images using alt text (with format autodetection) ✔ T40911 - The row with the largest amount of columns should receive the sort indicators ✔ rowspans in table headers should prefer the last row when rows are equal in length ✔ holes in the table headers should not throw JS errors ✔ td cells in thead should not be taken into account for longest row calculation ✔ Rowspan exploding with row headers ✔ Rowspan exploding with row headers and colspans ✔ Rowspan exploding with colspanned cells ✔ Rowspan exploding with colspanned cells (2) ✔ Rowspan exploding with rightmost rows spanning most ✔ Rowspan exploding with rightmost rows spanning most (2) ✔ Rowspan exploding with row-and-colspanned cells ✔ Rowspan exploding with uneven rowspan layout ✔ T105731 - incomplete rows in table body ✔ bug T114721 - use of expand-child class jquery.tablesorter.parsers ✔ Textual keys ✔ IPv4 ✔ MDY Dates using mdy content language ✔ MDY Dates using dmy content language ✔ Very old MDY dates ✔ MDY Dates ✔ Clobbered Dates ✔ MY Dates ✔ Y Dates ✔ ISO Dates ✔ Currency ✔ Currency with european separators jquery.textSelection ✔ Adding sig to end of text ✔ Adding bold to empty ✔ Adding bold to existing text ✔ ownline option: adding new h2 ✔ ownline option: turn a whole line into new h2 ✔ ownline option: turn a partial line into new h2 ✔ splitlines option: no selection, insert new list item ✔ splitlines option: single partial line selection, insert new list item ✔ splitlines option: multiple lines ✔ set/getCaretPosition with forced empty selection ✔ set/getCaretPosition with small selection mediawiki.requestIdleCallback ✔ callback ✔ nested ✔ timeRemaining ✔ native 13 04 2018 17:51:28.461:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=en&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:28.462:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:28.462:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=en&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 mediawiki.errorLogger ✔ installGlobalHandler mediawiki.jqueryMsg ✔ Replace ✔ Plural ✔ Gender ✔ Case changing ✔ Grammar 13 04 2018 17:51:28.953:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=fr&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:28.953:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:28.953:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=fr&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 13 04 2018 17:51:30.801:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=ar&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:30.802:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:30.802:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=ar&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 13 04 2018 17:51:32.159:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=jp&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:32.159:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:32.176:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=jp&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 13 04 2018 17:51:32.802:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=zh&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:32.802:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:32.803:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=zh&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 ✔ Match PHP parser ✔ Links ✔ Replacements in links ✔ Curly brace transformation ✔ Int ✔ Ns ✔ mw.Message.prototype.parser monkey-patch 13 04 2018 17:51:35.344:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=nl&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:35.345:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:35.345:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=nl&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 13 04 2018 17:51:36.197:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=ml&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:36.198:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:36.198:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=ml&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 13 04 2018 17:51:37.132:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=hi&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts / 13 04 2018 17:51:37.132:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:37.133:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?skin=vector&lang=hi&debug=false&modules=mediawiki.language.data%7Cmediawiki.language&only=scripts to localhost:9412 ✔ formatnum ✔ HTML 13 04 2018 17:51:38.169:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?15236418981577497 / 13 04 2018 17:51:38.169:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js 13 04 2018 17:51:38.170:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?15236418981577497 to localhost:9412 ✔ Nowiki ✔ Behavior in case of invalid wikitext ✔ Integration ✔ setParserDefaults mediawiki.jscompat ✔ Variable with Unicode letter in name ✔ Stripping of single initial newline from textarea's literal contents (T14130) mediawiki.messagePoster ✔ register mediawiki.RegExp ✔ escape mediawiki.String.byteLength ✔ Simple text ✔ Special text mediawiki.String.trimByteLength ✔ Limit using the maxlength attribute ✔ Limit using a custom value (multibyte) ✔ Limit using a custom value (multibyte, outside BMP) ✔ Limit using a custom value (multibyte) overlapping a byte ✔ Pass the limit and a callback as input filter ✔ Pass the limit and a callback as input filter ✔ Input filter that increases the length ✔ Trim from insertion when limit exceeded ✔ Trim from insertion when limit exceeded ✔ Do not cut up false matching substrings in emoji insertions ✔ Unpaired surrogates do not crash mediawiki.storage ✔ set/get with storage support ✔ set/get with storage methods disabled ✔ set/get with storage object disabled 13 04 2018 17:51:38.224:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?15236418982145555 / 13 04 2018 17:51:38.224:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js 13 04 2018 17:51:38.225:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?15236418982145555 to localhost:9412 mediawiki.template ✔ add ✔ compile ✔ get mediawiki.template.mustache ✔ render mediawiki ✔ Initial check ✔ mw.format ✔ mw.now ✔ mw.Map ✔ mw.message & mw.messages ✔ mw.msg ✔ mw.hook mediawiki (mw.loader) ✔ Basic ✔ Object method as module name 13 04 2018 17:51:38.254:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?15236418982511078 / 13 04 2018 17:51:38.254:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js 13 04 2018 17:51:38.254:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?15236418982511078 to localhost:9412 ✔ .using( .. ) Promise ✔ .using() Error: Circular dependency [StringSet default] ✔ .using() Error: Circular dependency [StringSet shim] ✔ .load() - Error: Circular dependency ✔ .using() - Error: Unregistered ✔ .load() - Error: Unregistered ✔ .load() - Error: Missing dependency ✔ .implement( styles={ "css": [text, ..] } ) 13 04 2018 17:51:38.406:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-b1&prop=text-align&val=center&152364189840283149 / 13 04 2018 17:51:38.406:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php 13 04 2018 17:51:38.406:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-b1&prop=text-align&val=center&152364189840283149 to localhost:9412 13 04 2018 17:51:38.407:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-b2&prop=float&val=left&152364189840240828 / 13 04 2018 17:51:38.408:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php 13 04 2018 17:51:38.408:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-b3&prop=float&val=right&152364189840240419 / 13 04 2018 17:51:38.408:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php 13 04 2018 17:51:38.409:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-b2&prop=float&val=left&152364189840240828 to localhost:9412 13 04 2018 17:51:38.409:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-b3&prop=float&val=right&152364189840240419 to localhost:9412 ✔ .implement( styles={ "url": { : [url, ..] } } ) ✔ .implement( styles={ : text } ) (back-compat) 13 04 2018 17:51:38.466:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-d&prop=float&val=right&152364189846253977 / 13 04 2018 17:51:38.466:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php 13 04 2018 17:51:38.467:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-d&prop=float&val=right&152364189846253977 to localhost:9412 13 04 2018 17:51:38.469:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-d2&prop=text-align&val=center&152364189846257219 / 13 04 2018 17:51:38.469:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php 13 04 2018 17:51:38.470:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-d2&prop=text-align&val=center&152364189846257219 to localhost:9412 ✔ .implement( styles={ : [url, ..] } ) (back-compat) 13 04 2018 17:51:38.517:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-import&prop=float&val=right&152364189850696590 / 13 04 2018 17:51:38.517:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php 13 04 2018 17:51:38.518:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/styleTest.css.php?selector=.mw-test-implement-import&prop=float&val=right&152364189850696590 to localhost:9412 ✔ .implement( styles has @import ) ✔ .implement( dependency with styles ) ✔ .implement( only scripts ) ✔ .implement( only messages ) 13 04 2018 17:51:38.611:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testUrlInc&skin=vector&version=0ghho6g / 13 04 2018 17:51:38.611:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php 13 04 2018 17:51:38.612:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testUrlIncDump&skin=vector&version=13e9zzn / 13 04 2018 17:51:38.612:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php 13 04 2018 17:51:38.612:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testUrlInc&skin=vector&version=0ghho6g to localhost:9412 13 04 2018 17:51:38.613:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testUrlIncDump&skin=vector&version=13e9zzn to localhost:9412 ✔ .implement( empty ) ✔ Url composition (modules considered for version) 13 04 2018 17:51:38.650:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testUrlOrder%2CtestUrlOrderDump%7CtestUrlOrder.a%2Cb&skin=vector&version=1knqzan / 13 04 2018 17:51:38.650:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php 13 04 2018 17:51:38.650:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testUrlOrder%2CtestUrlOrderDump%7CtestUrlOrder.a%2Cb&skin=vector&version=1knqzan to localhost:9412 ✔ Url composition (order of modules for version) – T188076 13 04 2018 17:51:38.697:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testMissing%2CtestUsesMissing%2CtestUsesNestedMissing&skin=vector&version=0wp15rk / 13 04 2018 17:51:38.697:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php 13 04 2018 17:51:38.698:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testMissing%2CtestUsesMissing%2CtestUsesNestedMissing&skin=vector&version=0wp15rk to localhost:9412 ✔ Broken indirect dependency ✔ Out-of-order implementation ✔ Missing dependency ✔ Dependency handling 13 04 2018 17:51:38.729:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testNotSkipped%2CtestUsesSkippable&skin=vector&version=0909pwb / 13 04 2018 17:51:38.730:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php 13 04 2018 17:51:38.730:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/load.mock.php?152364188495684215?debug=false&lang=en&modules=testNotSkipped%2CtestUsesSkippable&skin=vector&version=0909pwb to localhost:9412 ✔ Skip-function handling ✔ .load( "//protocol-relative" ) - T32825 13 04 2018 17:51:38.781:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?152364189877780904 / 13 04 2018 17:51:38.781:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js 13 04 2018 17:51:38.781:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/mwLoaderTestCallback.js?152364189877780904 to localhost:9412 ✔ .load( "/absolute-path" ) ✔ Empty string module name - T28804 ✔ Executing race - T112232 ✔ Stale response caching - T117587 ✔ Stale response caching - backcompat ✔ require() 13 04 2018 17:51:38.961:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/defineCallMwLoaderTestCallback.js?152364189895069205 / 13 04 2018 17:51:38.961:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/defineCallMwLoaderTestCallback.js 13 04 2018 17:51:38.961:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/defineCallMwLoaderTestCallback.js?152364189895069205 to localhost:9412 13 04 2018 17:51:38.974:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/requireCallMwLoaderTestCallback.js?15236418989503074 / 13 04 2018 17:51:38.974:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/requireCallMwLoaderTestCallback.js 13 04 2018 17:51:38.974:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/tests/qunit/data/requireCallMwLoaderTestCallback.js?15236418989503074 to localhost:9412 ✔ require() in debug mode 13 04 2018 17:51:39.007:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=user.styles&skin=vector&version=004k3pw / 13 04 2018 17:51:39.007:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:39.008:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=user.styles&skin=vector&version=004k3pw to localhost:9412 13 04 2018 17:51:39.099:DEBUG [middleware:source-files]: Requesting /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=site.styles&skin=vector&version=1m2ijd6 / 13 04 2018 17:51:39.100:DEBUG [middleware:source-files]: Fetching /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php 13 04 2018 17:51:39.100:DEBUG [proxy]: proxying request - /jenkins-mediawiki-core-qunit-selenium-jessie-19157/load.php?debug=false&lang=en&modules=site.styles&skin=vector&version=1m2ijd6 to localhost:9412 ✔ Implicit dependencies mediawiki.html ✔ escape ✔ element() ✔ element( tagName ) ✔ element( tagName, attrs ) ✔ element( tagName, attrs, content ) mediawiki.inspect ✔ .getModuleSize() - scripts ✔ .getModuleSize() - scripts, styles ✔ .getModuleSize() - scripts, messages ✔ .getModuleSize() - scripts, styles, messages, templates mediawiki.Title ✔ constructor ✔ newFromText ✔ makeTitle ✔ Basic parsing ✔ Transformation ✔ Namespace detection and conversion ✔ Throw error on invalid title ✔ Case-sensivity ✔ toString / toText ✔ getExtension ✔ exists ✔ getUrl ✔ newFromImg ✔ getRelativeText ✔ normalizeExtension ✔ newFromUserInput ✔ newFromFileName mediawiki.toc ✔ toggleToc mediawiki.track ✔ track ✔ trackSubscribe ✔ trackUnsubscribe mediawiki.Uri ✔ Basic construction and properties (strict mode) ✔ Basic construction and properties (non-strict mode) ✔ Constructor( String[, Object ] ) ✔ Constructor( Object ) ✔ Constructor( empty[, Object ] ) ✔ Properties ✔ .getQueryString() ✔ .clone() ✔ .toString() after query manipulation ✔ Variable defaultUri ✔ Advanced URL ✔ Parse a uri with an @ symbol in the path and query ✔ Handle protocol-relative URLs ✔ T37658 mediawiki.user ✔ options ✔ getters (anonymous) ✔ getters (logged-in) ✔ getUserInfo ✔ generateRandomSessionId ✔ generateRandomSessionId (fallback) ✔ stickyRandomId ✔ sessionId mediawiki.util ✔ rawurlencode ✔ escapeId ✔ escapeIdForAttribute ✔ escapeIdForLink ✔ wikiUrlencode ✔ getUrl ✔ wikiScript ✔ addCSS ✔ getParamValue ✔ $content ✔ addPortletLink ✔ validateEmail ✔ isIPv6Address ✔ isIPv4Address ✔ isIPAddress mediawiki.viewport ✔ isElementInViewport ✔ isElementInViewport with scrolled page ✔ isElementCloseToViewport mediawiki.api ✔ get() ✔ post() ✔ API error errorformat=bc ✔ API error errorformat!=bc ✔ FormData support ✔ Converting arrays to pipe-separated (string) ✔ Converting arrays to pipe-separated (mw.Title) ✔ Converting arrays to pipe-separated (misc primitives) ✔ Omitting false booleans ✔ getToken() - cached ✔ getToken() - uncached ✔ getToken() - error ✔ getToken() - deprecated ✔ badToken() ✔ badToken( legacy ) ✔ postWithToken( tokenType, params ) ✔ postWithToken( tokenType, params with assert ) ✔ postWithToken( tokenType, params, ajaxOptions ) ✔ postWithToken() - badtoken ✔ postWithToken() - badtoken-cached mediawiki.api (2) ✔ #abort mediawiki.api.category ✔ .getCategoriesByPrefix() ✔ .isCategory("") ✔ .isCategory("#") ✔ .isCategory("mw:") ✔ .isCategory("|") ✔ .getCategories("") ✔ .getCategories("#") ✔ .getCategories("mw:") ✔ .getCategories("|") mediawiki.api.edit ✔ edit( title, transform String ) ✔ edit( mw.Title, transform String ) ✔ edit( title, transform Promise ) ✔ edit( title, transform Object ) ✔ edit( invalid-title, transform String ) ✔ create( title, content ) mediawiki.api.messages ✔ .getMessages() mediawiki.api.options ✔ saveOption ✔ saveOptions without Unit Separator ✔ saveOptions with Unit Separator mediawiki.api.parse ✔ .parse( string ) ✔ .parse( Object.toString ) ✔ .parse( mw.Title ) mediawiki.api.upload ✔ Basic functionality ✔ Set up iframe upload mediawiki.api.watch ✔ .watch( string ) ✔ .watch( Array ) - single ✔ .watch( Array ) - multi mediawiki.ForeignApi ✔ origin is included in GET requests ✔ origin is included in POST requests mediawiki.special.recentchanges ✔ "all" namespace disable checkboxes mediawiki.rcfilters - FiltersViewModel ✔ Setting up filters ✔ Default filters ✔ Parameter minimal state ✔ Parameter states ✔ Cleaning up parameter states ✔ Finding matching filters ✔ getParametersFromFilters ✔ getParametersFromFilters (custom object) ✔ getFiltersFromParameters ✔ sanitizeStringOptionGroup ✔ Filter interaction: subsets ✔ Filter interaction: full coverage ✔ Filter interaction: conflicts ✔ Filter highlights ✔ emptyAllFilters ✔ areVisibleFiltersEmpty mediawiki.rcfilters - FilterItem ✔ Initializing filter item ✔ Emitting events ✔ get/set boolean value ✔ get/set any value mediawiki.rcfilters - SavedQueryItemModel ✔ Initializing and getters ✔ Default mediawiki.rcfilters - SavedQueriesModel ✔ Initializing queries ✔ Adding new queries ✔ Manipulating queries ✔ Testing invert property mediawiki.rcfilters - UriProcessor ✔ getVersion ✔ getUpdatedUri ✔ updateModelBasedOnQuery ✔ isNewState ✔ doesQueryContainRecognizedParams ✔ _getNormalizedQueryParams ✔ _normalizeTargetInUri mediawiki.language ✔ mw.language getData and setData ✔ mw.language.commafy test ✔ mw.language.convertNumber ✔ mw.language.convertNumber - digitTransformTable ✔ List to text test ✔ mw.language.bcp47 mediawiki.cldr ✔ Plural Test for en mediawiki.cookie ✔ set( key, value ) ✔ set( key, value, expires ) ✔ set( key, value, options ) ✔ get( key ) - no values ✔ get( key ) - with value ✔ get( key, prefix ) mediawiki.experiments ✔ getBucket( experiment, token ) mediawiki.visibleTimeout ✔ basic usage ✔ can cancel timeout ✔ start hidden and become visible ✔ timeout is cumulative testrunner-hooks-after ✔ `after` hook for module `testrunner-hooks` was executed Finished in 17.53 secs / 17.091 secs @ 17:51:42 GMT+0000 (UTC) SUMMARY: ✔ 415 tests completed 13 04 2018 17:51:42.692:DEBUG [karma]: Run complete, exiting. 13 04 2018 17:51:42.693:DEBUG [launcher]: Disconnecting all browsers 13 04 2018 17:51:42.884:DEBUG [launcher]: Process Chrome exited with code 0 13 04 2018 17:51:42.885:DEBUG [temp-dir]: Cleaning temp dir /home/jenkins/tmpfs/jenkins-0/karma-71643137 13 04 2018 17:51:42.953:DEBUG [launcher]: Finished all browsers Done. [mediawiki-core-qunit-selenium-jessie] $ /bin/bash -xe /tmp/jenkins8908322054511149963.sh + '[' -f ./src/extensions//tests/selenium/LocalSettings.php ']' [mediawiki-core-qunit-selenium-jessie] $ /bin/bash -xe /tmp/jenkins2419508173763111707.sh + . /srv/deployment/integration/slave-scripts/bin/mw-set-env-localhost.sh ++ . /srv/deployment/integration/slave-scripts/bin/mw-set-env.sh +++ . /srv/deployment/integration/slave-scripts/bin/global-set-env.sh ++++ export TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR_FS=/home/jenkins/tmpfs/jenkins-0 ++++ export TMPDIR_REGULAR=/tmp/jenkins-0 ++++ TMPDIR_REGULAR=/tmp/jenkins-0 ++++ '[' -d /home/jenkins/tmpfs ']' ++++ '[' -z '' ']' ++++ export TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ TMPDIR=/home/jenkins/tmpfs/jenkins-0 ++++ export DISPLAY=:94 ++++ DISPLAY=:94 +++++ which chromium-browser +++++ which chromium ++++ export CHROME_BIN=/usr/bin/chromium ++++ CHROME_BIN=/usr/bin/chromium ++++ export COMPOSER_DISABLE_XDEBUG_WARN=1 ++++ COMPOSER_DISABLE_XDEBUG_WARN=1 +++ MW_INSTALL_PATH=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie +++ for mw_path in src/mediawiki/core src +++ [[ -d /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/mediawiki/core ]] +++ for mw_path in src/mediawiki/core src +++ [[ -d /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src ]] +++ MW_INSTALL_PATH=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src +++ break +++ ulimit -c 2097152 +++ export MW_INSTALL_PATH +++ export MW_TMPDIR=/home/jenkins/tmpfs/jenkins-0 +++ MW_TMPDIR=/home/jenkins/tmpfs/jenkins-0 +++ export MW_DB=jenkins_u0_mw +++ MW_DB=jenkins_u0_mw +++ export MW_DB_HOST=127.0.0.1 +++ MW_DB_HOST=127.0.0.1 +++ export MW_DB_PORT=3306 +++ MW_DB_PORT=3306 +++ export MW_DB_USER=jenkins_u0 +++ MW_DB_USER=jenkins_u0 +++ export MW_DB_PASS=pw_jenkins_u0 +++ MW_DB_PASS=pw_jenkins_u0 +++ export LOG_DIR=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/log +++ LOG_DIR=/home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/log ++ export MW_SERVER=http://localhost:9412 ++ MW_SERVER=http://localhost:9412 ++ export MW_SCRIPT_PATH=/jenkins-mediawiki-core-qunit-selenium-jessie-19157 ++ MW_SCRIPT_PATH=/jenkins-mediawiki-core-qunit-selenium-jessie-19157 + cd /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src + '[' -f ./tests/selenium/wdio.conf.js ']' + trap kill_chromedriver EXIT + ./node_modules/.bin/grunt webdriver:test + chromedriver --url-base=/wd/hub --port=4444 Starting ChromeDriver 2.27 (undefined) on port 4444 Only local connections are allowed. Running "webdriver:test" (webdriver) task pattern /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/extensions/*/tests/selenium/specs/**/*.js did not match any file pattern /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/extensions/VisualEditor/modules/ve-mw/tests/selenium/specs/**/*.js did not match any file pattern /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/skins/*/tests/selenium/specs/**/*.js did not match any file pattern ./extensions/CirrusSearch/tests/selenium/specs/**/*.js did not match any file [17:51:58] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:51:59] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:52:06] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:52:11] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:52:20] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:52:36] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:52:38] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 ------------------------------------------------------------------ [chrome #0-0] Session ID: e305ddb9bcc8f5a9c7deb8a544baeac7 [chrome #0-0] Spec: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/tests/selenium/specs/page.js [chrome #0-0] Running: chrome [chrome #0-0] [chrome #0-0] Page [chrome #0-0] [chrome #0-0] Page [chrome #0-0] ✓ should be creatable [chrome #0-0] ✓ should be re-creatable [chrome #0-0] ✓ should be editable [chrome #0-0] ✓ should have history [chrome #0-0] ✓ should be deletable [chrome #0-0] ✓ should be restorable [chrome #0-0] [chrome #0-0] [chrome #0-0] 6 passing (58s) [chrome #0-0] [17:52:57] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 [17:53:04] [S] [MWBOT] Login successful: WikiAdmin@http://localhost:9412/jenkins-mediawiki-core-qunit-selenium-jessie-19157 ------------------------------------------------------------------ [chrome #0-1] Session ID: 9bf21e378f92d82db44f5270e4788278 [chrome #0-1] Spec: /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/src/tests/selenium/specs/user.js [chrome #0-1] Running: chrome [chrome #0-1] [chrome #0-1] User [chrome #0-1] [chrome #0-1] User [chrome #0-1] ✓ should be able to create account [chrome #0-1] ✓ should be able to log in [chrome #0-1] ✓ should be able to change preferences [chrome #0-1] [chrome #0-1] [chrome #0-1] 3 passing (35s) [chrome #0-1] Wrote xunit report to [../log/]. Wrote xunit report to [../log/]. 9 passing (96.00s) Done. + kill_chromedriver + killall chromedriver [mediawiki-core-qunit-selenium-jessie] $ /bin/bash -xe /tmp/jenkins588476767800370342.sh + set -eu + ERROR_FILES=(mw-dberror.log mw-exception.log mw-error.log) + echo 'Asserting empty files: mw-dberror.log mw-exception.log mw-error.log' Asserting empty files: mw-dberror.log mw-exception.log mw-error.log + REL_MAJOR=1 + REL_MINOR=30 + WMF_MAJOR=30 + WMF_MINOR=12 + valid_version master + local version wmf_version rel_version + version=master + [[ master == \m\a\s\t\e\r ]] + return 0 ++ cd /home/jenkins/workspace/mediawiki-core-qunit-selenium-jessie/log ++ ls mw-dberror.log mw-exception.log mw-error.log ++ : + log_files= + '[' '!' '' ']' + echo 'No error files. GOOD' No error files. GOOD + exit 0 [PostBuildScript] - Execution post build scripts. Waiting for the completion of castor-save castor-save #735057 completed. Result was SUCCESS Archiving artifacts Recording test results Finished: SUCCESS