about summary refs log tree commit diff
path: root/tests/programs/gnupg
Commit message (Collapse)AuthorAgeFilesLines
* tests/gnupg: Work around possible buffering issueaszlig2022-05-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | Recently the test has started to stall, so I investigated and found the commit that introduced this in nixpkgs[1]. The commit in question changes the command to be passed to Machine.execute from a list in a subshell environment (like "(some commands)") to using a subshell directly via "sh -c". This is allegedly to avoid shell injection, but what matters in our case I guess is that it forks into another shell. Unfortunately, I did not find out *exactly* why this happens but it seems to affect buffering in such a way that the command never terminates for some reason. Since I don't have a lot of time to investigate further, I just worked around the issue by suppressing stdout output from the expect scripts we run. This is not nice but since the test stall is irrelevant to our gnupg module, it doesn't make sense to block the test for reasons out of the scope of this test. [1]: https://github.com/NixOS/nixpkgs/commit/dbc95f15b8dad5224cbb6a52df9 Signed-off-by: aszlig <aszlig@nix.build>
* tests: Switch all tests to Python test driveraszlig2020-08-291-64/+58
| | | | | | | | | | | | | | | | | | | | | Since the removal[1] of the Perl test driver, our tests will no longer run or even evaluate. Fortunately, the test API is more or less the same, so the transition to Python was not very involved. However, I did add a "# fmt: off" on top of every testScript, since formatting with black not only has issues with parameterised antiquotations but is also plain ugly to mix 2 spaces of indentation with 4 spaces of indentation. Additionally, I'd like to have a maximum line length of 79 characters in my Nix expressions while black on the other side even *insists* of using longer lines. [1]: https://github.com/NixOS/nixpkgs/commit/0620184f3f94f1bf8de014ab168 Signed-off-by: aszlig <aszlig@nix.build>
* Fix deprecated displayManager.auto.enable optionaszlig2020-02-101-1/+1
| | | | | | | | | | | | | | | | Since a while[1], the services.xserver.displayManager.auto option is deprecated. Since first of all SLiM got removed and now every display manager supports auto-login, I switched the labtops module to use the LightDM implementation. Since the common x11 test module still exposes a similar interface, we only need to use the same options from the test-support option, which should hopefully be a "sane default" suitable for tests. [1]: https://github.com/NixOS/nixpkgs/commit/c95612a5a2d4bd93011c042066c Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* tests/gnupg: Fix OCR match on passphrase dialogaszlig2018-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | Sinc the Tesseract update to version 4.0.0[1], the OCR result is much better than what we had before. The string we want to match is the following: Please enter the passphrase to unlock the OpenPGP secret key In the previous Tesseract alpha version (4.00.00alpha-git-20170410), the word "passphrase" was detected with an upper-case "P", which now is no longer the case. Nevertheless, I've changed it to matching both "Passphrase" and "passphrase", just to be sure. [1]: https://github.com/NixOS/nixpkgs/commit/d4b9752212f77b122b9166dc52f Signed-off-by: aszlig <aszlig@nix.build>
* tests: Properly propagate nixpkgs pathaszlig2018-04-031-2/+2
| | | | | | | Yet another occasion where we import nixpkgs-path.nix unconditionally, so let's actually pass a nixpkgsPath to every test function. Signed-off-by: aszlig <aszlig@nix.build>
* Rename all occurences of gpg2 to gpgaszlig2017-08-191-6/+6
| | | | | | | | | | | | This is in reaction to upstream commit NixOS/nixpkgs@e34ce9d1c551fb43742aada6bb43ccb1a52e64a1. One of the changes in GnuPG 2.1.23 is that the main binary is now called gpg instead of gpg2. See the full release announcement here: https://lists.gnupg.org/pipermail/gnupg-announce/2017q3/000412.html Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules/gnupg: Don't close/remove sockets on stopaszlig2016-06-261-2/+8
| | | | | | | | | | | | | | | | | | | | | | When using systemctl restart or systemctl stop on any of the GnuPG services, the sockets were closed and removed. However we are using socket activation, so a simple restart of for example the agent would cause the socket to be closed and removed and afterwards the gpg-agent service is unable to pick up the socket again, thus failing to start. This in turn has led to GnuPG starting the agent by its own, entirely bypassing socket activation and our shiny service module. In order to cope with this, we need to provide LD_PRELOAD wrappers also for remove() and close(), so that we can prevent GnuPG from closing the systemd file descriptors. I've also added a small subtest to ensure this won't happen again in the future. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests/gnupg: Remove leftover for debuggingaszlig2016-06-261-1/+1
| | | | | | | | | The shell script embedded into the expect script had "set -x" enabled. While this doesn't really hurt it doesn't really aid in debugging either (expect -d works much better), so let's remove it. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests/gnupg: Enable scdaemon supportaszlig2016-04-041-0/+1
| | | | | | | We're not testing this thoroughly though, but this makes sure that we don't accidentally break module support for scdaemon. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Rename gpg-agent to gnupgaszlig2016-04-042-0/+188
We do things such as placing gnupg into environment.systemPackages, so calling this just "programs.gpg-agent" doesn't fit that. Especially if we really want to have a way to specify configuration values in case I'm getting masochistic someday ;-) Signed-off-by: aszlig <aszlig@redmoonstudios.org>