From dc68851233d08e5502b6788870d2ed11fb594870 Mon Sep 17 00:00:00 2001 From: Michael Zhang Date: Sun, 5 Sep 2021 04:47:34 -0500 Subject: [PATCH] add some tests --- .editorconfig | 3 +++ flake.nix | 6 +++--- tests/default.nix | 14 ++++++++++++++ tests/issue-1-non-unicode-paths.sh | 6 ++++++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 tests/default.nix create mode 100755 tests/issue-1-non-unicode-paths.sh diff --git a/.editorconfig b/.editorconfig index 4266da6..cb51778 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,3 +7,6 @@ trim_trailing_whitespace = true charset = utf-8 indent_style = space indent_size = 4 + +[*.nix] +indent_size = 2 diff --git a/flake.nix b/flake.nix index eb8be80..6e4361c 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ let pkgs = nixpkgs.legacyPackages.${system}; garbageProj = import ./Cargo.nix { inherit pkgs; }; - garbage; = pkgs.lib.recursiveUpdate garbageProj.rootCrate.build { + garbage = pkgs.lib.recursiveUpdate garbageProj.rootCrate.build { meta = { description = "CLI tool to interact with the FreeDesktop trash API."; mainProgram = "garbage"; @@ -16,12 +16,12 @@ }; flakePkgs = { inherit garbage; + tests = pkgs.callPackage ./tests { inherit garbage; }; }; in rec { packages = flake-utils.lib.flattenTree flakePkgs; + checks = { tests = packages.tests; }; defaultPackage = flakePkgs.garbage; }); } - -# vim: set ts=2 sw=2 : diff --git a/tests/default.nix b/tests/default.nix new file mode 100644 index 0000000..480ec03 --- /dev/null +++ b/tests/default.nix @@ -0,0 +1,14 @@ +{ stdenv, garbage }: + +stdenv.mkDerivation { + name = "garbage-tests"; + src = ./.; + + installPhase = "mkdir -p $out"; + doCheck = true; + + garbage = "${garbage}/bin/garbage"; + checkPhase = '' + find . -executable -name "*.sh" | xargs bash + ''; +} diff --git a/tests/issue-1-non-unicode-paths.sh b/tests/issue-1-non-unicode-paths.sh new file mode 100755 index 0000000..ac7dc2a --- /dev/null +++ b/tests/issue-1-non-unicode-paths.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +filename=$'\377'$'\017'$'\224'$'\353'\`$'\001' +touch $filename + +$garbage put $filename