TheBrainFamily / chimpy

Develop acceptance tests & end-to-end tests with realtime feedback.
https://thebrainfamily.github.io/chimpy
MIT License
52 stars 28 forks source link

chimp 0.51 does not work with meteor 1.6.1 (Babel 7) #107

Open samhatoum opened 6 years ago

samhatoum commented 6 years ago

Issue by teknologist Tuesday Jan 30, 2018 at 21:43 GMT Originally opened as https://github.com/xolvio/chimp/issues/677


Expected behaviour

chimp runs and processes all tests

Actual behaviour

Immediate error:

Master Chimp and become a testing Ninja! Check out our course: http://bit.ly/2btQaFu

[chimp] Running...
selenium-standalone installation [=                   ] 4% 446.7s/usr/local/lib/node_modules/chimp/dist/lib/mocha/mocha-wrapper.js:75
    throw e;
    ^

TypeError: Cannot read property 'loose' of undefined
Exact steps to reproduce / repository that demonstrates the problem

Just run chimp as usual

Pretty sure this has to do with Meteor's upgrade to babel 7

Version & tools:

Meteor 1.6.1

chimp --mocha --chai --ddp=http://localhost:17303 --path=tests --browser=chrome

default config for chimp.

My meteor .babelrc:


`{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage",
        "targets": {
          "browsers": ["last 2 versions", "safari >= 7", "ie 10", "not ie <= 9"]
        }
      }
    ],
    "meteor",
    "@babel/preset-react",
    "flow"
  ],
  "plugins": [
    "@babel/plugin-proposal-decorators",
    "add-react-displayname",
    ["lodash", { "id": ["lodash", "semantic-ui-react"] }],
    "@babel/plugin-proposal-class-properties"
  ],
  "env": {
    "dev": {
      "plugins": ["flow-react-proptypes"]
    }
  }
}`

Please put long logs in a Gist and provide a link here.


Join our Slack xolv.io/community #chimp channel, where you can find help and help others.

samhatoum commented 6 years ago

Comment by philcruz Tuesday Jan 30, 2018 at 22:39 GMT


I am also having a problem running chimp 0.51 after upgrade to meteor 1.6.1

I run meteor in full test mode with meteor test --full-app --driver-package tmeasday:acceptance-test-driver --settings config/config.json

in another terminal I run chimp with chimp config/chimp.js --ddp=http://localhost:3000 --mocha --path=tests

Chimp version:  0.51.0
ChromeDriver version:  ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e)
Java version:  java version "1.8.0_92", Java(TM) SE Runtime Environment (build 1.8.0_92-b14), Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
Selenium version:  3.4.0
Selenium drivers version:  chrome: 2.29, ie: 3.0.0, firefox: 0.19.1
OS version:  Darwin 16.7.0
Node version:  v8.9.4
Browser version:  chrome 63.0.3239.132

Chrome launches but it just blank. The terminal output says: "Error: Timeout of 90000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves."

npm logs https://www.screencast.com/t/EmW4ZAIa2

samhatoum commented 6 years ago

Comment by teknologist Wednesday Jan 31, 2018 at 14:13 GMT


@philcruz Do you have a .babelrc in your project ?

samhatoum commented 6 years ago

Comment by teknologist Wednesday Jan 31, 2018 at 14:45 GMT


Ok, removing .babelrc from my meteor project fixes the issue.

So until this is fixed I will just temporarily remove .babelrc prior to running my chimp tests on CI...

Maybe there should be a way to run chimp, ignoring local .babelrc, with something like babels --no-babelrc

samhatoum commented 6 years ago

Comment by philcruz Wednesday Jan 31, 2018 at 17:09 GMT


@teknologist No, I don't have a .babelrc in my project.

samhatoum commented 6 years ago

Comment by d1sco Friday Feb 09, 2018 at 06:27 GMT


Having this problem myself with no .babelrc in my package.json

samhatoum commented 6 years ago

Comment by Ziinc Friday Mar 16, 2018 at 16:43 GMT


@philcruz try to run chimp with --debug and --mochaTimeout=120000. You should be able to see the underlying reason why you're getting that error.

samhatoum commented 6 years ago

Comment by philcruz Wednesday Mar 28, 2018 at 15:32 GMT


I switched to using a fork of practicalmeteor:mocha, cultofcoders:mocha as discussed https://github.com/practicalmeteor/meteor-mocha/issues/100 Now my tests are running again.

samhatoum commented 6 years ago

Comment by teknologist Thursday Mar 29, 2018 at 11:13 GMT


@philcruz this is not related to this issue

samhatoum commented 6 years ago

Comment by Ziinc Thursday Mar 29, 2018 at 12:04 GMT


@teknologist Could you run chimp in debug mode? with the --debug flag. Would be able to see the steps that chimp is taking before the error occurs.

samhatoum commented 6 years ago

Comment by teknologist Thursday Mar 29, 2018 at 13:59 GMT


@Ziinc thanks for your answer. Running with --debug This is the error I am getting now:

Chimp version:  0.51.1
ChromeDriver version:  Unknown. Chromedriver not used directly.
Java version:  java version "1.8.0_121", Java(TM) SE Runtime Environment (build 1.8.0_121-b13), Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixedmode)
Selenium version:  3.10.0
Selenium drivers version:  chrome: 2.36, ie: 3.8, firefox: 0.20.0
OS version:  Darwin 17.4.0
Node version:  v8.9.4
Browser version:  chrome 65.0.3325.181

[chimp] Running...
/usr/local/lib/node_modules/chimp/dist/lib/mocha/mocha-wrapper.js:75
    throw e;
    ^

Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.0". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or"babel-core" to see what is calling Babel.
    at throwVersionError (/Volumes/DEV/Dev/Doctrine/doctrine-frontoffice/node_modules/@babel/helper-plugin-utils/lib/index.js:62:11)
    at Object.assertVersion (/Volumes/DEV/Dev/Doctrine/doctrine-frontoffice/node_modules/@babel/helper-plugin-utils/lib/index.js:11:11)
    at /Volumes/DEV/Dev/Doctrine/doctrine-frontoffice/node_modules/@babel/plugin-proposal-decorators/lib/index.js:20:7
    at /Volumes/DEV/Dev/Doctrine/doctrine-frontoffice/node_modules/@babel/helper-plugin-utils/lib/index.js:16:12
    at Function.memoisePluginContainer (/usr/local/lib/node_modules/chimp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:113:13)
    at Function.normalisePlugin (/usr/local/lib/node_modules/chimp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:146:32)
    at /usr/local/lib/node_modules/chimp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:184:30
    at Array.map (<anonymous>)
    at Function.normalisePlugins (/usr/local/lib/node_modules/chimp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:158:20)
    at OptionManager.mergeOptions (/usr/local/lib/node_modules/chimp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:234:36)
    at OptionManager.init (/usr/local/lib/node_modules/chimp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
    at compile (/usr/local/lib/node_modules/chimp/node_modules/babel-register/lib/node.js:103:45)
    at loader (/usr/local/lib/node_modules/chimp/node_modules/babel-register/lib/node.js:144:14)
    at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/chimp/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
    at /usr/local/lib/node_modules/chimp/node_modules/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/usr/local/lib/node_modules/chimp/node_modules/mocha/lib/mocha.js:228:14)
    at Mocha.run (/usr/local/lib/node_modules/chimp/node_modules/mocha/lib/mocha.js:536:10)
    at new MochaWrapper (/usr/local/lib/node_modules/chimp/dist/lib/mocha/mocha-wrapper.js:71:11)
    at Object.<anonymous> (/usr/local/lib/node_modules/chimp/dist/lib/mocha/mocha-wrapper-instance.js:5:20)
Mocha failed
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! doctrine-frontoffice@0.1.40 test:chimp:chrome:local: `TESTHOST=localhost chimp .scripts/chimp-config.js --mocha --debug  --chai --ddp=http://localhost:18303 --path=tests --browser=chrome --screenshotsOnError=true`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the doctrine-frontoffice@0.1.40 test:chimp:chrome:local script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/eric/.npm/_logs/2018-03-29T13_54_21_123Z-debug.log
samhatoum commented 6 years ago

Comment by Ziinc Thursday Mar 29, 2018 at 14:36 GMT


@teknologist This shouldn't be a issue with meteor as v1.6.1 already has Babel 7. Could be an issue with your node_modules cache... the babel version that the mocha-wrapper depends on might not be updated. Try to eliminate the node_modules folder and reinstall the dependencies with meteor npm install.

bmanturner commented 6 years ago

This is also an issue for my team:

Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.
    at throwVersionError (/Users/brendanturner/dev/genesis/node_modules/@babel/helper-plugin-utils/lib/index.js:65:11)
    at Object.assertVersion (/Users/brendanturner/dev/genesis/node_modules/@babel/helper-plugin-utils/lib/index.js:13:11)
    at _default (/Users/brendanturner/dev/genesis/node_modules/@babel/plugin-proposal-decorators/lib/index.js:35:7)
    at /Users/brendanturner/dev/genesis/node_modules/@babel/helper-plugin-utils/lib/index.js:19:12
    at Function.memoisePluginContainer (/Users/brendanturner/dev/genesis/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/options/option-manager.js:113:13)
    at Function.normalisePlugin (/Users/brendanturner/dev/genesis/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/options/option-manager.js:146:32)
    at /Users/brendanturner/dev/genesis/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/options/option-manager.js:184:30
    at Array.map (<anonymous>)
    at Function.normalisePlugins (/Users/brendanturner/dev/genesis/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/options/option-manager.js:158:20)
    at OptionManager.mergeOptions (/Users/brendanturner/dev/genesis/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/options/option-manager.js:234:36)
abecks commented 6 years ago

I am also experiencing this issue with Meteor 1.8:

Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.

Is this not because chimpy still uses the old Babel 6 packages?

    "babel-core": "^6.4.5",
    "babel-plugin-transform-runtime": "6.x.x",
    "babel-polyfill": "^6.3.14",
    "babel-preset-es2015": "6.x.x",
    "babel-preset-stage-2": "6.x.x",
    "babel-register": "^6.4.3",
    "babel-runtime": "6.x.x",
chrisvoo commented 5 years ago

Hi there, I see that 4 months ago your Babel dependencies were upgraded but NPM still has the old version. Will it be published the current codebase? NPM reports that the last version is 0.54.0 while in this repo I can see just 0.52.0, which seems upgraded than the corresponding version on NPM.

lgandecki commented 5 years ago

Hey @chrisvoo yes, our bad. We've been crazily swamped with work recently here at TheBrain Software House. I asked @lucetius to spend some time on chimp over the next week, so all the most immediate and important issues will be taken care of.

chrisvoo commented 5 years ago

Hey @chrisvoo yes, our bad. We've been crazily swamped with work recently here at TheBrain Software House. I asked @lucetius to spend some time on chimp over the next week, so all the most immediate and important issues will be taken care of.

No worries, at the moment I'm directly using this repo as GIT submodule. Thanks for the reply

jboydensfdc commented 5 years ago

@lucetius @lgandecki any updates on getting a new version published to npm?