Beanstalkd: Introduce build and coverage status

Created on 20 Aug 2018  路  11Comments  路  Source: beanstalkd/beanstalkd

Hello,

Just a proposal to introduce build badge (in the readme.md file) and code coverage metric. Also could you please setup Travis Cron Jobs so that beanstalkd will be tested with various compilers and multi OS matrix for example every day.

P.S. I propose introduce benchmark as a build matrix as well.

Help Wanted

All 11 comments

This issues is rather an umbrella for multiple features. We can discuss and track progress here.

I would be happy to provide initial Travis CI configuration. Feel free to ping me any time.

I would love to review your PR. Please, do not hesitate.

@sergeyklay can you please look at this pull and figure out what is wrong? https://github.com/beanstalkd/beanstalkd/pull/420

I am not friends with coverage in C, I made this work locally through passing flags as parameters to make, but it does not work in travis.

https://travis-ci.org/beanstalkd/beanstalkd/jobs/551425509

At first glance this looks like it might be a problem with whitespace and quoting in the shell.

make: test-coverage': No such file or directory

It looks like the actual value of $COVERAGE is

LDFLAGS='-fprofile-arcs -ftest-coverage' CFLAGS='-fprofile-arcs -ftest-coverage'

And when $COVERAGE appears in the make command line it expands to 4 separate args: LDFLAGS='-fprofile-arcs, -ftest-coverage', CFLAGS='-fprofile-arcs, and -ftest-coverage'.

Putting double quotes around $COVERAGE in the make command might help.

make $MAKEJOBS "$COVERAGE" || ...

This would turn the value of that variable, including any whitespace, into a single arg.

On second glance, a single arg won't work either, since $COVERAGE is trying to set two parameters.

Maybe consider changing CFLAGS=... in Makefile to CFLAGS?=... (and same for LDFLAGS) and then the travis config can control those via environment variables instead of arguments to make.

Thanks @kr. It was not correct approach to the make tool. @sergeyklay proposed better approach with CFLAGS+=... in PR #421.

Closing, this is implemented. If there are bugs or I have made an oversight, please do get back in touch. Thanks

Hmm, this should have been closed automatically. Checking why it has not happened.
I see that the message was this:

enable code coverage on Travis CI

* Enable code coverage on Travis CI
* Collect coverage reports only on Linux with GCC
* Cleaned up Travis CI config

Closes: #420, #396

If it was this:

Closes #420 
Closes #396

then it would have worked. It should be a new line for every mentioned ticket.

I think message should be:

- Closes: #420, #396
+ Closes: #420
+ Closes: #396 

See: https://stackoverflow.com/questions/3547445/closing-multiple-issues-in-github-with-a-commit-message

Yes, exactly. Also there is no need to put colon after the verb:
Closes #XXX
But I like this form even better: Fixes #XXX.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ysmolsky picture ysmolsky  路  4Comments

ysmolsky picture ysmolsky  路  8Comments

ysmolsky picture ysmolsky  路  15Comments

PatriciaSVMonteiro picture PatriciaSVMonteiro  路  14Comments

vitlav picture vitlav  路  10Comments