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

Working on integration/conformance tests, if anyone is interested to join! #173

Open
oliverpool opened this issue Oct 11, 2024 · 2 comments

Comments

@oliverpool
Copy link

oliverpool commented Oct 11, 2024

Hi all,

I am experimenting with running the testsuite of https://github.com/apple/ccs-caldavtester https://github.com/CalConnect/caldavtester

The setup is challenging because it expects Python2, however I got it to work with nix. My (very-WIP) state is visible under https://github.com/oliverpool/go-webdav/tree/nix/testintegration :

  • an http server is started in a goroutine (empty for now, but should soon become a carddav server)
  • the CardDAV testsuite is run (using python2, via a nix flake)
  • the output is logged (and commited, to see evolution)

If only a specific test is run (go test ./testintegration -test.run=TestCardDAV), then the testsuite stops as the first error (for faster feedback) with detailed logging (for easier debugging).

Future steps:

  • properly configure a CardDAV server (with the right username etc) and get a first state of the integration tests
  • look at the fail tests and try to fix them, one after the other (checking with the standard, how the right behavior should be)

I make no promise of commitment for this (huge?) undertaking, but if anyone is interested in giving it a try, feel free to ping me!

PS: I also don't plan to make a merge request with this ugly hack (except if the maintainers really want this), but I plan to port the fixes (if I get to this point ^^)

@emersion
Copy link
Owner

That sounds great, thanks for the heads up! Yeah, unfortunately I'm not super thrilled about adding Python 2 stuff in CI. Would be very much interested in any conformance fixes though!

@oliverpool
Copy link
Author

oliverpool commented Oct 23, 2024

My current state:

  1. Don't use css-caldavtest, use https://github.com/CalConnect/caldavtester instead (better organized, not so many quirks, better logging)
  2. Nix is able to install unsupported software (like Python 2) and various packages (pycalendar in my case). This wasn't straightforward, but it works (and I am a beginner regarding nix).
  3. It is a very deep rabbit hole... FieldValue type go-vcard#35 came on the way 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

2 participants