Skip to content

nixos/test: Use retry() in all looping functions that need timeouts#74898

Merged
flokli merged 2 commits intoNixOS:masterfrom
tfc:nixos-test-retry
Dec 4, 2019
Merged

nixos/test: Use retry() in all looping functions that need timeouts#74898
flokli merged 2 commits intoNixOS:masterfrom
tfc:nixos-test-retry

Conversation

@tfc
Copy link
Copy Markdown
Contributor

@tfc tfc commented Dec 3, 2019

Motivation for this change

#72828

Related to #74868. Use retry in all functions that should wait between retries and also timeout after some time so a test won't hang forever. These changes also resemble what the original perl driver does.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @worldofpeace @flokli

@ofborg ofborg bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Dec 3, 2019
@tfc tfc force-pushed the nixos-test-retry branch from 09f3b2e to a166955 Compare December 3, 2019 16:06
@jtojnar
Copy link
Copy Markdown
Member

jtojnar commented Dec 3, 2019

Maybe using the decorator from https://pypi.org/project/retry/ or https://pypi.org/project/retrying/ would be nicer.

@tfc
Copy link
Copy Markdown
Contributor Author

tfc commented Dec 3, 2019

Maybe using the decorator from https://pypi.org/project/retry/ or https://pypi.org/project/retrying/ would be nicer.

On the one hand: Yes. On the other hand: an extra dependency for such a little function seems like too much. What do you think?

@@ -1,4 +1,4 @@
import ./make-test.nix ({ ... }:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should go in a separate PR.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, at least it's 2 separate commits, so we can merge this as is.

Still, please open 2 separate PRs next time.

@flokli
Copy link
Copy Markdown
Member

flokli commented Dec 4, 2019

@GrahamcOfBorg test pam-oath-login

@flokli flokli merged commit 746a888 into NixOS:master Dec 4, 2019
@tfc tfc deleted the nixos-test-retry branch December 4, 2019 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants