1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-19 07:59:24 +03:00
Commit graph

1155 commits

Author SHA1 Message Date
Paul Haerle
86a1af8a7b
nixos/systemd: clarify what enableStrictShellChecks checks (#401460) 2025-04-27 14:15:15 +02:00
Vladimír Čunát
1a41b5c78e
nixos/lib/testing: avoid generating darwin VM tests (#393977) 2025-04-27 09:29:26 +02:00
Jacek Galowicz
d0c304d4c1
nixos/test-driver: improve error reporting and assertions (#390996) 2025-04-26 10:26:01 +02:00
Scott Edlund
02555cd0bd nixos/systemd: clarify what enableStrictShellChecks checks
the specifics of this option are in the release notes, but bring
them into the documentation.
2025-04-26 01:46:12 +08:00
Aleksana
64f024b81e
treewide: drop copumpkin from maintainers (#392486) 2025-04-18 19:00:51 +08:00
Silvan Mosberger
374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Vladimír Čunát
72155225aa
nixos/lib/testing: avoid generating darwin VM tests
We're getting 2x5 darwin VM jobs that aren't schedulable
on our current Hydra.nixos.org, which makes them hang around
and delay advancing of all `nixpkgs-*` channels.
To me that's quite an annoying effect, as it can be like an extra day
of additional delay without any benefit that I can really perceive.
(unless someone like me keeps manually cancelling the jobs all the time)
2025-03-29 19:32:31 +01:00
phaer
c60ace300b make-disk-image: Add note about re-factoring plans in #324817
This replaces an older note by @copumpkin about the (stale) issue
maintainer-list.
2025-03-23 20:07:15 +01:00
phaer
b349e80087 treewide: drop copumpkin from maintainers
Their last commit is from March 28th 2019, about 6 years ago.

This PR is in no way intended to diminish Daniels's accomplishments, and they're welcome to just say so if they'd prefer this PR not to be merged. Also, even if it's merged, of course they're always welcome to return to activity and be added back. The intent of this PR is to give more realistic expectations around the maintainership of these packages, and to invite others to step up for maintainership if they rely on those packages.

If this is merged, they should probably also be removed from the list
of committers for the time being.
2025-03-23 20:07:15 +01:00
Maximilian Bosch
deff22bcc8
nixos/test-driver: improve wording on comments about new error handling
Co-authored-by: Benoit de Chezelles <bew@users.noreply.github.com>
2025-03-22 19:13:48 +01:00
Maximilian Bosch
e2b3517f59
nixos/test-driver: use ipython via ptpython
Closes #180089

I realized that the previous commits relying on `sys.exit` for dealing
with `MachineError`/`RequestedAssertionFailed` exit the interactive
session which is kinda bad.

This patch uses the ipython driver: it seems to have equivalent features
such as auto-completion and doesn't stop on SystemExit being raised.

This also fixes other places where this happened such as things calling
`log.error` on the CompositeLogger.
2025-03-21 12:34:59 +00:00
Maximilian Bosch
d587d569e0
nixos/test-driver: restructure error classes
After a discussion with tfc, we agreed that we need a distinction
between errors where the user isn't at fault (e.g. OCR failing - now
called `MachineError`) and errors where the test actually failed (now
called `RequestedAssertionFailed`).

Both get special treatment from the error handler, i.e. a `!!!` prefix
to make it easier to spot visually.

However, only `RequestedAssertionFailed` gets the shortening of the
traceback, `MachineError` exceptions may be something to report and
maintainers usually want to see the full trace.

Suggested-by: Jacek Galowicz <jacek@galowicz.de>
2025-03-21 11:38:01 +00:00
Jacek Galowicz
482beabbbd NixOS Test driver: Display Qemu windows on macOS in interactive mode 2025-03-20 15:40:02 +00:00
Maximilian Bosch
cc3d409adc
nixos/test-driver: log associated machine for self.nested
When doing `machine.succeed(...)` or something similar, it's now clear
that the command `...` was issued on `machine`.

Essentially, this results in the following diff in the log:

    -(finished: waiting for unit default.target, in 13.47 seconds)
    +machine: (finished: waiting for unit default.target, in 13.47 seconds)
    (finished: subtest: foobar text lorem ipsum, in 13.47 seconds)
2025-03-20 13:20:51 +00:00
Maximilian Bosch
11ff96a679
nixos/test-driver: use RequestedAssertionFailed/TestScriptError in Machine class
I think it's reasonable to also have this kind of visual distinction
here between test failures and actual errors from the test framework.

A failing `machine.require_unit_state` now lookgs like this for
instance:

    !!! Traceback (most recent call last):
    !!!   File "<string>", line 3, in <module>
    !!!     machine.require_unit_state("postgresql","active")
    !!!
    !!! RequestedAssertionFailed: Expected unit 'postgresql' to to be in state 'active' but it is in state 'inactive'

Co-authored-by: Benoit de Chezelles <bew@users.noreply.github.com>
2025-03-20 13:20:37 +00:00
Maximilian Bosch
a1dfaf51e2
nixos/test-driver: integrate Python unittest assertions
Replaces / Closes #345948

I tried to integrate `pytest` assertions because I like the reporting,
but I only managed to get the very basic thing and even that was messing
around a lot with its internals.

The approach in #345948 shifts too much maintenance effort to us, so
it's not really desirable either.

After discussing with Benoit on Ocean Sprint about this, we decided that
it's probably the best compromise to integrate `unittest`: it also
provides good diffs when needed, but the downside is that existing tests
don't benefit from it.

This patch essentially does the following things:

* Add a new global `t` that is an instance of a `unittest.TestCase`
  class. I decided to just go for `t` given that e.g.
  `tester.assertEqual` (or any other longer name) seems quite verbose.

* Use a special class for errors that get special treatment:
  * The traceback is minimized to only include frames from the
    testScript: in this case I don't really care about anything else and
    IMHO that's just visual noise.

    This is not the case for other exceptions since these may indicate a
    bug and then people should be able to send the full traceback to the
    maintainers.
  * Display the error, but with `!!!` as prefix to make sure it's
    easier to spot in between other logs.

This looks e.g. like

    !!! Traceback (most recent call last):
    !!!   File "<string>", line 7, in <module>
    !!!     foo()
    !!!   File "<string>", line 5, in foo
    !!!     t.assertEqual({"foo":[1,2,{"foo":"bar"}]},{"foo":[1,2,{"bar":"foo"}],"bar":[1,2,3,4,"foo"]})
    !!!
    !!! NixOSAssertionError: {'foo': [1, 2, {'foo': 'bar'}]} != {'foo': [1, 2, {'bar': 'foo'}], 'bar': [1, 2, 3, 4, 'foo']}
    !!! - {'foo': [1, 2, {'foo': 'bar'}]}
    !!! + {'bar': [1, 2, 3, 4, 'foo'], 'foo': [1, 2, {'bar': 'foo'}]}
    cleanup
    kill machine (pid 9)
    qemu-system-x86_64: terminating on signal 15 from pid 6 (/nix/store/wz0j2zi02rvnjiz37nn28h3gfdq61svz-python3-3.12.9/bin/python3.12)
    kill vlan (pid 7)
    (finished: cleanup, in 0.00 seconds)

Co-authored-by: bew <bew@users.noreply.github.com>
2025-03-20 12:30:58 +00:00
K900
58edd1e2ac
nixos/docs: fix typo (#372394) 2025-02-10 13:47:45 +03:00
andle
0149ffd511
fix(utils): remove unnecessary $ from variable in arithmetic 2025-02-08 23:07:10 -05:00
Wolfgang Walther
d16aa077d2
nixos/lib/make-*-disk-zfs-image: fix build
Those two helpers have not received the memo about a new requirement for
virtiofs and about changes regarding the zfs related attributes.

Can be tested with nix/release.nix' amazonImageZfs.
2025-02-02 21:51:07 +01:00
OPNA2608
fa984fd7aa nixos/lib/test-driver: Revert magick args order
...as it apparently matters when we do the -negate
2025-01-22 14:59:35 +01:00
K900
5b434ed807 nixos/lib/test-driver: try more OCR options
The current setup is really weird and definitely wrong for many cases
because it inverts the colors of the image, which is never a good idea
for GUIs. So, try to OCR three different times: once on the source image,
once with processing, and once with processing but no negation.

This should hopefully make things work at least somewhat better for GUIs.
2025-01-21 14:16:04 +03:00
K900
4b5b5d19d2
nixos/test-driver: fix OCR (#375091) 2025-01-19 21:01:53 +03:00
Victor Engmark
8f2bc9842e
nixos/test-driver: Use consistent naming and types
Specifies the "last try" parameter in all methods called by `retry`.
Doing this clarifies its presence, and makes it easier to use it in the
future if needed.
2025-01-19 17:59:13 +01:00
K900
84b216c2a6 nixos/test-driver: fix OCR
I don't know why it doesn't want to do TIFF now, but there's also
absolutely no reason for it to be TIFF anyway, so let's just use
an image format that is actually sane.
2025-01-19 18:41:58 +03:00
nixpkgs-ci[bot]
d4a1995529
Merge master into staging-next 2025-01-16 00:14:11 +00:00
Gavin John
fc43d75245
nixos/lib/eval-config: fix minor typo 2025-01-15 12:40:11 -08:00
github-actions[bot]
9129b13110
Merge master into staging-next 2025-01-15 00:14:20 +00:00
Robert Hensing
bfefff9651
nixos-render-docs: Support explicit anchors in markdown for optional compatibility with the HTML renderer (#370352) 2025-01-14 23:10:41 +01:00
K900
bc9b250c6c Merge remote-tracking branch 'origin/master' into staging-next 2025-01-10 15:35:29 +03:00
Gaetan Lepage
8711bcf71a nixos-test-driver: reformat with latest ruff 2025-01-09 15:43:10 +01:00
Anton Mosich
9d2d70bea2
nixos/docs: fix typo
If that string wasn't a raw string, the "\n" in the second line won't
get rendered as such, but as a space instead.
2025-01-09 15:42:14 +01:00
github-actions[bot]
a58f8abed0
Merge staging-next into staging 2025-01-06 00:15:41 +00:00
Robert Hensing
04a5fd4b4f
nixos/eval-config: Deprecate NIXOS_EXTRA_MODULE_PATH (#349549) 2025-01-05 20:51:20 +01:00
K900
1d9d206c4e Merge remote-tracking branch 'origin/staging-next' into staging 2025-01-05 00:25:30 +03:00
Will Fancher
15be453e9a
switch-to-configuration: Better handling of socket-activated units (#359724) 2025-01-04 11:51:21 -05:00
Robert Hensing
e2078ef31e tests.nixosOptionsDoc: init 2025-01-02 22:42:05 +01:00
Robert Hensing
925dc2fe30 nixosOptionsDoc/optionsCommonMark: Add extraFlags attr 2025-01-02 21:08:48 +01:00
github-actions[bot]
5d88e3a361
Merge staging-next into staging 2025-01-02 18:04:58 +00:00
Robert Hensing
039cbd8e93
nixos/lib/eval-config: Add warning when masking pkgs (#349453) 2025-01-02 17:41:14 +01:00
K900
936f4e016d Merge remote-tracking branch 'origin/staging-next' into staging 2025-01-02 19:21:56 +03:00
Julien Malka
fa99ba3c13
nixos/systemd-boot: Don't write to /etc/machine-id (#347493) 2025-01-02 11:47:20 +01:00
K900
ca300e32f7 Merge remote-tracking branch 'origin/staging-next' into staging 2025-01-01 10:07:33 +03:00
Emily
f6ce575a03 nixos/test-driver: avoid lib.fileset 2024-12-31 02:30:18 +00:00
Wolfgang Walther
cf127c9dc3
treewide: load structured attributes in all bash builders consistently
It's hard to put the sourcing of ./.attrs.sh into all builder
consistently - mistakes will happen. Thus, load structured attrs once in
make-derivation and then source the remaining builder on top.

This should fix quite a few builders with structured attributes in
principle. Most importantly it helps substitute / substituteAll, which
are required for bootstrap on some platforms.
2024-12-29 18:36:47 +01:00
Jared Baur
bae7a7ac67
nixos/make-disk-image: fix hybrid and legacy+gpt image generation
Prevent GNU parted from complaining about misaligned partitions for
partitions that aren't supposed to be aligned.
2024-12-20 12:58:31 -08:00
Jared Baur
324189bc82
nixos/make-disk-image: ensure partitions are aligned to sector size
This ensures that GNU parted doesn't complain that partitions are
unaligned.
2024-12-19 19:58:26 -08:00
Jared Baur
95587053f7
nixos/make-disk-image: nixfmt 2024-12-19 19:58:25 -08:00
Andreas Fuchs
bc1cfec920 Address review feedback: It's "configuration switch" 2024-12-18 08:18:27 -05:00
Andreas Fuchs
878be9c20b Address review feedback: Attempt to fix wonky indentation 2024-12-18 08:17:04 -05:00
Gavin John
b0a3a9a52f nixos/lib/eval-config: Add warning when masking pkgs 2024-12-13 21:52:21 -08:00