mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-04 14:52:34 +03:00
Merge master into staging-next
This commit is contained in:
commit
f6b39f852e
109 changed files with 1240 additions and 38509 deletions
|
@ -2,7 +2,7 @@
|
|||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-running-nixos-tests">
|
||||
xml:id="sec-running-nixos-tests-interactively">
|
||||
<title>Running Tests interactively</title>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-running-nixos-tests-interactively">
|
||||
xml:id="sec-running-nixos-tests">
|
||||
<title>Running Tests</title>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -149,6 +149,12 @@
|
|||
SDDM, GDM, or using the startx module which uses Xinitrc.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The BEAM package set has been deleted. You will only find there the different interpreters.
|
||||
You should now use the different build tools coming with the languages with sandbox mode disabled.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ let
|
|||
daemonService = appName: args:
|
||||
{ description = "Samba Service Daemon ${appName}";
|
||||
|
||||
after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") ];
|
||||
requiredBy = [ "samba.target" ];
|
||||
partOf = [ "samba.target" ];
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ let
|
|||
(if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
|
||||
then "--credentials=${toString credFile}"
|
||||
else "--no-auth")
|
||||
"--addr=${address}:${toString port}"
|
||||
] ++ extraOptions);
|
||||
|
||||
in {
|
||||
|
@ -177,7 +178,7 @@ in {
|
|||
systemd.services.magneticod = {
|
||||
description = "Magnetico DHT crawler";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
User = "magnetico";
|
||||
|
@ -189,7 +190,7 @@ in {
|
|||
systemd.services.magneticow = {
|
||||
description = "Magnetico web interface";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" "magneticod.service"];
|
||||
after = [ "network.target" "magneticod.service"];
|
||||
|
||||
serviceConfig = {
|
||||
User = "magnetico";
|
||||
|
@ -202,7 +203,7 @@ in {
|
|||
assertions =
|
||||
[
|
||||
{
|
||||
assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { };
|
||||
assertion = cfg.web.credentialsFile == null || cfg.web.credentials == { };
|
||||
message = ''
|
||||
The options services.magnetico.web.credentialsFile and
|
||||
services.magnetico.web.credentials are mutually exclusives.
|
||||
|
|
|
@ -15,7 +15,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||
#
|
||||
# One particular example are the boot tests where we want instrumentation
|
||||
# within the images but not other stuff like setting up 9p filesystems.
|
||||
options.virtualisation.qemu.program = mkOption { type = types.path; };
|
||||
options.virtualisation.qemu = { };
|
||||
|
||||
config = {
|
||||
|
||||
|
|
|
@ -148,6 +148,7 @@ in
|
|||
loki = handleTest ./loki.nix {};
|
||||
#logstash = handleTest ./logstash.nix {};
|
||||
lorri = handleTest ./lorri/default.nix {};
|
||||
magnetico = handleTest ./magnetico.nix {};
|
||||
mailcatcher = handleTest ./mailcatcher.nix {};
|
||||
mathics = handleTest ./mathics.nix {};
|
||||
matomo = handleTest ./matomo.nix {};
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
import ./make-test-python.nix ({ pkgs, ...} :
|
||||
|
||||
let
|
||||
port = 8081;
|
||||
in
|
||||
{
|
||||
name = "magnetico";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ rnhmjoj ];
|
||||
|
@ -12,17 +17,24 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||
services.magnetico = {
|
||||
enable = true;
|
||||
crawler.port = 9000;
|
||||
web.port = port;
|
||||
web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
startAll;
|
||||
$machine->waitForUnit("magneticod");
|
||||
$machine->waitForUnit("magneticow");
|
||||
$machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
|
||||
$machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
|
||||
$machine->shutdown();
|
||||
start_all()
|
||||
machine.wait_for_unit("magneticod")
|
||||
machine.wait_for_unit("magneticow")
|
||||
machine.succeed(
|
||||
"${pkgs.curl}/bin/curl "
|
||||
+ "-u user:password http://localhost:${toString port}"
|
||||
)
|
||||
assert "Unauthorised." in machine.succeed(
|
||||
"${pkgs.curl}/bin/curl "
|
||||
+ "-u user:wrongpwd http://localhost:${toString port}"
|
||||
)
|
||||
machine.shutdown()
|
||||
'';
|
||||
})
|
||||
|
|
22
nixos/tests/spike.nix
Normal file
22
nixos/tests/spike.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
|
||||
let
|
||||
riscvPkgs = import ../.. { crossSystem = pkgs.stdenv.lib.systems.examples.riscv64-embedded; };
|
||||
in
|
||||
{
|
||||
name = "spike";
|
||||
meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ blitz ]; };
|
||||
|
||||
machine = { pkgs, lib, ... }: {
|
||||
environment.systemPackages = [ pkgs.spike riscvPkgs.riscv-pk riscvPkgs.hello ];
|
||||
};
|
||||
|
||||
# Run the RISC-V hello applications using the proxy kernel on the
|
||||
# Spike emulator and see whether we get the expected output.
|
||||
testScript =
|
||||
''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
output = machine.succeed("spike -m64 $(which pk) $(which hello)")
|
||||
assert output == "Hello, world!\n"
|
||||
'';
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue