rubex icon indicating copy to clipboard operation
rubex copied to clipboard

Setup Travis, Gitter and other services.

Open v0dro opened this issue 7 years ago • 10 comments

General checklist of things to setup:

  • [x] Travis CI for linux and macOS

  • [ ] Gitter

  • [x] Rubygems version

  • [ ] Code Climate

  • [ ] Add mention of #sciruby IRC channel on freenode.

  • [x] SimpleCov

v0dro avatar Jan 11 '18 12:01 v0dro

We can add Code Climate too. It's free for open-source.

shaunakpp avatar Jan 12 '18 04:01 shaunakpp

@v0dro Can I setup travis CI for linux and macOS?

Paarmita avatar Jan 17 '18 07:01 Paarmita

@Paarmita sure. Commit to master branch.

v0dro avatar Jan 18 '18 04:01 v0dro

@v0dro since we are refactoring a lot, should we consider adding SimpleCov for checking test suite coverage?

shaunakpp avatar Jan 24 '18 10:01 shaunakpp

The tests don't test any API. They are there for mostly black box testing where the rubex program is compiled and run with some sample input to generate a given output. Unit testing will involve making ASTs manually which is a tedious and time consuming task.

v0dro avatar Jan 25 '18 00:01 v0dro

Makes sense, but with Simplecov we could at least judge what parts of the code are getting covered in those Black box tests.

Unit testing will involve making ASTs manually which is a tedious and time consuming task.

For this, we could start with pending tests and at least document a way to write unit test cases. What do you think?

shaunakpp avatar Jan 25 '18 06:01 shaunakpp

Unit tests for ASTs would be a massive waste of effort. The AST will mostly change with every update since something as simple as a refactor can change the nature of the AST. For example, have a look at the Cython tests: https://github.com/cython/cython/tree/master/tests

They only have hundreds of test files for testing every function of Cython minutely. They never test the Cython API itself (or the AST).

How does simplecov work? Will it actually run the code and see what gets run and what doesn't?

v0dro avatar Jan 25 '18 12:01 v0dro

No no, SimpleCov will just trace which parts of the code were touched by the tests.

I've setup SimpleCov on a separate branch, here's the result:

screen shot 2018-01-25 at 3 19 26 pm

An Example File covered by Simplecov:

screen shot 2018-01-25 at 6 48 18 pm

shaunakpp avatar Jan 25 '18 13:01 shaunakpp

Oh. Ok then I'm up for it.

I've updated the checklist.

v0dro avatar Jan 25 '18 23:01 v0dro

@v0dro I've enabled Travis on the Travis-CI website.

translunar avatar Feb 01 '18 15:02 translunar