Commit Graph

288232 Commits

Author SHA1 Message Date
R. RyanTM
2c143443f7 libpoly: 0.1.8 -> 0.1.9 2021-05-08 18:34:00 -07:00
Robert Hensing
e312fc23c4
Merge pull request #122282 from roberth/docker-tools-reenable-lint
nixos/tests/docker-tools*: enable linting
2021-05-09 03:33:42 +02:00
Martin Weinelt
77ff20bdba python3Packages.csvw: 1.10.2 -> 1.11.0 2021-05-08 18:29:20 -07:00
maralorn
4ed0cff8eb
Merge pull request #122117 from NixOS/haskell-updates 2021-05-09 03:17:04 +02:00
Robert Hensing
ecfc25248c
Merge pull request #122204 from roberth/nixos-test-expose-driver
nixos/tests: move makeWrapper to nativeBuildInputs
2021-05-09 03:13:09 +02:00
fortune
918cf983fb rtl8812au: remove unsupported kernels
Co-authored-by: Jonathan Ringer <jonringer@users.noreply.github.com>
2021-05-08 18:10:47 -07:00
fortuneteller2k
3360314646 rtl8812au: 5.6.4.2 -> 5.9.3.2 2021-05-08 18:10:47 -07:00
Martin Weinelt
dfa9e91b11 python3Packages.pulsectl: 21.3.4 -> 21.5.0 2021-05-08 18:06:19 -07:00
Robert Hensing
75c4fc1c8b nixos/testing-python.nix: Move makeWrapper to nativeBuildInputs 2021-05-09 03:04:03 +02:00
R. RyanTM
36c5cea0f6 bzrtp: 4.5.1 -> 4.5.10 2021-05-08 18:00:58 -07:00
R. RyanTM
a8926057f0 bacula: 11.0.1 -> 11.0.2 2021-05-08 18:00:19 -07:00
R. RyanTM
69090bce70 sickgear: 0.23.15 -> 0.23.16 2021-05-08 17:59:54 -07:00
Robert Hensing
8c868f47a8 Revert "nixos/tests/docker-tools*: remove useless formatter"
Annoyed with the interference of the python formatting of
generated code (see #72964), I took matters into my own hands
as maintainer of dockerTools.

Afterwards, I've created a PR, hoping to unstuck the discussion.

@aszlig took notice and thanks to his python ecosystem knowledge,
the testing efforts of @blaggacao and @Ma27, and a sense of
shared suffering and comraderie we were able to change the
situation for the better in #122201.

Now, we have a proper linter that actually helps contributors,
so it's time to turn it back on again.

I'm glad we could make it happen this quickly!

Thanks!

This reverts commit 4035049af3.
2021-05-09 02:57:17 +02:00
R. RyanTM
68155982fa kustomize-sops: 2.5.2 -> 2.5.5 2021-05-08 17:56:14 -07:00
R. RyanTM
6f09f253f5 birdfont: 2.29.1 -> 2.29.4 2021-05-08 17:52:20 -07:00
R. RyanTM
c6dbb82d8c gmic: 2.9.6 -> 2.9.7 2021-05-08 17:51:07 -07:00
R. RyanTM
5fbb4944bc apt-cacher-ng: 3.6.1 -> 3.6.3 2021-05-08 17:50:59 -07:00
R. RyanTM
6d7d466423 cargo-fuzz: 0.10.0 -> 0.10.1 2021-05-08 17:50:21 -07:00
R. RyanTM
b8016c6aa6 istioctl: 1.9.3 -> 1.9.4 2021-05-08 17:49:53 -07:00
R. RyanTM
577c3a5578 heimer: 2.4.0 -> 2.5.0 2021-05-08 17:47:03 -07:00
R. RyanTM
796208b8fc debootstrap: 1.0.123 -> 1.0.124 2021-05-08 17:46:08 -07:00
R. RyanTM
b1d725d4d9 gcsfuse: 0.34.1 -> 0.35.0 2021-05-08 17:45:32 -07:00
R. RyanTM
5d9dc70c2f pony-corral: 0.4.1 -> 0.5.0 2021-05-08 17:45:16 -07:00
R. RyanTM
b8cf4172f2 gallery-dl: 1.17.1 -> 1.17.3 2021-05-08 17:45:05 -07:00
R. RyanTM
078e0b6f93 fcitx-engines.anthy: 0.2.3 -> 0.2.4 2021-05-08 17:42:11 -07:00
R. RyanTM
54933eeef0 ibus-engines.m17n: 1.4.4 -> 1.4.5 2021-05-08 17:39:30 -07:00
R. RyanTM
518269b7cb hydroxide: 0.2.17 -> 0.2.18 2021-05-08 17:39:08 -07:00
Malte Brandy
74d8b78a24
haskellPackages.tomland: Fix build 2021-05-09 02:38:05 +02:00
aszlig
34b467c4b0
Merge pull request #122201 (black -> pyflakes)
This switches the linting of the NixOS test driver script from Black
(which is a code *formatter*) to PyFlakes. Contrary to Black, which only
does formatting and a basic syntax check, PyFlakes actually performs
useful checks early on before spinning up VMs and evaluating the actual
test script and thus becomes actually useful in development rather than
an annoyance.

One of the reasons why Black has been an annoyance[1] was because it
assumed that the files that it's formatting aren't inlined inside
another programming language.

With NixOS VM tests however, we inline these Python scripts in the
testScript attribute. With some of them using string antiquotations,
things are getting rather ugly because Black now no longer formats
static code but generated code from Nix being used as a macro language.

This becomes especially annoying when an antiquotation contains an
option definition from the NixOS module system, since an unrelated
change might change its length or contents (eg. suddenly containing a
double quote) for which Black will report an error.

While issue #72964 has been sitting around for a while (and probably
annoyed everyone involved), nobody has actually proposed an
implementation until @roberth did a first pull request[2] yesterday
which added a "skipFormatter" attribute, which contrary to skipLint
silently disabled Black.

This has led to very legitimate opposition[3] from @flokli:

> As of now, this only adds an option that does exactly the same as the
> already existing one.
>
> black does more than linting, yes. Last September it was proposed to
> switch from black to to a more permissive (only-)linter.
>
> I don't think adding another option (skipFormatter) that currently
> does exactly the same as skipLint will help out of this confusion.
>
> IMHO, we should keep skipLint, but use a linter that doesn't format,
> at least not enforce the line length (due to the nix interpolation we
> do).

This was written while I was doing an alternative implementation and
pretty much sums up the work I'm merging here, which switches to
PyFlakes, which only checks for various errors in the code (eg.
undefined variables, shadowing, wrong comparisons and more) but does not
do *any* formatting.

Since Black didn't do any of the checks performed by PyFlakes (except a
basic syntax check), the existing test scripts needed to be fixed.

Thanks to @blaggacao, @Ma27 and @roberth for helping with testing and
fixing those scripts.

[1]: https://github.com/NixOS/nixpkgs/issues/72964
[2]: https://github.com/NixOS/nixpkgs/pull/122197
[3]: https://github.com/NixOS/nixpkgs/pull/122197#pullrequestreview-654997723
2021-05-09 02:36:00 +02:00
R. RyanTM
9a414c1488 libjwt: 1.12.1 -> 1.13.1 2021-05-08 17:34:13 -07:00
Robert T. McGibbon
0e0a10ceb6 python3Packages.pylint-django: 2.4.2 -> 2.4.3 2021-05-08 17:31:56 -07:00
R. RyanTM
bf8c4855e0 libmaxminddb: 1.5.2 -> 1.6.0 2021-05-08 17:31:04 -07:00
aszlig
54bc69637b
nixos/test/virtualbox: Fix linting errors
There were a bunch of unnecessary f-strings in there and I also removed
the "# fmt: on/off" comments, because we no longer use Black and thus
won't need those comments anymore.

Signed-off-by: aszlig <aszlig@nix.build>
2021-05-09 02:28:32 +02:00
aszlig
74bff4e667
nixos/tests/unbound: Remove unused 'json' import
Signed-off-by: aszlig <aszlig@nix.build>
2021-05-09 02:28:30 +02:00
David Arnold
6ad2e41269
nixos/testing: lint jellyfin test 2021-05-09 02:28:28 +02:00
aszlig
6c0ec527b9
nixos/tests/shadow: Fix linting errors
Linter errors reported:

  6:32 f-string is missing placeholders
  7:26 f-string is missing placeholders
  8:32 f-string is missing placeholders
  30:32 f-string is missing placeholders
  31:26 f-string is missing placeholders
  32:32 f-string is missing placeholders
  48:32 f-string is missing placeholders
  49:26 f-string is missing placeholders
  50:32 f-string is missing placeholders
  76:32 f-string is missing placeholders
  77:26 f-string is missing placeholders
  78:32 f-string is missing placeholders

Signed-off-by: aszlig <aszlig@nix.build>
2021-05-09 02:28:26 +02:00
aszlig
e157ad41cb
nixos/tests/printing: Remove unused 'sys' import
Signed-off-by: aszlig <aszlig@nix.build>
2021-05-09 02:28:23 +02:00
aszlig
c066cc3c0b
nixos/tests/networking: Fix str literal comparison
Linter error:

  use ==/!= to compare constant literals (str, bytes, int, float, tuple)

Signed-off-by: aszlig <aszlig@nix.build>
2021-05-09 02:28:20 +02:00
aszlig
62a518b904
nixos/tests/yggdrasil: Fix linting error
Linter error was: f-string is missing placeholders

Signed-off-by: aszlig <aszlig@nix.build>
2021-05-09 02:28:18 +02:00
Maximilian Bosch
b782440a62
nixosTests.custom-ca: lint 2021-05-09 02:28:16 +02:00
Maximilian Bosch
b4b5dcb669
nixosTests.containers-imperative: lint 2021-05-09 02:28:14 +02:00
Maximilian Bosch
fc76a44d0f
nixosTests.containers-custom-pkgs: lint
The new linter basically does

   def testScript
      # ...

before calling `pyflakes`. As this test-script is empty, it would lead
to a syntax-error unless `pass` is added.
2021-05-09 02:28:11 +02:00
Maximilian Bosch
774aba102a
nixosTests.chromium: lint
Note: I didn't execute it entirely because I'd have to build chromium
for this, but the diff appears fine.
2021-05-09 02:28:09 +02:00
Robert Hensing
b9e7fb14e2
nixos/tests/nfs: lint 2021-05-09 02:28:07 +02:00
Robert Hensing
06b070ffe7
nixosTests.acme: lint 2021-05-09 02:28:04 +02:00
Robert Hensing
56d9637119
nixos/testing: Set up scope for testScript linter
Our test driver exposes a bunch of variables and functions, which
pyflakes doesn't recognise by default because it assumes that the test
script is executed standalone. In reality however the test driver script
is using exec() on the testScript.

Fortunately pyflakes has $PYFLAKES_BUILTINS, which are the attributes
that are globally available on all modules to be checked. Since we only
have one module, using this environment variable is fine as opposed to
my first approach to this, which tried to use the unstable internal API
of pyflakes.

The attributes are gathered by the main derivation of the test driver,
because we don't want to end up defining a new attribute in the test
driver module just to being confused why using it in a test will result
in an error.

Another way we could have gathered these attributes would be in
mkDriver, which is where the linting takes place. However, we do have a
different set of Python dependencies in scope and duplicating these will
again just cause confusion over having it at one location only.

Signed-off-by: aszlig <aszlig@nix.build>
Co-Authored-By: aszlig <aszlig@nix.build>
2021-05-09 02:26:51 +02:00
Robert Hensing
71087b2bc4
nixos/testing-python.nix: Expose driver
(cherry picked from commit a2c9220568648b4528154ebd8e657add243ed0b4)
2021-05-09 02:26:40 +02:00
aszlig
c362a28fcf
nixos/testing: Switch from black to pyflakes
So far, we have used "black" for formatting the test code, which is
rather strict and opinionated and when used inline in Nix expressions it
creates all sorts of trouble.

One of the main annoyances is that when using strings coming from Nix
expressions (eg. store paths or option definitions from NixOS modules),
completely unrelated changes could cause tests to fail, since eg. black
wants lines to be broken.

Another downside of enforcing a certain kind of formatting is that it
makes the Nix expression code inconsistent because we're mixing two
spaces of indentation (common in nixpkgs) with four spaces of
indentation as defined in PEP-8. While this is perfectly fine for
standalone Python files, it really looks ugly and inconsistent IMO when
used within Nix strings.

What we actually want though is a linter that catches problems early on
before actually running the test, because this is *actually* helping in
development because running the actual VM test takes much longer.

This is the reason why I switched from black to pyflakes, because the
latter actually has useful checks, eg. usage of undefined variables,
invalid format arguments, duplicate arguments, shadowed loop vars and
more.

Signed-off-by: aszlig <aszlig@nix.build>
Closes: https://github.com/NixOS/nixpkgs/issues/72964
2021-05-09 02:26:37 +02:00
Jonathan Ringer
d76e167bd5 kronosnet: 1.20 -> 1.21 2021-05-08 17:26:06 -07:00
Malte Brandy
e60afba5d1
Merge branch 'master' into haskell-updates 2021-05-09 02:18:56 +02:00