diff options
author | illustris <rharikrishnan95@gmail.com> | 2023-10-22 18:16:20 +0530 |
---|---|---|
committer | illustris <rharikrishnan95@gmail.com> | 2023-10-22 18:16:20 +0530 |
commit | 392bc5422573ffce67a5ac924bc6494398150edb (patch) | |
tree | aa5b10839ef39fd6326d944ac62cad65fc26b96d /nixos | |
parent | fc7aceed429a24e3efc49b82691f5fac596f59e9 (diff) | |
download | nixlib-392bc5422573ffce67a5ac924bc6494398150edb.tar nixlib-392bc5422573ffce67a5ac924bc6494398150edb.tar.gz nixlib-392bc5422573ffce67a5ac924bc6494398150edb.tar.bz2 nixlib-392bc5422573ffce67a5ac924bc6494398150edb.tar.lz nixlib-392bc5422573ffce67a5ac924bc6494398150edb.tar.xz nixlib-392bc5422573ffce67a5ac924bc6494398150edb.tar.zst nixlib-392bc5422573ffce67a5ac924bc6494398150edb.zip |
spark: add passthru test
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/spark/default.nix | 65 |
1 files changed, 42 insertions, 23 deletions
diff --git a/nixos/tests/spark/default.nix b/nixos/tests/spark/default.nix index 462f0d23a403..63d6a5d44db8 100644 --- a/nixos/tests/spark/default.nix +++ b/nixos/tests/spark/default.nix @@ -1,28 +1,47 @@ -import ../make-test-python.nix ({...}: { - name = "spark"; +{ pkgs, ... }: - nodes = { - worker = { nodes, pkgs, ... }: { - services.spark.worker = { - enable = true; - master = "master:7077"; +let + inherit (pkgs) lib; + tests = { + default = testsForPackage { sparkPackage = pkgs.spark; }; + }; + + testsForPackage = args: lib.recurseIntoAttrs { + sparkCluster = testSparkCluster args; + passthru.override = args': testsForPackage (args // args'); + }; + testSparkCluster = { sparkPackage, ... }: pkgs.nixosTest ({ + name = "spark"; + + nodes = { + worker = { nodes, pkgs, ... }: { + services.spark = { + package = sparkPackage; + worker = { + enable = true; + master = "master:7077"; + }; + }; + virtualisation.memorySize = 2048; }; - virtualisation.memorySize = 2048; - }; - master = { config, pkgs, ... }: { - services.spark.master = { - enable = true; - bind = "0.0.0.0"; + master = { config, pkgs, ... }: { + services.spark = { + package = sparkPackage; + master = { + enable = true; + bind = "0.0.0.0"; + }; + }; + networking.firewall.allowedTCPPorts = [ 22 7077 8080 ]; }; - networking.firewall.allowedTCPPorts = [ 22 7077 8080 ]; }; - }; - testScript = '' - master.wait_for_unit("spark-master.service") - worker.wait_for_unit("spark-worker.service") - worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" ) - assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/") - worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py") - ''; -}) + testScript = '' + master.wait_for_unit("spark-master.service") + worker.wait_for_unit("spark-worker.service") + worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" ) + assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/") + worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py") + ''; + }); +in tests |