cyrusimap / cyrus-sasl

Other
128 stars 146 forks source link

Test infrastucture and github CI workflow? #595

Closed simo5 closed 4 years ago

simo5 commented 4 years ago

I would like to start a conversation with upstream about adding some basic test infrastructure to test that SASL keeps working in common scenarios when PRs are proposed and using github CI workflows (for example running tests in Travis).

I am willing to provide some work towards PRs to implement this with some basic scenarios I may care about. Would there be interest in this?

simo5 commented 4 years ago

@quanah you seem to be the only maintainer active lately so pinging you directly

quanah commented 4 years ago

@simo5 I love the idea. I was hoping that was already ongoing with the .travis.yml already in the git repo. :/

simo5 commented 4 years ago

It does run make and make check, but as far as I can tell make check does nothing.

What I would like to add is functional tests for various modules, starting small and eventually expanding to ask committers to provide tests coverage when they touch something.

quanah commented 4 years ago

oh, I got you... you're talking about the complete and utter lack of even a basic test suite. Yes, that is badly needed. :)

simo5 commented 4 years ago

Indeed, I have done basic stuff in python, I hope that is an acceptable language for basic tests, some tests may need C stubs and if that is the case they will probably be built by make check.

aiobofh commented 4 years ago

PostgreSQL has a suite for Kerberos in Travis, I think... Borrow?

simo5 commented 4 years ago

I have half a dozen, setting up a KDC for tests is quite easy, no worries :-D

aiobofh commented 4 years ago

@simo5 maybe OT but.... Do you have anything setting up a kdc on some port, easy to populatate with users/services/hosts generic enough up on the webz?

simo5 commented 4 years ago

This is the code I and others wrote to test mod_auth_gssapi: https://github.com/modauthgssapi/mod_auth_gssapi/tree/master/tests Check the setup_kdc function in magtests.py for example. I was planning on largely drawing form these examples for the SASL/GSSAPI test I'd like to see.