Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As part of CI, run the test suite of major downstream projects #1023

Closed
mikesherov opened this issue Feb 12, 2015 · 17 comments
Closed

As part of CI, run the test suite of major downstream projects #1023

mikesherov opened this issue Feb 12, 2015 · 17 comments

Comments

@mikesherov
Copy link
Member

Known consumers:

@ariya
Copy link
Contributor

ariya commented Feb 12, 2015

As long eslint is using espree, it won't be easy (requires some tweaking).

@nzakas
Copy link
Contributor

nzakas commented Feb 13, 2015

The parser is configurable: http://eslint.org/docs/configuring/#specifying-parser

If that's not enough, let me know what you need.

@ariya
Copy link
Contributor

ariya commented Feb 13, 2015

@nzakas If that is enough to run ESLint unit tests, I think it should be sufficient.

@nzakas
Copy link
Contributor

nzakas commented Feb 13, 2015

It probably depends on how you run the tests, but I think it should work. We set the parser in this file: https://github.com/eslint/eslint/blob/master/conf/eslint.json

@mikesherov
Copy link
Member Author

@nzakas only problem is that the suite currently relies on behavior only espree provides.

If we're dedicated to doing this, it would make sense for us to begin work on converging the two projects, at least for the parts that aren't add ons like jsx.

@nzakas
Copy link
Contributor

nzakas commented Feb 13, 2015

Outside of JSX and globalReturn, the rest are ES6 features that Esprima harmony already supports.

@mikesherov
Copy link
Member Author

Right, my point being we'd need a way to ignore those tests. Thoughts?

@ariya
Copy link
Contributor

ariya commented Feb 13, 2015

@mikesherov It might need a simple pre-processing step, e.g. removing files for unsupported tests.

@jeffmo
Copy link
Member

jeffmo commented Feb 13, 2015

Can we add jstransform and 6to5 in that list too?
(I suppose we need to just get to writing code and pull requesting here...)

@mikesherov
Copy link
Member Author

Exactly. @jeffmo add at to the description at will, and let's turn it into a checklist :-)

@fkling
Copy link

fkling commented Feb 13, 2015

recast, although it is using esprima-fb by default (don't know if that's an issue?)

@mikesherov
Copy link
Member Author

@fkling how can we configure it to use regular esprima?

@fkling
Copy link

fkling commented Feb 13, 2015

@mikesherov: its parse method accepts an esprima option. However, the tests don't seem to be configurable, but I guess one could simply alias esprima-fb to esprima in the test environment. cc @benjamn who wrote recast.

@benjamn
Copy link
Contributor

benjamn commented Feb 13, 2015

Happy to make the tests configurable, but not immediately sure what the best way to do that is…

@ariya
Copy link
Contributor

ariya commented Feb 13, 2015

Also, if jstransformand recast have some tests requiring features not yet supported, then we need a mechanism to exclude those tests.

@jeffmo
Copy link
Member

jeffmo commented Feb 13, 2015

Oh right, I forgot that these CI tests will need to run with master -- maybe we should hold off on adding them to CI until master is close enough to harmony that we can switch esprima-fb over to tracking master (and then perhaps it would make more sense to just make esprima-fb include recast and jstransform in it's forked form of the CI tests)

@fkling
Copy link

fkling commented Feb 13, 2015

perhaps it would make more sense to just make esprima-fb include recast and jstransform in it's forked form of the CI tests

That's what I was thinking as well.

ariya added a commit to ariya/esprima that referenced this issue Jun 26, 2015
This is done by checking out each project, run npm install, drop-in a
replacement for esprima.js, and run npm test. As of now, this is carried
out only as part of Travis CI build. It can be tested manually by:

  rm -rf downstream
  npm run downstream

Due to some unknown reason, .eslintrc can't exist otherwise it is going
to confuse the linting of the downstream project. The workaround is to
use custom config file.

Refs jquery#1023
ariya added a commit to ariya/esprima that referenced this issue Jun 26, 2015
This is done by checking out each project, run npm install, drop-in a
replacement for esprima.js, and run npm test. As of now, this is carried
out only as part of Travis CI build. It can be tested manually by:

  rm -rf downstream
  npm run downstream

Due to some unknown reason, .eslintrc can't exist otherwise it is going
to confuse the linting of the downstream project. The workaround is to
use custom config file.

Refs jquery#1023
ariya added a commit to ariya/esprima that referenced this issue Jun 27, 2015
This is done by checking out each project, run npm install, drop-in a
replacement for esprima.js, and run npm test. As of now, this is carried
out only as part of Travis CI build. It can be tested manually by:

  rm -rf downstream
  npm run downstream

Due to some unknown reason, .eslintrc can't exist otherwise it is going
to confuse the linting of the downstream project. The workaround is to
use custom config file.

Refs jquery#1023
@ariya ariya closed this as completed in 819cada Jun 30, 2015
ariya added a commit to ariya/esprima that referenced this issue Jun 30, 2015
ariya added a commit that referenced this issue Jul 2, 2015
ariya added a commit that referenced this issue Jul 22, 2015
ariya added a commit to ariya/esprima that referenced this issue Aug 18, 2015
ariya added a commit to ariya/esprima that referenced this issue Aug 18, 2015
ariya added a commit to ariya/esprima that referenced this issue Aug 18, 2015
ariya added a commit to ariya/esprima that referenced this issue Aug 18, 2015
ariya added a commit that referenced this issue Aug 18, 2015
ariya added a commit that referenced this issue Aug 18, 2015
ariya added a commit to ariya/esprima that referenced this issue Aug 26, 2015
This was needed for jsfmt, but it's not necessary anymore:
rdio/jsfmt#163

Refs jquery#1023
ariya added a commit that referenced this issue Aug 26, 2015
This was needed for jsfmt, but it's not necessary anymore:
rdio/jsfmt#163

Refs #1023
Closes gh-1307
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

6 participants