diff --git a/pkgs/by-name/cd/cdxgen/package.nix b/pkgs/by-name/cd/cdxgen/package.nix index f962b51cac5e..6acc880e371f 100644 --- a/pkgs/by-name/cd/cdxgen/package.nix +++ b/pkgs/by-name/cd/cdxgen/package.nix @@ -8,6 +8,10 @@ fetchPnpmDeps, pnpmConfigHook, stdenv, + + # tests + runCommand, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "cdxgen"; @@ -55,6 +59,24 @@ stdenv.mkDerivation (finalAttrs: { find $out -xtype l -print -delete ''; + passthru.tests = { + version = testers.testVersion { + package = finalAttrs.finalPackage; + }; + + sbom = + runCommand "${finalAttrs.pname}-${finalAttrs.version}-test-sbom" + { + nativeBuildInputs = [ finalAttrs.finalPackage ]; + } + '' + pushd ${finalAttrs.src}/test/repotests/npm-smoke + cdxgen -t npm -o $out/bom.json . + grep -q '"bomFormat"' "$out/bom.json" + popd + ''; + }; + meta = { description = "Creates CycloneDX Software Bill-of-Materials (SBOM) for your projects from source and container images"; mainProgram = "cdxgen";