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

Add "make check" runs in repo/pr automation #22

Open
GrumpyOldTroll opened this issue Mar 1, 2022 · 1 comment
Open

Add "make check" runs in repo/pr automation #22

GrumpyOldTroll opened this issue Mar 1, 2022 · 1 comment

Comments

@GrumpyOldTroll
Copy link
Owner

I've been running "make check" before commits, but it requires some local config before running. On linux, assuming libmcrx is in ~/src, that looks like:

docker container run -d --rm --name amtgw-5 --privileged grumpyoldtroll/amtgw $(python3 ~/src/libmcrx/driad.py 23.212.185.5)
sudo ip route add 23.212.185.5/32 dev docker0

Then, as long as my sender of traffic from 23.212.185.5->232.1.1.1:5001 is alive and properly registered in the DNS and reachable, the tests pass. (Else they hang forever, which maybe also should be fixed to fail after some time.)

Ideally, this would also be coupled with adding valgrind to the tests and failing on violations. Some links on how to do so are here:

Other nice-to-haves would be gcov or similar, with some kind of coverage report shown on pages (also mentioned in some of the above but probably more research needed.)

@GrumpyOldTroll
Copy link
Owner Author

Maybe better than having the test environment run docker and pull external traffic would be to run https://github.com/GrumpyOldTroll/libmcrx/blob/master/test/send.py locally and switch the tests to use that. (PS: I think it has to be inside netns spaces to make ipv6 work if running sender and receiver on the same host, there is some important routing difference for multicast between v4 and v6 that I haven't tracked down.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant