summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/version-management/sit
diff options
context:
space:
mode:
authorYurii Rashkovskii <yrashk@gmail.com>2018-05-07 13:33:51 -0700
committerYurii Rashkovskii <yrashk@gmail.com>2018-05-07 13:33:51 -0700
commit783d547bddf66070b3a33b1fd4b972d945e5942c (patch)
tree6da3897a967f3f4345944f7b8cfe945b174d3068 /pkgs/applications/version-management/sit
parent17fe52a6c741ec7265d402c41e9419e903126fe8 (diff)
sit: fix tests on aarch64
As we found out in #40032, sit tests won't pass on aarch64. The problem seems to be related to `create_dir` not returning an error if the directory already exists, happening specifically on aarch64+debug (not aarch64+release) This update injects a patch for tests that will also be included in subsequent versions of SIT.
Diffstat (limited to 'pkgs/applications/version-management/sit')
-rw-r--r--pkgs/applications/version-management/sit/aarch64-eexist.patch17
-rw-r--r--pkgs/applications/version-management/sit/default.nix2
2 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/sit/aarch64-eexist.patch b/pkgs/applications/version-management/sit/aarch64-eexist.patch
new file mode 100644
index 000000000000..8b45e77d040d
--- /dev/null
+++ b/pkgs/applications/version-management/sit/aarch64-eexist.patch
@@ -0,0 +1,17 @@
+diff --git a/sit-core/src/repository.rs b/sit-core/src/repository.rs
+index ebd357d..074dcc9 100644
+--- a/sit-core/src/repository.rs
++++ b/sit-core/src/repository.rs
+@@ -305,6 +305,12 @@ impl Repository {
+ let id: String = name.into();
+ let mut path = self.items_path.clone();
+ path.push(&id);
++ #[cfg(all(debug_assertions, target_arch = "aarch64"))] {
++ use std::io;
++ if path.is_dir() {
++ return Err(io::Error::from_raw_os_error(17).into()); // 17 is EEXIST
++ }
++ }
+ fs::create_dir(path)?;
+ let id = OsString::from(id);
+ Ok(Item {
diff --git a/pkgs/applications/version-management/sit/default.nix b/pkgs/applications/version-management/sit/default.nix
index 0cc75f8bd5a3..ae84add283e6 100644
--- a/pkgs/applications/version-management/sit/default.nix
+++ b/pkgs/applications/version-management/sit/default.nix
@@ -15,6 +15,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "102haqix13nwcncng1s8qkw68spn6fhh3vysk2nbahw6f78zczqg";
+ patches = [ ./aarch64-eexist.patch ];
+
meta = with stdenv.lib; {
description = "Serverless Information Tracker";
homepage = https://sit.sh/;