From de3207828c0aaaf640dcbc7aa7a823f6c406384a Mon Sep 17 00:00:00 2001 From: Meik Selig <ms570458@fh-muenster.de> Date: Wed, 19 Feb 2020 11:51:58 +0100 Subject: [PATCH] build and run nix --- default.nix | 30 +++++++++++++++++++++++++++--- run.nix | 22 ++++++++++++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 run.nix diff --git a/default.nix b/default.nix index a69aa77..5a246a8 100644 --- a/default.nix +++ b/default.nix @@ -1,17 +1,41 @@ with import <nixpkgs> {}; -let build = import ./build.nix; +let + build = import ./build.nix; + run = import ./run.nix; in rec { calc = build { derivName = "calc"; target = "calc"; - buildDependencies = [coreutils]; output = "calc"; }; test = build { derivName = "test"; target = "unit_test"; - buildDependencies = [coreutils catch2]; + buildDependencies = [catch2]; output = "unit_test"; }; +fuzzCalc = build { + derivName = "fuzz_calc"; + target = "fuzz_calc"; + buildDependencies = [afl]; + output = "fuzz_calc"; +}; + +runTest = run { + derivName = "testResult"; + target = "unit_test"; + buildDependencies = [catch2]; + checkCommand = "make run_test"; + output = "unit_test"; +}; + +runFuzz = run { + derivName = "fuzzerResult"; + target = "fuzz_calc"; + buildDependencies = [afl]; + checkCommand = "bash fuzz_seconds.sh ${fuzzCalc}/bin/fuzz_calc"; + output = "out/*"; +}; + } \ No newline at end of file diff --git a/run.nix b/run.nix new file mode 100644 index 0000000..a2a6086 --- /dev/null +++ b/run.nix @@ -0,0 +1,22 @@ +{derivName, target, buildDependencies?[], checkCommand, output}: +let pkgs = import <nixpkgs> {}; +in +pkgs.stdenv.mkDerivation { + name = derivName; + src = ./.; + output = output; + buildInputs = buildDependencies; + checkCommand = checkCommand; + doCheck = true; + buildPhase = ''''; + + checkPhase = '' + ls -la + $checkCommand + ''; + + installPhase = '' + mkdir -p $out/ + cp -r $output $out/ + ''; +} \ No newline at end of file -- GitLab