Skip to content

Commit ca7540c

Browse files
committed
resolved more integration test issues
1 parent 14c75e3 commit ca7540c

File tree

15 files changed

+561
-102
lines changed

15 files changed

+561
-102
lines changed

.roo/mcp.json

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,51 @@
11
{
22
"mcpServers": {
33
"context7": {
4-
"alwaysAllow": [
5-
"resolve-library-id",
6-
"get-library-docs"
7-
],
8-
"args": [
9-
"--bun",
10-
"@upstash/context7-mcp@latest"
11-
],
4+
"alwaysAllow": ["resolve-library-id", "get-library-docs"],
5+
"args": ["--bun", "@upstash/context7-mcp@latest"],
126
"command": "bunx",
137
"type": "stdio"
148
},
159
"fetch": {
16-
"args": [
17-
"mcp-server-fetch"
18-
],
19-
"command": "uvx"
10+
"args": ["mcp-server-fetch"],
11+
"command": "uvx",
12+
"alwaysAllow": ["fetch"]
2013
},
2114
"sequential-thinking": {
22-
"alwaysAllow": [
23-
"sequentialthinking"
24-
],
25-
"args": [
26-
"--bun",
27-
"@modelcontextprotocol/server-sequential-thinking"
28-
],
15+
"alwaysAllow": ["sequentialthinking"],
16+
"args": ["--bun", "@modelcontextprotocol/server-sequential-thinking"],
2917
"command": "bunx",
3018
"type": "stdio"
3119
},
3220
"filesystem": {
3321
"command": "npx",
22+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "~/submod"],
23+
"alwaysAllow": [
24+
"read_file",
25+
"read_multiple_files",
26+
"write_file",
27+
"edit_file",
28+
"create_directory",
29+
"list_directory",
30+
"directory_tree",
31+
"move_file",
32+
"search_files",
33+
"get_file_info",
34+
"list_allowed_directories"
35+
]
36+
},
37+
"mem0-memory-mcp": {
38+
"command": "bunx",
3439
"args": [
35-
"-y",
36-
"@modelcontextprotocol/server-filesystem",
37-
"~/submod"
40+
"--bun",
41+
"@smithery/cli@latest",
42+
"run",
43+
"@mem0ai/mem0-memory-mcp",
44+
"--key",
45+
"${env:MEM0}",
46+
"--profile",
47+
"${env:SMITHERY_PROFILE}"
3848
]
3949
}
4050
}
41-
}
51+
}

.vscode/mcp.json

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@
2828
"command": "uvx"
2929
},
3030
"filesystem": {
31-
"args": ["--bun", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"],
31+
"args": [
32+
"--bun",
33+
"@modelcontextprotocol/server-filesystem",
34+
"${workspaceFolder}"
35+
],
3236
"command": "bunx"
3337
},
3438
"github-remote": {
@@ -62,8 +66,15 @@
6266
"--key",
6367
"${env:MEM0}",
6468
"--profile",
65-
"${env:SMITHERY_PROFILE}",
69+
"${env:SMITHERY_PROFILE}"
6670
]
71+
},
72+
"tavily": {
73+
"command": "bunx",
74+
"args": ["--bun", "tavily-mcp@latest"],
75+
"env": {
76+
"TAVILY_API_KEY": "${env:tavily_api_key}"
77+
}
6778
}
6879
},
6980

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ cargo build
8282
cargo test
8383

8484
# Run the comprehensive test suite
85-
./scripts/run_tests.sh
85+
./scripts/run-tests.sh
8686
```
8787

8888
### 4. Install Development Tools
@@ -172,13 +172,13 @@ My philosophy on testing is to "test what matters." Tests focus on integration a
172172
cargo test
173173

174174
# Comprehensive test suite with reporting
175-
./scripts/run_tests.sh --verbose
175+
./scripts/run-tests.sh --verbose
176176

177177
# Include performance tests
178-
./scripts/run_tests.sh --performance
178+
./scripts/run-tests.sh --performance
179179

180180
# Filter specific tests
181-
./scripts/run_tests.sh --filter sparse_checkout
181+
./scripts/run-tests.sh --filter sparse_checkout
182182
```
183183

184184
### Writing Tests
@@ -235,7 +235,7 @@ fn test_submod_init_command() {
235235
Before submitting your PR, ensure:
236236

237237
- [ ] **Code compiles** without warnings
238-
- [ ] **All tests pass** (`./scripts/run_tests.sh`)
238+
- [ ] **All tests pass** (`./scripts/run-tests.sh`)
239239
- [ ] **Code is formatted** (`cargo fmt`)
240240
- [ ] **Lints pass** (`cargo clippy`)
241241
- [ ] **Documentation is updated** if needed
@@ -266,7 +266,7 @@ Brief description of the changes and motivation.
266266
## Testing
267267
- [ ] I have added tests that prove my fix is effective or that my feature works
268268
- [ ] New and existing unit tests pass locally with my changes
269-
- [ ] I have run the full test suite (`./scripts/run_tests.sh`)
269+
- [ ] I have run the full test suite (`./scripts/run-tests.sh`)
270270

271271
## Checklist
272272
- [ ] My code follows the project's style guidelines

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ edition = "2024"
55
rust-version = "1.87"
66
description = "Git submodule manager with sparse checkout support using gitoxide"
77
authors = ["Adam Poulemanos <[email protected]>"]
8+
license = "MIT" # Plain MIT license: plainlicense.org/licenses/permissive/mit/
9+
810
resolver = "3"
911

1012
[dependencies]
@@ -31,6 +33,10 @@ thiserror = "2.0.12"
3133
git2 = { version = "0.20.2", optional = true }
3234

3335

36+
[lib]
37+
name = "submod"
38+
path = "src/lib.rs"
39+
3440
[[bin]]
3541
name = "submod"
3642
path = "src/main.rs"

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ cargo build
254254
cargo test
255255
256256
# Or use the comprehensive test runner
257-
./scripts/run_tests.sh --verbose
257+
./scripts/run-tests.sh --verbose
258258
```
259259
260260
### Running Tests
@@ -267,13 +267,13 @@ cargo test
267267
cargo test --test integration_tests
268268
269269
# Run with the test script for better reporting
270-
./scripts/run_tests.sh
270+
./scripts/run-tests.sh
271271
272272
# Run performance tests
273-
./scripts/run_tests.sh --performance
273+
./scripts/run-tests.sh --performance
274274
275275
# Filter specific tests
276-
./scripts/run_tests.sh --filter sparse_checkout
276+
./scripts/run-tests.sh --filter sparse_checkout
277277
```
278278
279279
### Project Structure
@@ -300,7 +300,7 @@ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) f
300300
1. **Fork the repository**
301301
2. **Create a feature branch**: `git checkout -b feature/amazing-feature`
302302
3. **Make your changes** and add tests if applicable (test anything that has a result)
303-
4. **Run the test suite**: `./scripts/run_tests.sh`
303+
4. **Run the test suite**: `./scripts/run-tests.sh`
304304
5. **Commit your changes**: `git commit -m 'Add amazing feature'`
305305
6. **Push to your branch**: `git push origin feature/amazing-feature`
306306
7. **Open a Pull Request**

mise.toml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11
[tools]
2-
bun = "latest"
3-
cargo-binstall = "latest"
4-
rust = "1.87"
2+
bun = "latest" # We use bun to run mcp tool development servers. Totally optional, but helpful.
3+
cargo-binstall = "latest" # For installing binaries from crates.io
4+
"cargo:cargo-audit" = "latest"
5+
"cargo:cargo-deny" = "latest"
6+
"cargo:cargo-nextest" = "latest"
7+
"cargo:cargo-watch" = "latest"
8+
rust = "1.87" # The minimum Rust version we support; mise just makes sure it's there.
9+
uv = "latest" # Another runner for MCP servers.
10+
11+
[env]
12+
CARGO_TARGET_DIR = "target"
13+
RUST_BACKTRACE = "1"
14+
RUST_TEST_THREADS=1
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ else
8787
cargo build --bin submod > /dev/null 2>&1
8888
fi
8989

90+
# Force Rust tests to run serially to avoid git submodule race conditions
91+
export RUST_TEST_THREADS=1
92+
9093
if [[ $? -eq 0 ]]; then
9194
print_success "Build completed successfully"
9295
else

src/commands.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Reset {
4242
#[arg(short, long)]
4343
all: bool,
4444
/// Specific submodule names to reset
45+
#[arg(required_unless_present = "all")]
4546
names: Vec<String>,
4647
},
4748
/// Run full sync: check, init, update

0 commit comments

Comments
 (0)