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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//! Integration test suite for AGPM
//!
//! This test suite contains comprehensive end-to-end integration tests that verify
//! the complete functionality of AGPM commands and workflows. These tests run relatively
//! quickly and are executed in CI on every commit.
//!
//! # Running Integration Tests
//!
//! ```bash
//! cargo test --test integration
//! cargo nextest run --test integration
//! ```
//!
//! # Test Organization
//!
//! Tests are organized into logical subdirectories by functionality area:
//!
//! ## Transitive Dependencies (`transitive/`)
//! - **basic**: Basic transitive dependency resolution, diamond patterns, cycles
//! - **complex**: Complex dependency graphs and scenarios
//! - **cross_type**: Cross-type and cross-source transitive dependencies
//! - **local**: Local file transitive dependency resolution
//! - **merged**: Dependency merging and deduplication
//! - **overrides**: Direct manifest dependencies overriding transitive ones
//! - **patterns**: Pattern expansion in transitive dependencies
//! - **versions**: Version conflict and metadata resolution
//!
//! ## Lockfile Management (`lockfile/`)
//! - **checksums**: Checksum computation and validation
//! - **determinism**: Deterministic lockfile generation
//! - **migration**: Migration from older lockfile formats
//! - **stability**: Lockfile stability across operations
//! - **staleness**: Lockfile staleness detection
//!
//! ## Installation Workflows (`install/`)
//! - **basic**: Basic installation workflows (formerly deploy.rs)
//! - **cleanup**: Artifact cleanup and removal
//! - **incremental_add**: Incremental dependency addition
//! - **install_field**: Install field and content embedding functionality
//! - **multi_artifact**: Multiple artifact types
//! - **multi_resource**: Multiple resource management
//!
//! ## Incremental Resolution (`incremental/`)
//! - **basic**: Incremental update/resolution of specific dependencies
//!
//! ## Template Rendering (`templating/`)
//! - **basic**: Basic template rendering
//! - **content_filter**: Content filter (`{{ 'path' | content }}`) functionality
//! - **project_vars**: Project-level template variables in transitive dependencies
//! - **resource_vars**: Resource-specific template variables with transitive dependencies
//!
//! ## Version Management (`versioning/`)
//! - **basic**: Version constraint handling
//! - **outdated**: Outdated dependency detection
//! - **prefixed**: Prefixed version tags (monorepo-style)
//! - **progress**: Update progress reporting
//!
//! ## CLI Commands (`commands/`)
//! - **config**: Configuration management (test_config)
//! - **list**: List command functionality
//! - **tree**: Dependency tree visualization
//! - **upgrade**: Self-upgrade functionality
//! - **validate**: Validation command
//!
//! ## Pattern Matching (`patterns/`)
//! - **basic**: Basic pattern matching and expansion
//! - **refresh**: Dependency refresh and update logic
//!
//! ## Configuration (`config/`)
//! - **conflicts**: Version conflict detection
//! - **hooks**: Claude Code hooks integration
//! - **patches**: Patch/override functionality
//! - **tools**: Tool enable/disable management
//!
//! ## Skills (`skills/`)
//! - **basic**: Basic skill installation and management
//! - **patches**: Skill-specific patches
//! - **templates**: Skill template processing
//!
//! ## System Infrastructure (`system/`)
//! - **cache**: Cache and worktree management
//! - **cross_platform**: Cross-platform compatibility (Windows, macOS, Linux)
//! - **errors**: Error handling and edge cases
//! - **file_url**: file:// URL support
//! - **gitignore**: .gitignore management
//! - **parallelism**: --max-parallel flag behavior
// Shared test utilities (from parent tests/ directory)
// Test configuration (used by versioning tests)
// Test modules organized by functionality