about summary refs log tree commit diff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* starbound: Update to version 1.3.0aszlig2017-06-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major upstream changes are: * Navigation Overhaul: The cockpit navigation interface has been completely overhauled. Planets, moons and ships are all visible and orbit each other in real time. Systems will now contain NPC stations, friendly and hostile NPC ships, and strange space anomalies to visit! * Customizable Mechs: Explore these new space locations in customizable spacefaring mechs! Traverse hostile space in zero gravity, fight powerful new space monsters, and collect unique rewards as you upgrade your mech to progress through more difficult hazards. Mechs can also be deployed to planets, to crush your enemies with overwhelming firepower! * Modular Space Stations: Make a permanent home among the stars with player-owned stations! Use a station transponder to place your station into orbit, then expand it with modular rooms to suit your needs. The full changes can be found at the announcement blog post at: http://playstarbound.com/spacefarer-update/ One of the changes not listed there is that the archive now consists of a server_linux and client_linux directory, where the latter is structured the same as in previous versions. However, both contain the server binary and both of these binaries match in content. So I'm assuming that the server_linux directory is only a trimmed-down version in terms of assets but otherwise pretty much the same. I've also fixed the VM test, which didn't recognize the font of "Species" anymore, so we're now matching on "randomise". In addition to that I've added a sleep of 30 seconds before the final screenshot, so we get a picture of the fully rendered intro scenario. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Fix and improve Starbound testaszlig2016-08-151-27/+10
| | | | | | | | | | | | | | | | Since version 1.0, the coordinates for the menu labels no longer apply and need to be fixed. Also we no longer land on our ship but in the protectorate building, so there won't be a quest dialog to close. This also simplifies the test because we can now detect whether we're in-game using OCR matching parts of the quest marker for "Attend your graduation ceremony". I've also increased the available memory for the server, because it seems that for this simple test the base memory required for running a Starbound server seems to have increased. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules/tests: Use Starbound from HumbleBundleaszlig2016-08-151-1/+3
| | | | | | | The Steam version is old anyway and since we've reached 1.0 there is no point in extracting it from Steam anymore. 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: Remove reference to aszlig.i3aszlig2016-05-281-3/+0
| | | | | | Forgot to do that in ea85dd3eaf0cbd19ddf22f41391d092a21147063. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Remove dummy test for i3aszlig2016-05-281-41/+0
| | | | | | | | | | | | We already have an "i3wm" test in upstream <nixpkgs> which is much more thorough than the unfinished test I've made here. The intention of this test however was to specifically test the Vuizvui service module. Nevertheless, it's still just a dummy test and the "i3wm" test works much better, so let's remove it until we have a more complete implementation. 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-043-4/+6
| | | | | | | | | 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>
* Add a new module and test for gpg-agentaszlig2016-04-023-0/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since NixOS/nixpkgs@5391882 there no longer is the option to start the agent during X session startup, which prompted me to write this module. I was unhappy how GnuPG is handled in NixOS since a long time and wanted to OCD all the configuration files directly into the module. Unfortunately, this is something I eventually gave up because GnuPG's design makes it very hard to preseed configuration. My first attempt was to provide default configuration files in /etc/gnupg, but that wasn't properly picked up by GnuPG. Another way would have been to change the default configuration files, but that would have the downside that we could only override those configurations using command line options for each individual GnuPG component. The approach I tried to go for was to patch GnuPG so that all the defaults are directly set in the source code using a giant sed expression. It turned out that this approach doesn't work very well, because every component has implemented its own ways how to handle commandline arguments versus (default) configuration files. In the end I gave up trying to OCD anything related to GnuPG configuration and concentrated just on the agent. And that's another beast, which unfortunately doesn't work very well with systemd. While searching the net for existing patches I stumbled upon one done by @shlevy: https://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029092.html Unfortunately, the upstream author seems to be quite anti-systemd and didn't want to accept that into the upstream project. Because of this I went for using LD_PRELOAD to pick up the file descriptors provided by the systemd sockets, because in the end I don't want to constantly catch up with upstream and rebase the patch on every new release. Apart from just wrapping the agent to be socket activated, we also wrap the pinentry program, so that we can inject a _CLIENT_PID environment variable from the LD_PRELOAD wrapper that is picked up by the pinentry wrapper to determine the TTY and/or display of the client communicating with the agent. The wrapper uses the proc filesystem to get all the relevant information and passes it to the real pinentry. The advantage of this is that we don't need to do things such as "gpg-connect-agent updatestartuptty /bye" or any other workarounds and even if we connect via SSH the agent should be able to correctly pick up the TTY and/or display. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Add new Starbound service and testaszlig2016-03-152-0/+120
| | | | | | | | | | | | | | | | | | | | | Very preliminary and doesn't have all the option descriptions right, nor does it have convenience features such as setting allowAdminCommands based on whether any users are defined with admin privileges. Of course the latter needs to undergo the decision on how to handle RCON connections, because the latter *might* need that option. But apart from that single option, there are a lot more options we need to flesh out. Also, the test currently is very limited and only spins up a client, connects to the server and does a movement (just walk to the right). Needless to say, it's even quite fragile and relies on OCR to properly detect the custom pixel fonts from Starbound. Which unfortunately fails most of the time. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Remove all references to "heinrich"aszlig2016-03-052-54/+0
| | | | | | | | | This was a very old effort to NixOSify "heinrich" which unfortunately didn't happen and I'm not sure whether "heinrich" even exists anymore. The tests were broken anyway, so I doubt anyone would grief over it. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Disable multipath-vpn test.aszlig2015-11-161-1/+2
| | | | | | | The test is broken since it was introduced for the first time in 080933b2f158e7a3f0dfc4e7f499c0e3752cd3fc. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Fix test evaluation for heinrich.aszlig2015-06-271-2/+2
| | | | | | | Namespacing the options with "vuizvui." now leads to failing tests, which I probably should have checked in the previous commit, my bad! Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Handle all <nixpkgs> paths with nixpkgs-path.nix.aszlig2015-04-292-4/+8
| | | | | | | | | This file is just defaulting to <nixpkgs>, but we're going to substitue it by the channel generator. We also need to make sure that we don't have any other references to <nixpkgs>, but the latter can best be done on Hydra's side if we don't make <nixpkgs> available to vuizvui builds. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests/i3: Define a "first" test workspace.aszlig2015-04-081-1/+9
| | | | | | | | It's mainly to test whether the workspace assignment is done correctly and if not, the screenshot on the test will be showing one of the default workspaces instead. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests/heinrich: Fix evaluation error.aszlig2015-03-181-1/+1
| | | | | | Regression is from 903106efb392dc6235dd02523c29b3fbfed37462. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests/richi235: Add VM test for multipath VPN.aszlig2015-03-182-0/+192
| | | | | | | | This is where I previously left off and I'm currently not enough "in zone" to remember the details. But even though the tests are failing, I'm adding it here for reference and for picking it up later. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Refactor to something similar as machines/.aszlig2015-03-183-3/+20
| | | | | | | | | Similar to callMachine, we now have callTest. The latter uses make-test.nix, so we don't need to import the file explicitly anymore and can just write our VM test by using either an attrset or a lambda function which also gets our own packages in a vuizvui namespace. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Properly namespace the VM tests.aszlig2015-03-182-2/+2
| | | | | | | We're going to write much more tests and don't want to clutter up the tests/ directory. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Integrate heinrich VM test from labernix.aszlig2015-03-181-0/+51
| | | | | | | | Using "import ../machines" is a bit ugly here, so we might want to integrate this into make-test.nix, but other than that it should work nevertheless. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* tests: Integrate make-test.nix from labernix.aszlig2015-03-182-8/+34
| | | | | | | We already have abstracted the injection of the module list in labernix, so we can reuse this with only minor changes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* i3: Add preliminary VM test.aszlig2014-08-011-0/+31
Currently just sleeps for 20 seconds and takes a screenshot. Nothing too fancy yet. Signed-off-by: aszlig <aszlig@redmoonstudios.org>