gopass icon indicating copy to clipboard operation
gopass copied to clipboard

Add `pass` compatibility tests

Open AnomalRoil opened this issue 3 years ago • 3 comments

Summary

It appeared in #1365 that the pass compatibility is a strong requirement of many of our users. We currently don't have any test on Travis that check the said compatibility, it would be good to add these tests in order to make sure we are completely aware of any breaking changes and don't have any unexpected breaking changes as we currently do.

I have no experience with TravisCI and would be grateful if someone could add the pass binary to it and create maybe one or two example tests that would allow us to easily create more tests.

The most important ones are:

  • [ ] encrypt with pass, decrypt with gopass
  • [ ] encrypt with gopass, decrypt with pass (using mime false obviously)
  • [ ] insert with gopass inside of an existing pass secret and decrypt with pass

Potentially we might want to extend it to the behaviour of pass' flags, to see if we have flag compatibility, but I'm not even sure this was a goal in the first place.

Maybe we should also add a pass-compat-test target to our makefile too, so that it doesn't interfere with the existing tests if you don't have pass installed.

AnomalRoil avatar Oct 15 '20 12:10 AnomalRoil

I submitted a PR to goreplace (https://github.com/piranha/goreplace). It uses a Python tool called cram for running CLI tests.

# cram is a python app, so 'easy_install/pip install cram' to run tests
test:
	cram tests/main.t

The tests look like this: https://github.com/piranha/goreplace/blob/master/tests/main.t

I think that's a nice way to test that expected CLI behaviour isn't broken.

a-h avatar Oct 22 '20 15:10 a-h

is this something that is still required? let me know, I could try and come up a plan to add these tests

niraj8 avatar Oct 07 '23 14:10 niraj8

@niraj8 This is still something that we'd like to have. At least being able to reliably answer the question "how close are we to vanilla pass" would be nice. I'm sure we won't be able to be 100% compatible, but most use cases should be fully interoperable.

dominikschulz avatar Oct 08 '23 10:10 dominikschulz