From a298710dd197273d45208fb572e328abad5ed6a9 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 9 Dec 2020 13:01:56 +0100 Subject: [PATCH] cassandra: Add passthru.tests --- nixos/tests/all-tests.nix | 5 ++++- nixos/tests/cassandra.nix | 10 ++++++---- pkgs/servers/nosql/cassandra/2.1.nix | 1 + pkgs/servers/nosql/cassandra/2.2.nix | 5 +++-- pkgs/servers/nosql/cassandra/3.0.nix | 1 + pkgs/servers/nosql/cassandra/3.11.nix | 1 + pkgs/servers/nosql/cassandra/generic.nix | 17 ++++++++++++++++- 7 files changed, 32 insertions(+), 8 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 807a4bcdd9b..33b03cd9284 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -49,7 +49,10 @@ in cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {}; cage = handleTest ./cage.nix {}; cagebreak = handleTest ./cagebreak.nix {}; - cassandra = handleTest ./cassandra.nix {}; + cassandra_2_1 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_2_1; }; + cassandra_2_2 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_2_2; }; + cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; }; + cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; }; ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {}; ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {}; certmgr = handleTest ./certmgr.nix {}; diff --git a/nixos/tests/cassandra.nix b/nixos/tests/cassandra.nix index 05607956a9d..bef3105f0a9 100644 --- a/nixos/tests/cassandra.nix +++ b/nixos/tests/cassandra.nix @@ -1,7 +1,5 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ({ pkgs, lib, testPackage ? pkgs.cassandra, ... }: let - # Change this to test a different version of Cassandra: - testPackage = pkgs.cassandra; clusterName = "NixOS Automated-Test Cluster"; testRemoteAuth = lib.versionAtLeast testPackage.version "3.11"; @@ -47,7 +45,7 @@ let }; in { - name = "cassandra"; + name = "cassandra-${testPackage.version}"; meta = { maintainers = with lib.maintainers; [ johnazoidberg ]; }; @@ -128,4 +126,8 @@ in "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass2'" ) ''; + + passthru = { + inherit testPackage; + }; }) diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix index 76c1130c469..4511fbcd040 100644 --- a/pkgs/servers/nosql/cassandra/2.1.nix +++ b/pkgs/servers/nosql/cassandra/2.1.nix @@ -3,4 +3,5 @@ callPackage ./generic.nix (args // { version = "2.1.22"; sha256 = "1wk57dz0kmc6d5y8d8dkx269lzh3ark3751z734gxncwdlclcyz3"; + generation = "2_1"; }) diff --git a/pkgs/servers/nosql/cassandra/2.2.nix b/pkgs/servers/nosql/cassandra/2.2.nix index 919fb44ee2e..5cec13e4cd1 100644 --- a/pkgs/servers/nosql/cassandra/2.2.nix +++ b/pkgs/servers/nosql/cassandra/2.2.nix @@ -1,6 +1,7 @@ { callPackage, ... } @ args: callPackage ./generic.nix (args // { - version = "2.2.19"; - sha256 = "1f8axpxxpmzlb22k3lqsnw3096qjp6xd36brvq5xbdk698jw15jl"; + version = "2.2.14"; + sha256 = "1b2x3q1ach44qg07sh8wr7d8a10n36w5522drd3p35djbiwa3d9q"; + generation = "2_2"; }) diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix index bb81d0ca791..72af03af1d8 100644 --- a/pkgs/servers/nosql/cassandra/3.0.nix +++ b/pkgs/servers/nosql/cassandra/3.0.nix @@ -3,4 +3,5 @@ callPackage ./generic.nix (args // { version = "3.0.23"; sha256 = "0cbia20bggq85q2p6gsybw045qdfqxd5xv8ihppq1hwl21sb2klz"; + generation = "3_0"; }) diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix index 8ade5aac030..15e11145d59 100644 --- a/pkgs/servers/nosql/cassandra/3.11.nix +++ b/pkgs/servers/nosql/cassandra/3.11.nix @@ -3,4 +3,5 @@ callPackage ./generic.nix (args // { version = "3.11.9"; sha256 = "1ckaacc1z0j72llklrc4587ia6a0pab02bdyac6g3kl6kqvcz40c"; + generation = "3_11"; }) diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix index 97c7341c76d..fc8bdf26e90 100644 --- a/pkgs/servers/nosql/cassandra/generic.nix +++ b/pkgs/servers/nosql/cassandra/generic.nix @@ -1,5 +1,9 @@ { stdenv, fetchurl, python, makeWrapper, gawk, bash, getopt, procps -, which, jre, version, sha256, coreutils, ... +, which, jre, coreutils, nixosTests +# generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11 +, generation +, version, sha256 +, ... }: let @@ -83,6 +87,17 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin ''; + passthru = { + tests = + let + test = nixosTests."cassandra_${generation}"; + in { + nixos = + assert test.testPackage.version == version; + test; + }; + }; + meta = with stdenv.lib; { homepage = "http://cassandra.apache.org/"; description = "A massively scalable open source NoSQL database";