1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
//! What:
//! Consumer-level controls that start the built native executable.
//! Why:
//! Forwarding,
//! self-exclusion,
//! policy decisions and refusals are promises about the
//! program a caller runs as `git`,
//! so they are checked through that program
//! against real Git 2.56.0,
//! never only through library functions.
//!
//! In TS you'd write (pseudocode):
//! ```ts
//! // const wrapped = spawnSync(join(fixture, 'bin/git'), ['--version'], { env });
//! ```
#![cfg(unix)]
/// Fixtures and bounded process helpers shared by every binary-level control.
#[path = "binary_support.rs"]
mod support;
/// Exact forwarding of arguments,
/// streams,
/// exit codes,
/// signals and environment.
#[path = "binary_forwarding_tests.rs"]
mod forwarding;
/// Wrapper self-exclusion and recursion prevention on PATH.
#[path = "binary_resolution_tests.rs"]
mod resolution;
/// Configuration loading and the read-only fast path.
#[path = "binary_policy_tests.rs"]
mod policy;
/// Wrapper controls,
/// escape hatches and commands Git refuses.
#[path = "binary_controls_tests.rs"]
mod controls;
/// The refusal frontier:
/// commands that need work this executable does not do.
#[path = "binary_frontier_tests.rs"]
mod frontier;
/// The pre-forward built-in policies and the fixed transforms.
#[path = "binary_builtin_tests.rs"]
mod builtin;
/// `markdown/autofix` with the linter built from this repository,
/// a missing one and a failing one.
#[path = "binary_markdown_tests.rs"]
mod markdown;
/// `pathBytes` and `changedPathBytes` for a file whose name is not UTF-8.
#[path = "binary_event_path_tests.rs"]
mod event_path;
/// The `git cli-git` management namespace.
#[path = "binary_management_tests.rs"]
mod management;
#[path = "binary_coordination_tests.rs"]
mod coordination;
#[path = "binary_hook_tests.rs"]
mod hook;
/// The dependent-version policy on direct check and fix.
#[path = "binary_dependent_version_tests.rs"]
mod dependent_version;
#[path = "binary_landing_support.rs"]
mod landing_support;
#[path = "binary_landing_tests.rs"]
mod landing;
#[path = "binary_landing_crash_tests.rs"]
mod landing_crash;
/// Real commits through the transaction: landing, policies, replay and conflict.
#[path = "binary_commit_tests.rs"]
mod commit;
/// `pathBytes` for a file whose name is not UTF-8 through the commit path.
#[path = "binary_event_path_commit_tests.rs"]
mod event_path_commit;
/// The linked-worktree ignored-state copy: the rules file reaches new worktrees, and an interrupted copy recovers.
#[path = "binary_worktree_copy_tests.rs"]
mod worktree_copy;
/// The environment of the Git children the auto-push and the manual-push probe start.
#[path = "binary_push_environment_tests.rs"]
mod push_environment;