Google Summer of Code 2019 Work Product Submission



coala

Chaitanya Tyagi

I’m a third year student (expected graduation date: May 2021) of Computer Science at Birla Institute of Technology, Mesra. I participated in GSoC and worked with coala on building a Result Reporter Tool, which loads data from coala-json output and converts it to test result report formats like JUnit, TAP and Checkstyle. coala-json is a python package now, and thus it can be extended to any other project. To generate test reports using a particular json output you simply have to create a custom loader file.


Patches Tarball


SHA-256:

df723efc31d178ecc3ea7e35ed854829e599fbd6c6fd7fc67559a53d2b14e69c

Bonding

Phase 1

Phase 2

Phase 3

Mentors


Links to commits and repositories I've worked on:

Repository Link to Commit/s Description
c  coala-json View

Add .travis.yml

c  coala-json View

Sync Templates

c  coala-json View

Add Junit output

c  coala-json View

Remove .idea/vcs.xml

c  coala-json View

test_diagnostic.py: Fix Pycodestyle W504 problem

c  coala-json View

Add config for circleci

c  coala-json View

Add config for appveyor

c  coala-json View

Sync Templates

c  coala-json View

Add documentation for JUnit

c  coala-json View

Add netlify.toml file

c  coala-json View

Sync Templates

c  coala-json View

Add config for circleci

c  coala-json View

Add config for appveyor

c  coala-json View

Add CLI for JUnit

c  coala-json View

Sync Templates

c  coala-json View

Remove reports folder

c  coala-json View

Add pytest to CircleCI

c  coala-json View

Sync Templates

c  coala-json View

Upload JUnit to gitlab-ci

c  coala-json View

Add Loader and coalaJsonLoader class

c  coala-json View

Add checkstyle output

c  coala-json View

Add TAP output

c  coala-json View

fix extract_error_code message

c  coala-json View

Fix redundancy in TAP error messages

c  coala-json View

add severity to checkstyle reporter

c  coala-json View

coalaJsonLoader.py: Edit sanitize method

c  coala-json View

Sync Templates

c  coala-json View

Documentation of test result reports

c  coala-json View

Sync Templates

c  coala-json View

Set documentation version

c  coala-json View

Publish coala-json version 0.1.0

c  coala-json View

Remove redundant main_call function

c  coala-json View

export PYTHONPATH to coala-json

c  coala-json View

Add html-table output format

c  coala-json View

Add stdout output

c  coala-json View

JunitReporter.py: Change error tag to failure tag

c  coala-json View

coala-json version update 0.1.1

c  coala-json View

Add coala-json to docs/requirements.txt

c  coala-json View

Temporary fix for ruamel error

c  coala-json View

Add badges

c  coala-json View

README.rst: Update description

m  mobans View

coala-setup.py.jj2: Add missing commas

m  mobans View

Sync Templates

p  pyflakes View

Add coala-json support to pyflakes (unmerged)


Result Reporter Tool

Work Done

coala-json has many test report formats as outputs.

Documentation at ReadTheDocs

Website hosted at netlify.

coala-json can be used to load data from coala-json output and produce various test result report formats that can be used to visualise test report artifacts at a glance across various CI/CD tools. coala-json is now a python package and can be extended to any project with a json output simply by changing the loader file. I also contribute to coala/mobans so that the whole coala community can take advantage of the work done in coala-json. I do some other contributions to the community, including doing reviews, and fixing several issues around coala & coala-bears repo.

Challenges

Most things went smoothly. I used to get uncomfortable while deciding on the structure of coala-json as I was building the whole project almost from scratch. Some of my OOPs concepts were not upto the task but with the help of my mentor I learned many new concepts along the way. My mentor used to review my code almost on the same day whenever I requested him and that really helped me. coala community always expects a high quality of code and I am happy that I was able to succeed.

Work to be done

As a project coala-json has a lot of scope to be extended and improved. Currently the whole coala community is not using coala-json. All CIs should include coala-json section in their templates. More test reports can be generated in the future. The mapping of coala-json can be improved to provide more information to the test reports. Moreover currently the loader file needs to be changed to if some other project needs to use coala-json for their json output, this process can be made more simpler or should vanish in the future.