From ef8ccd9d16143d37155d063747c69cade80f162d Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 3 Aug 2023 11:10:33 +0200 Subject: [PATCH] fix various tests to run properly on linux with `gix-archive`, let's just go with what the system produces by default and not rely on an archived version created on mac. --- gix-archive/tests/archive.rs | 60 ++++++++++++++----- gix-archive/tests/fixtures/basic.sh | 1 + .../fixtures/generated-archives/.gitignore | 1 + .../fixtures/generated-archives/basic.tar.xz | 3 - .../fixtures/make_attributes_baseline.sh | 0 gix-command/tests/command.rs | 10 ++-- .../fixtures/generation_number_overflow.sh | 0 .../fixtures/single_commit_huge_dates.sh | 0 .../config_with_worktree_extension.sh | 0 gix-config/tests/fixtures/make_config_repo.sh | 0 .../tests/fixtures/all-but-credentials.sh | 0 gix-credentials/tests/fixtures/fail.sh | 0 gix-credentials/tests/fixtures/last-pass.sh | 0 gix-credentials/tests/fixtures/password.sh | 0 gix-credentials/tests/fixtures/reflect.sh | 0 gix-credentials/tests/fixtures/url.sh | 0 gix-credentials/tests/fixtures/username.sh | 0 .../fixtures/generate_git_date_baseline.sh | 0 .../tests/fixtures/make_basic_repo.sh | 0 .../tests/fixtures/make_exfat_repo_darwin.sh | 0 .../tests/fixtures/make_submodules.sh | 0 gix-filter/tests/fixtures/baseline.sh | 1 + gix-filter/tests/fixtures/pipeline_repos.sh | 1 + gix-glob/tests/fixtures/make_baseline.sh | 0 ...ake_global_and_external_and_dir_ignores.sh | 0 .../tests/fixtures/make_index/V2_empty.sh | 0 gix-index/tests/fixtures/make_index/v2.sh | 0 .../fixtures/make_index/v2_all_file_kinds.sh | 0 .../fixtures/make_index/v2_more_files.sh | 0 .../make_index/v2_sparse_index_no_dirs.sh | 0 .../fixtures/make_index/v2_split_index.sh | 0 .../make_index/v2_split_index_recursive.sh | 0 .../make_index/v2_split_vs_regular_index.sh | 0 .../fixtures/make_index/v3_added_files.sh | 0 .../fixtures/make_index/v3_skip_worktree.sh | 0 .../fixtures/make_index/v3_sparse_index.sh | 0 .../make_index/v3_sparse_index_non_cone.sh | 0 .../fixtures/make_index/v4_more_files_IEOT.sh | 0 gix-negotiate/tests/fixtures/make_repos.sh | 0 gix-object/tests/fixtures/make_trees.sh | 0 gix-odb/tests/fixtures/make_alternates_odb.sh | 0 .../tests/fixtures/make_replaced_history.sh | 0 .../tests/fixtures/make_repo_multi_index.sh | 0 .../tests/fixtures/repo_with_loose_objects.sh | 0 .../fixtures/generate_pathspec_baseline.sh | 0 .../make_namespaced_packed_ref_repository.sh | 0 .../fixtures/make_packed_ref_repository.sh | 0 .../make_packed_ref_repository_for_overlay.sh | 0 .../make_packed_refs_for_lookup_rules.sh | 0 gix-ref/tests/fixtures/make_ref_repository.sh | 0 .../tests/fixtures/make_repo_for_reflog.sh | 0 ...ake_repository_with_lots_of_packed_refs.sh | 0 gix-ref/tests/fixtures/make_worktree_repo.sh | 0 gix-refspec/tests/fixtures/match_baseline.sh | 0 gix-refspec/tests/fixtures/parse_baseline.sh | 0 gix-revision/fuzz/Cargo.lock | 15 +++-- .../tests/fixtures/make_repo_with_branches.sh | 0 gix-traverse/tests/fixtures/make_repos.sh | 0 gix-worktree-stream/tests/fixtures/basic.sh | 1 + gix-worktree-stream/tests/stream.rs | 21 +++++-- .../fixtures/generated-archives/.gitignore | 2 + .../make_attributes_baseline.tar.xz | 3 - .../make_dangerous_symlink.tar.xz | 3 - .../fixtures/make_attributes_baseline.sh | 0 .../tests/fixtures/make_dangerous_symlink.sh | 0 .../make_ignore_and_attributes_setup.sh | 0 .../tests/fixtures/make_ignore_setup.sh | 0 .../fixtures/make_ignorecase_collisions.sh | 0 ...e_mixed_without_submodules_and_symlinks.sh | 0 .../fixtures/make_special_exclude_case.sh | 0 gix-worktree/tests/fixtures/racy_git.sh | 0 gix-worktree/tests/fixtures/status_changed.sh | 0 .../tests/fixtures/status_conflict.sh | 0 .../tests/fixtures/status_intent_to_add.sh | 0 gix-worktree/tests/fixtures/status_removed.sh | 0 .../tests/fixtures/status_unchanged.sh | 0 gix/tests/fixtures/make_am_repo.sh | 0 gix/tests/fixtures/make_basic_repo.sh | 0 gix/tests/fixtures/make_bisect_repo.sh | 0 gix/tests/fixtures/make_cherry_pick_repo.sh | 0 .../make_cherry_pick_sequence_repo.sh | 0 .../make_commit_describe_multiple_tags.sh | 0 .../fixtures/make_complex_shallow_repo.sh | 0 gix/tests/fixtures/make_config_repo.sh | 0 gix/tests/fixtures/make_config_repos.sh | 1 + gix/tests/fixtures/make_core_worktree_repo.sh | 0 gix/tests/fixtures/make_diff_repo.sh | 0 gix/tests/fixtures/make_empty_repo.sh | 0 gix/tests/fixtures/make_fetch_repos.sh | 1 + gix/tests/fixtures/make_merge_repo.sh | 0 gix/tests/fixtures/make_packed_and_loose.sh | 0 gix/tests/fixtures/make_pre_epoch_repo.sh | 0 gix/tests/fixtures/make_rebase_i_repo.sh | 0 gix/tests/fixtures/make_references_repo.sh | 0 gix/tests/fixtures/make_remote_repo.sh | 0 gix/tests/fixtures/make_remote_repos.sh | 1 + .../fixtures/make_repo_with_fork_and_dates.sh | 0 .../fixtures/make_rev_spec_parse_repos.sh | 0 gix/tests/fixtures/make_revert_repo.sh | 0 .../fixtures/make_revert_sequence_repo.sh | 0 gix/tests/fixtures/make_shallow_repo.sh | 0 gix/tests/fixtures/make_signatures_repo.sh | 0 gix/tests/fixtures/make_submodules.sh | 0 gix/tests/fixtures/make_worktree_repo.sh | 0 .../make_worktree_repo_with_configs.sh | 0 105 files changed, 84 insertions(+), 41 deletions(-) mode change 100644 => 100755 gix-archive/tests/fixtures/basic.sh create mode 100644 gix-archive/tests/fixtures/generated-archives/.gitignore delete mode 100644 gix-archive/tests/fixtures/generated-archives/basic.tar.xz mode change 100644 => 100755 gix-attributes/tests/fixtures/make_attributes_baseline.sh mode change 100644 => 100755 gix-commitgraph/tests/fixtures/generation_number_overflow.sh mode change 100644 => 100755 gix-commitgraph/tests/fixtures/single_commit_huge_dates.sh mode change 100644 => 100755 gix-config/tests/fixtures/config_with_worktree_extension.sh mode change 100644 => 100755 gix-config/tests/fixtures/make_config_repo.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/all-but-credentials.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/fail.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/last-pass.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/password.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/reflect.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/url.sh mode change 100644 => 100755 gix-credentials/tests/fixtures/username.sh mode change 100644 => 100755 gix-date/tests/fixtures/generate_git_date_baseline.sh mode change 100644 => 100755 gix-discover/tests/fixtures/make_basic_repo.sh mode change 100644 => 100755 gix-discover/tests/fixtures/make_exfat_repo_darwin.sh mode change 100644 => 100755 gix-discover/tests/fixtures/make_submodules.sh mode change 100644 => 100755 gix-filter/tests/fixtures/baseline.sh mode change 100644 => 100755 gix-filter/tests/fixtures/pipeline_repos.sh mode change 100644 => 100755 gix-glob/tests/fixtures/make_baseline.sh mode change 100644 => 100755 gix-ignore/tests/fixtures/make_global_and_external_and_dir_ignores.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/V2_empty.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2_all_file_kinds.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2_more_files.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2_sparse_index_no_dirs.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2_split_index.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2_split_index_recursive.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v2_split_vs_regular_index.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v3_added_files.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v3_skip_worktree.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v3_sparse_index.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v3_sparse_index_non_cone.sh mode change 100644 => 100755 gix-index/tests/fixtures/make_index/v4_more_files_IEOT.sh mode change 100644 => 100755 gix-negotiate/tests/fixtures/make_repos.sh mode change 100644 => 100755 gix-object/tests/fixtures/make_trees.sh mode change 100644 => 100755 gix-odb/tests/fixtures/make_alternates_odb.sh mode change 100644 => 100755 gix-odb/tests/fixtures/make_replaced_history.sh mode change 100644 => 100755 gix-odb/tests/fixtures/make_repo_multi_index.sh mode change 100644 => 100755 gix-odb/tests/fixtures/repo_with_loose_objects.sh mode change 100644 => 100755 gix-pathspec/tests/fixtures/generate_pathspec_baseline.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_namespaced_packed_ref_repository.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_packed_ref_repository.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_packed_ref_repository_for_overlay.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_packed_refs_for_lookup_rules.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_ref_repository.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_repo_for_reflog.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_repository_with_lots_of_packed_refs.sh mode change 100644 => 100755 gix-ref/tests/fixtures/make_worktree_repo.sh mode change 100644 => 100755 gix-refspec/tests/fixtures/match_baseline.sh mode change 100644 => 100755 gix-refspec/tests/fixtures/parse_baseline.sh mode change 100644 => 100755 gix-revision/tests/fixtures/make_repo_with_branches.sh mode change 100644 => 100755 gix-traverse/tests/fixtures/make_repos.sh mode change 100644 => 100755 gix-worktree-stream/tests/fixtures/basic.sh delete mode 100644 gix-worktree/tests/fixtures/generated-archives/make_attributes_baseline.tar.xz delete mode 100644 gix-worktree/tests/fixtures/generated-archives/make_dangerous_symlink.tar.xz mode change 100644 => 100755 gix-worktree/tests/fixtures/make_attributes_baseline.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/make_dangerous_symlink.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/make_ignore_and_attributes_setup.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/make_ignore_setup.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/make_ignorecase_collisions.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/make_mixed_without_submodules_and_symlinks.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/make_special_exclude_case.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/racy_git.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/status_changed.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/status_conflict.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/status_intent_to_add.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/status_removed.sh mode change 100644 => 100755 gix-worktree/tests/fixtures/status_unchanged.sh mode change 100644 => 100755 gix/tests/fixtures/make_am_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_basic_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_bisect_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_cherry_pick_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_cherry_pick_sequence_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_commit_describe_multiple_tags.sh mode change 100644 => 100755 gix/tests/fixtures/make_complex_shallow_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_config_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_config_repos.sh mode change 100644 => 100755 gix/tests/fixtures/make_core_worktree_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_diff_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_empty_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_fetch_repos.sh mode change 100644 => 100755 gix/tests/fixtures/make_merge_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_packed_and_loose.sh mode change 100644 => 100755 gix/tests/fixtures/make_pre_epoch_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_rebase_i_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_references_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_remote_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_remote_repos.sh mode change 100644 => 100755 gix/tests/fixtures/make_repo_with_fork_and_dates.sh mode change 100644 => 100755 gix/tests/fixtures/make_rev_spec_parse_repos.sh mode change 100644 => 100755 gix/tests/fixtures/make_revert_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_revert_sequence_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_shallow_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_signatures_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_submodules.sh mode change 100644 => 100755 gix/tests/fixtures/make_worktree_repo.sh mode change 100644 => 100755 gix/tests/fixtures/make_worktree_repo_with_configs.sh diff --git a/gix-archive/tests/archive.rs b/gix-archive/tests/archive.rs index 82b94e0a41b..bc91e23eb77 100644 --- a/gix-archive/tests/archive.rs +++ b/gix-archive/tests/archive.rs @@ -18,7 +18,7 @@ mod from_tree { #[test] fn basic_usage_internal() -> gix_testtools::Result { basic_usage(gix_archive::Format::InternalTransientNonPersistable, |buf| { - assert_eq!(buf.len(), 551); + assert_eq!(buf.len(), if cfg!(windows) { 565 } else { 551 }); let mut stream = gix_worktree_stream::Stream::from_read(std::io::Cursor::new(buf)); let mut paths_and_modes = Vec::new(); @@ -28,7 +28,12 @@ mod from_tree { entry.read_to_end(&mut buf).expect("stream can always be read"); } - let expected_extra_exe_mode = if cfg!(windows) { + let expected_link_mode = if cfg!(windows) { + EntryMode::Blob + } else { + EntryMode::Link + }; + let expected_exe_mode = if cfg!(windows) { EntryMode::Blob } else { EntryMode::BlobExecutable @@ -48,8 +53,12 @@ mod from_tree { ), ( "symlink-to-a".into(), - EntryMode::Link, - hex_to_id("2e65efe2a145dda7ee51d1741299f848e5bf752e") + expected_link_mode, + hex_to_id(if cfg!(windows) { + "45b983be36b73c0788dc9cbcb76cbb80fc7bb057" + } else { + "2e65efe2a145dda7ee51d1741299f848e5bf752e" + }) ), ( "dir/b".into(), @@ -58,7 +67,7 @@ mod from_tree { ), ( "dir/subdir/exe".into(), - EntryMode::BlobExecutable, + expected_exe_mode, hex_to_id("e69de29bb2d1d6434b8b29ae775ad8c2e48c5391") ), ( @@ -68,7 +77,7 @@ mod from_tree { ), ( "extra-exe".into(), - expected_extra_exe_mode, + expected_exe_mode, hex_to_id("0000000000000000000000000000000000000000") ), ( @@ -78,7 +87,7 @@ mod from_tree { ), ( "extra-dir/symlink-to-extra".into(), - EntryMode::Link, + expected_link_mode, hex_to_id("0000000000000000000000000000000000000000") ) ] @@ -111,19 +120,34 @@ mod from_tree { header.mode()?, )); } - let expected_extra_exe_mode = if cfg!(windows) { 420 } else { 493 }; + let expected_symlink_type = if cfg!(windows) { + EntryType::Regular + } else { + EntryType::Symlink + }; + let expected_exe_mode = if cfg!(windows) { 420 } else { 493 }; assert_eq!( out, [ ("prefix/.gitattributes", EntryType::Regular, 56, 420), ("prefix/a", EntryType::Regular, 3, 420), - ("prefix/symlink-to-a", EntryType::Symlink, 0, 420), + ( + "prefix/symlink-to-a", + expected_symlink_type, + if cfg!(windows) { 3 } else { 0 }, + 420 + ), ("prefix/dir/b", EntryType::Regular, 3, 420), - ("prefix/dir/subdir/exe", EntryType::Regular, 0, 493), + ("prefix/dir/subdir/exe", EntryType::Regular, 0, expected_exe_mode), ("prefix/extra-file", EntryType::Regular, 21, 420), - ("prefix/extra-exe", EntryType::Regular, 0, expected_extra_exe_mode), + ("prefix/extra-exe", EntryType::Regular, 0, expected_exe_mode), ("prefix/extra-dir-empty", EntryType::Directory, 0, 420), - ("prefix/extra-dir/symlink-to-extra", EntryType::Symlink, 0, 420) + ( + "prefix/extra-dir/symlink-to-extra", + expected_symlink_type, + if cfg!(windows) { 21 } else { 0 }, + 420 + ) ] .into_iter() .map(|(path, b, c, d)| (bstr::BStr::new(path).to_owned(), b, c, d)) @@ -155,8 +179,8 @@ mod from_tree { }, |buf| { assert!( - buf.len() < 1200, - "bigger than uncompressed for some reason: {} < 1200", + buf.len() < 1220, + "bigger than uncompressed for some reason: {} < 1220", buf.len() ); let mut ar = zip::ZipArchive::new(std::io::Cursor::new(buf.as_slice()))?; @@ -181,10 +205,14 @@ mod from_tree { let mut link = ar.by_name("prefix/symlink-to-a")?; assert!(!link.is_dir()); assert!(link.is_file(), "no symlink differentiation"); - assert_eq!(link.unix_mode(), Some(0o120644), "it's all in the mode"); + assert_eq!( + link.unix_mode(), + Some(if cfg!(windows) { 0o100644 } else { 0o120644 }), + "the mode specifies what it should be" + ); let mut buf = Vec::new(); link.read_to_end(&mut buf)?; - assert_eq!(buf.as_bstr(), "a"); + assert_eq!(buf.as_bstr(), if cfg!(windows) { "hi\n" } else { "a" }); Ok(()) }, ) diff --git a/gix-archive/tests/fixtures/basic.sh b/gix-archive/tests/fixtures/basic.sh old mode 100644 new mode 100755 index e9f3a7f4f1d..ea026738d0f --- a/gix-archive/tests/fixtures/basic.sh +++ b/gix-archive/tests/fixtures/basic.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail git init diff --git a/gix-archive/tests/fixtures/generated-archives/.gitignore b/gix-archive/tests/fixtures/generated-archives/.gitignore new file mode 100644 index 00000000000..830f66340cb --- /dev/null +++ b/gix-archive/tests/fixtures/generated-archives/.gitignore @@ -0,0 +1 @@ +basic.tar.xz diff --git a/gix-archive/tests/fixtures/generated-archives/basic.tar.xz b/gix-archive/tests/fixtures/generated-archives/basic.tar.xz deleted file mode 100644 index 817cdcc8260..00000000000 --- a/gix-archive/tests/fixtures/generated-archives/basic.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0deb139f62fcd2c3769b151b506d7a853e383d2e16d7ff4a12f46feb7aed24a5 -size 11208 diff --git a/gix-attributes/tests/fixtures/make_attributes_baseline.sh b/gix-attributes/tests/fixtures/make_attributes_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-command/tests/command.rs b/gix-command/tests/command.rs index cc1f5bda9dd..e2faa7fc929 100644 --- a/gix-command/tests/command.rs +++ b/gix-command/tests/command.rs @@ -31,17 +31,15 @@ mod spawn { #[test] #[cfg(unix)] fn disallow_shell() -> crate::Result { - let out = gix_command::prepare("echo hi") + let out = gix_command::prepare("PATH= echo hi") .with_shell() .spawn()? .wait_with_output()?; assert_eq!(out.stdout.as_bstr(), "hi\n"); + + let mut cmd: std::process::Command = gix_command::prepare("echo hi").with_shell().without_shell().into(); assert!( - gix_command::prepare("echo hi") - .with_shell() - .without_shell() - .spawn() - .is_err(), + cmd.env_remove("PATH").spawn().is_err(), "no command named 'echo hi' exists" ); Ok(()) diff --git a/gix-commitgraph/tests/fixtures/generation_number_overflow.sh b/gix-commitgraph/tests/fixtures/generation_number_overflow.sh old mode 100644 new mode 100755 diff --git a/gix-commitgraph/tests/fixtures/single_commit_huge_dates.sh b/gix-commitgraph/tests/fixtures/single_commit_huge_dates.sh old mode 100644 new mode 100755 diff --git a/gix-config/tests/fixtures/config_with_worktree_extension.sh b/gix-config/tests/fixtures/config_with_worktree_extension.sh old mode 100644 new mode 100755 diff --git a/gix-config/tests/fixtures/make_config_repo.sh b/gix-config/tests/fixtures/make_config_repo.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/all-but-credentials.sh b/gix-credentials/tests/fixtures/all-but-credentials.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/fail.sh b/gix-credentials/tests/fixtures/fail.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/last-pass.sh b/gix-credentials/tests/fixtures/last-pass.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/password.sh b/gix-credentials/tests/fixtures/password.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/reflect.sh b/gix-credentials/tests/fixtures/reflect.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/url.sh b/gix-credentials/tests/fixtures/url.sh old mode 100644 new mode 100755 diff --git a/gix-credentials/tests/fixtures/username.sh b/gix-credentials/tests/fixtures/username.sh old mode 100644 new mode 100755 diff --git a/gix-date/tests/fixtures/generate_git_date_baseline.sh b/gix-date/tests/fixtures/generate_git_date_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-discover/tests/fixtures/make_basic_repo.sh b/gix-discover/tests/fixtures/make_basic_repo.sh old mode 100644 new mode 100755 diff --git a/gix-discover/tests/fixtures/make_exfat_repo_darwin.sh b/gix-discover/tests/fixtures/make_exfat_repo_darwin.sh old mode 100644 new mode 100755 diff --git a/gix-discover/tests/fixtures/make_submodules.sh b/gix-discover/tests/fixtures/make_submodules.sh old mode 100644 new mode 100755 diff --git a/gix-filter/tests/fixtures/baseline.sh b/gix-filter/tests/fixtures/baseline.sh old mode 100644 new mode 100755 index c9db4ebfe42..c02b3c22aef --- a/gix-filter/tests/fixtures/baseline.sh +++ b/gix-filter/tests/fixtures/baseline.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail driver=${1:?First argument is the driver program supporting both process mode and clean/smudge} diff --git a/gix-filter/tests/fixtures/pipeline_repos.sh b/gix-filter/tests/fixtures/pipeline_repos.sh old mode 100644 new mode 100755 index 95999a466cc..e2f64f99e62 --- a/gix-filter/tests/fixtures/pipeline_repos.sh +++ b/gix-filter/tests/fixtures/pipeline_repos.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail (mkdir all-filters && cd all-filters diff --git a/gix-glob/tests/fixtures/make_baseline.sh b/gix-glob/tests/fixtures/make_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-ignore/tests/fixtures/make_global_and_external_and_dir_ignores.sh b/gix-ignore/tests/fixtures/make_global_and_external_and_dir_ignores.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/V2_empty.sh b/gix-index/tests/fixtures/make_index/V2_empty.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2.sh b/gix-index/tests/fixtures/make_index/v2.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2_all_file_kinds.sh b/gix-index/tests/fixtures/make_index/v2_all_file_kinds.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2_more_files.sh b/gix-index/tests/fixtures/make_index/v2_more_files.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2_sparse_index_no_dirs.sh b/gix-index/tests/fixtures/make_index/v2_sparse_index_no_dirs.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2_split_index.sh b/gix-index/tests/fixtures/make_index/v2_split_index.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2_split_index_recursive.sh b/gix-index/tests/fixtures/make_index/v2_split_index_recursive.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v2_split_vs_regular_index.sh b/gix-index/tests/fixtures/make_index/v2_split_vs_regular_index.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v3_added_files.sh b/gix-index/tests/fixtures/make_index/v3_added_files.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v3_skip_worktree.sh b/gix-index/tests/fixtures/make_index/v3_skip_worktree.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v3_sparse_index.sh b/gix-index/tests/fixtures/make_index/v3_sparse_index.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v3_sparse_index_non_cone.sh b/gix-index/tests/fixtures/make_index/v3_sparse_index_non_cone.sh old mode 100644 new mode 100755 diff --git a/gix-index/tests/fixtures/make_index/v4_more_files_IEOT.sh b/gix-index/tests/fixtures/make_index/v4_more_files_IEOT.sh old mode 100644 new mode 100755 diff --git a/gix-negotiate/tests/fixtures/make_repos.sh b/gix-negotiate/tests/fixtures/make_repos.sh old mode 100644 new mode 100755 diff --git a/gix-object/tests/fixtures/make_trees.sh b/gix-object/tests/fixtures/make_trees.sh old mode 100644 new mode 100755 diff --git a/gix-odb/tests/fixtures/make_alternates_odb.sh b/gix-odb/tests/fixtures/make_alternates_odb.sh old mode 100644 new mode 100755 diff --git a/gix-odb/tests/fixtures/make_replaced_history.sh b/gix-odb/tests/fixtures/make_replaced_history.sh old mode 100644 new mode 100755 diff --git a/gix-odb/tests/fixtures/make_repo_multi_index.sh b/gix-odb/tests/fixtures/make_repo_multi_index.sh old mode 100644 new mode 100755 diff --git a/gix-odb/tests/fixtures/repo_with_loose_objects.sh b/gix-odb/tests/fixtures/repo_with_loose_objects.sh old mode 100644 new mode 100755 diff --git a/gix-pathspec/tests/fixtures/generate_pathspec_baseline.sh b/gix-pathspec/tests/fixtures/generate_pathspec_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_namespaced_packed_ref_repository.sh b/gix-ref/tests/fixtures/make_namespaced_packed_ref_repository.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_packed_ref_repository.sh b/gix-ref/tests/fixtures/make_packed_ref_repository.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_packed_ref_repository_for_overlay.sh b/gix-ref/tests/fixtures/make_packed_ref_repository_for_overlay.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_packed_refs_for_lookup_rules.sh b/gix-ref/tests/fixtures/make_packed_refs_for_lookup_rules.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_ref_repository.sh b/gix-ref/tests/fixtures/make_ref_repository.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_repo_for_reflog.sh b/gix-ref/tests/fixtures/make_repo_for_reflog.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_repository_with_lots_of_packed_refs.sh b/gix-ref/tests/fixtures/make_repository_with_lots_of_packed_refs.sh old mode 100644 new mode 100755 diff --git a/gix-ref/tests/fixtures/make_worktree_repo.sh b/gix-ref/tests/fixtures/make_worktree_repo.sh old mode 100644 new mode 100755 diff --git a/gix-refspec/tests/fixtures/match_baseline.sh b/gix-refspec/tests/fixtures/match_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-refspec/tests/fixtures/parse_baseline.sh b/gix-refspec/tests/fixtures/parse_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-revision/fuzz/Cargo.lock b/gix-revision/fuzz/Cargo.lock index 7b928646b82..ba1c488361d 100644 --- a/gix-revision/fuzz/Cargo.lock +++ b/gix-revision/fuzz/Cargo.lock @@ -53,6 +53,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + [[package]] name = "gix-actor" version = "0.24.2" @@ -400,10 +406,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.22" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "libc", "num_threads", @@ -420,9 +427,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] diff --git a/gix-revision/tests/fixtures/make_repo_with_branches.sh b/gix-revision/tests/fixtures/make_repo_with_branches.sh old mode 100644 new mode 100755 diff --git a/gix-traverse/tests/fixtures/make_repos.sh b/gix-traverse/tests/fixtures/make_repos.sh old mode 100644 new mode 100755 diff --git a/gix-worktree-stream/tests/fixtures/basic.sh b/gix-worktree-stream/tests/fixtures/basic.sh old mode 100644 new mode 100755 index f265df938fa..2cdc44653b2 --- a/gix-worktree-stream/tests/fixtures/basic.sh +++ b/gix-worktree-stream/tests/fixtures/basic.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail git init diff --git a/gix-worktree-stream/tests/stream.rs b/gix-worktree-stream/tests/stream.rs index 72666c2587f..e70c5b11837 100644 --- a/gix-worktree-stream/tests/stream.rs +++ b/gix-worktree-stream/tests/stream.rs @@ -103,11 +103,16 @@ mod from_tree { } } - let expected_extra_exe_mode = if cfg!(windows) { + let expected_exe_mode = if cfg!(windows) { EntryMode::Blob } else { EntryMode::BlobExecutable }; + let expected_link_mode = if cfg!(windows) { + EntryMode::Blob + } else { + EntryMode::Link + }; assert_eq!( paths_and_modes, &[ @@ -128,8 +133,12 @@ mod from_tree { ), ( "symlink-to-a".into(), - EntryMode::Link, - hex_to_id("2e65efe2a145dda7ee51d1741299f848e5bf752e") + expected_link_mode, + hex_to_id(if cfg!(windows) { + "45b983be36b73c0788dc9cbcb76cbb80fc7bb057" + } else { + "2e65efe2a145dda7ee51d1741299f848e5bf752e" + }) ), ( "dir/.gitattributes".into(), @@ -143,7 +152,7 @@ mod from_tree { ), ( "dir/subdir/exe".into(), - EntryMode::BlobExecutable, + expected_exe_mode, hex_to_id("e69de29bb2d1d6434b8b29ae775ad8c2e48c5391") ), ( @@ -163,7 +172,7 @@ mod from_tree { ), ( "extra-exe".into(), - expected_extra_exe_mode, + expected_exe_mode, hex_to_id("0000000000000000000000000000000000000000") ), ( @@ -173,7 +182,7 @@ mod from_tree { ), ( "extra-dir/symlink-to-extra".into(), - EntryMode::Link, + expected_link_mode, hex_to_id("0000000000000000000000000000000000000000") ) ] diff --git a/gix-worktree/tests/fixtures/generated-archives/.gitignore b/gix-worktree/tests/fixtures/generated-archives/.gitignore index 821826d4140..e8d0fd48dce 100644 --- a/gix-worktree/tests/fixtures/generated-archives/.gitignore +++ b/gix-worktree/tests/fixtures/generated-archives/.gitignore @@ -1,5 +1,7 @@ make_ignore_and_attributes_setup.tar.xz make_mixed_without_submodules.tar.xz make_mixed_without_submodules_and_symlinks.tar.xz +make_attributes_baseline.tar.xz +make_dangerous_symlink.tar.xz status_unchanged.tar.xz status_changed.tar.xz diff --git a/gix-worktree/tests/fixtures/generated-archives/make_attributes_baseline.tar.xz b/gix-worktree/tests/fixtures/generated-archives/make_attributes_baseline.tar.xz deleted file mode 100644 index e719e511826..00000000000 --- a/gix-worktree/tests/fixtures/generated-archives/make_attributes_baseline.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d2ebee1d749247762ab430489d42d5c52791a590f6672e289ebe8319d9e64417 -size 11872 diff --git a/gix-worktree/tests/fixtures/generated-archives/make_dangerous_symlink.tar.xz b/gix-worktree/tests/fixtures/generated-archives/make_dangerous_symlink.tar.xz deleted file mode 100644 index 16fa0a5d7c6..00000000000 --- a/gix-worktree/tests/fixtures/generated-archives/make_dangerous_symlink.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f212da41fec29fff9a8e9782f0c9d268ed2c9141be3a3d6ef20b9e985beab01d -size 10452 diff --git a/gix-worktree/tests/fixtures/make_attributes_baseline.sh b/gix-worktree/tests/fixtures/make_attributes_baseline.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/make_dangerous_symlink.sh b/gix-worktree/tests/fixtures/make_dangerous_symlink.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/make_ignore_and_attributes_setup.sh b/gix-worktree/tests/fixtures/make_ignore_and_attributes_setup.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/make_ignore_setup.sh b/gix-worktree/tests/fixtures/make_ignore_setup.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/make_ignorecase_collisions.sh b/gix-worktree/tests/fixtures/make_ignorecase_collisions.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/make_mixed_without_submodules_and_symlinks.sh b/gix-worktree/tests/fixtures/make_mixed_without_submodules_and_symlinks.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/make_special_exclude_case.sh b/gix-worktree/tests/fixtures/make_special_exclude_case.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/racy_git.sh b/gix-worktree/tests/fixtures/racy_git.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/status_changed.sh b/gix-worktree/tests/fixtures/status_changed.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/status_conflict.sh b/gix-worktree/tests/fixtures/status_conflict.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/status_intent_to_add.sh b/gix-worktree/tests/fixtures/status_intent_to_add.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/status_removed.sh b/gix-worktree/tests/fixtures/status_removed.sh old mode 100644 new mode 100755 diff --git a/gix-worktree/tests/fixtures/status_unchanged.sh b/gix-worktree/tests/fixtures/status_unchanged.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_am_repo.sh b/gix/tests/fixtures/make_am_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_basic_repo.sh b/gix/tests/fixtures/make_basic_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_bisect_repo.sh b/gix/tests/fixtures/make_bisect_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_cherry_pick_repo.sh b/gix/tests/fixtures/make_cherry_pick_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_cherry_pick_sequence_repo.sh b/gix/tests/fixtures/make_cherry_pick_sequence_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_commit_describe_multiple_tags.sh b/gix/tests/fixtures/make_commit_describe_multiple_tags.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_complex_shallow_repo.sh b/gix/tests/fixtures/make_complex_shallow_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_config_repo.sh b/gix/tests/fixtures/make_config_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_config_repos.sh b/gix/tests/fixtures/make_config_repos.sh old mode 100644 new mode 100755 index 2c0a206c353..447a7a72e07 --- a/gix/tests/fixtures/make_config_repos.sh +++ b/gix/tests/fixtures/make_config_repos.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail git init http-config diff --git a/gix/tests/fixtures/make_core_worktree_repo.sh b/gix/tests/fixtures/make_core_worktree_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_diff_repo.sh b/gix/tests/fixtures/make_diff_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_empty_repo.sh b/gix/tests/fixtures/make_empty_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_fetch_repos.sh b/gix/tests/fixtures/make_fetch_repos.sh old mode 100644 new mode 100755 index af77c24d025..99c9acf0749 --- a/gix/tests/fixtures/make_fetch_repos.sh +++ b/gix/tests/fixtures/make_fetch_repos.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail # IMPORTANT: keep this repo small as it's used for writes, hence will be executed for each writer! diff --git a/gix/tests/fixtures/make_merge_repo.sh b/gix/tests/fixtures/make_merge_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_packed_and_loose.sh b/gix/tests/fixtures/make_packed_and_loose.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_pre_epoch_repo.sh b/gix/tests/fixtures/make_pre_epoch_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_rebase_i_repo.sh b/gix/tests/fixtures/make_rebase_i_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_references_repo.sh b/gix/tests/fixtures/make_references_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_remote_repo.sh b/gix/tests/fixtures/make_remote_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_remote_repos.sh b/gix/tests/fixtures/make_remote_repos.sh old mode 100644 new mode 100755 index 5bcdbe9e069..f174ef52736 --- a/gix/tests/fixtures/make_remote_repos.sh +++ b/gix/tests/fixtures/make_remote_repos.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu -o pipefail function tick () { diff --git a/gix/tests/fixtures/make_repo_with_fork_and_dates.sh b/gix/tests/fixtures/make_repo_with_fork_and_dates.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_rev_spec_parse_repos.sh b/gix/tests/fixtures/make_rev_spec_parse_repos.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_revert_repo.sh b/gix/tests/fixtures/make_revert_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_revert_sequence_repo.sh b/gix/tests/fixtures/make_revert_sequence_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_shallow_repo.sh b/gix/tests/fixtures/make_shallow_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_signatures_repo.sh b/gix/tests/fixtures/make_signatures_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_submodules.sh b/gix/tests/fixtures/make_submodules.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_worktree_repo.sh b/gix/tests/fixtures/make_worktree_repo.sh old mode 100644 new mode 100755 diff --git a/gix/tests/fixtures/make_worktree_repo_with_configs.sh b/gix/tests/fixtures/make_worktree_repo_with_configs.sh old mode 100644 new mode 100755