pintest-cli 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/PKG-INFO +1 -1
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/cli.py +30 -5
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/config.py +3 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest_cli.egg-info/PKG-INFO +1 -1
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/setup.py +1 -1
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/README.md +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/__init__.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/build_mapping_iterative.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/cloud_mapping_db.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/coverage_mapper.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/git_diff_parser.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/post_commit_hook.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/pre_commit_hook.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/range_set.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/test_mapping_db_v2.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest/update_mapping.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest_cli.egg-info/SOURCES.txt +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest_cli.egg-info/dependency_links.txt +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest_cli.egg-info/entry_points.txt +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest_cli.egg-info/requires.txt +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/pintest_cli.egg-info/top_level.txt +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/setup.cfg +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/tests/__init__.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/tests/test_git_diff_parser.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/tests/test_new_feature.py +0 -0
- {pintest_cli-0.2.0 → pintest_cli-0.2.2}/tests/test_range_set.py +0 -0
|
@@ -274,16 +274,27 @@ def cmd_build_mapping(args):
|
|
|
274
274
|
repo_root = args.repo_root.resolve()
|
|
275
275
|
mapping_db = args.mapping_db or (repo_root / ".test_mapping.db")
|
|
276
276
|
|
|
277
|
+
# Load config to get default test_dir if it was saved during track
|
|
278
|
+
from .config import Config
|
|
279
|
+
cfg = Config.load()
|
|
280
|
+
default_test_dir = "tests"
|
|
281
|
+
if cfg.is_cloud_enabled and getattr(cfg.cloud, "test_dir", None):
|
|
282
|
+
default_test_dir = cfg.cloud.test_dir
|
|
283
|
+
|
|
284
|
+
# Use args.test_dir if explicitly provided and not the default "tests", otherwise use config
|
|
285
|
+
final_test_dir = args.test_dir if args.test_dir != "tests" else default_test_dir
|
|
286
|
+
|
|
277
287
|
sys.exit(build_mapping_iteratively(
|
|
278
288
|
repo_root,
|
|
279
289
|
mapping_db,
|
|
290
|
+
test_dir=final_test_dir,
|
|
280
291
|
verbose=args.verbose
|
|
281
292
|
))
|
|
282
293
|
|
|
283
294
|
|
|
284
295
|
def cmd_login(args):
|
|
285
296
|
"""Authenticate with Pintest and save API key to ~/.pintest/config.toml."""
|
|
286
|
-
from .config import Config, CloudConfig
|
|
297
|
+
from .config import Config, CloudConfig, CONFIG_FILE
|
|
287
298
|
|
|
288
299
|
api_url = args.api_url.rstrip("/")
|
|
289
300
|
|
|
@@ -339,7 +350,7 @@ def cmd_login(args):
|
|
|
339
350
|
cfg.cloud = CloudConfig(api_key=api_key, api_url=api_url)
|
|
340
351
|
cfg.save()
|
|
341
352
|
|
|
342
|
-
print(f"\n✅ Logged in! Config saved to {
|
|
353
|
+
print(f"\n✅ Logged in! Config saved to {CONFIG_FILE}")
|
|
343
354
|
print(f" Next step: pintest track")
|
|
344
355
|
|
|
345
356
|
|
|
@@ -391,6 +402,14 @@ def cmd_track(args):
|
|
|
391
402
|
except (KeyboardInterrupt, EOFError):
|
|
392
403
|
print("\n❌ Cancelled")
|
|
393
404
|
sys.exit(1)
|
|
405
|
+
|
|
406
|
+
try:
|
|
407
|
+
test_dir = input("📁 Test directory [tests]: ").strip()
|
|
408
|
+
if not test_dir:
|
|
409
|
+
test_dir = "tests"
|
|
410
|
+
except (KeyboardInterrupt, EOFError):
|
|
411
|
+
print("\n❌ Cancelled")
|
|
412
|
+
sys.exit(1)
|
|
394
413
|
|
|
395
414
|
cfg = Config.load()
|
|
396
415
|
if not cfg.is_cloud_enabled:
|
|
@@ -437,12 +456,13 @@ def cmd_track(args):
|
|
|
437
456
|
repo = resp.json()
|
|
438
457
|
repo_id = repo["id"]
|
|
439
458
|
|
|
440
|
-
# Save repo_id and
|
|
459
|
+
# Save repo_id, branch, and test_dir to config
|
|
441
460
|
cfg.cloud.repo_id = repo_id
|
|
442
461
|
cfg.cloud.branch = branch
|
|
462
|
+
cfg.cloud.test_dir = test_dir
|
|
443
463
|
cfg.save()
|
|
444
|
-
|
|
445
|
-
print(f"
|
|
464
|
+
|
|
465
|
+
print(f"✅ Success! Repository mapped to {branch} branch")
|
|
446
466
|
print(f" Name: {repo['name']}")
|
|
447
467
|
print(f" ID: {repo_id}")
|
|
448
468
|
print(f" Branch: {branch}")
|
|
@@ -597,6 +617,11 @@ Examples:
|
|
|
597
617
|
type=Path,
|
|
598
618
|
help="Path to mapping database (default: <repo>/.test_mapping.db)"
|
|
599
619
|
)
|
|
620
|
+
build_parser.add_argument(
|
|
621
|
+
"--test-dir",
|
|
622
|
+
default="tests",
|
|
623
|
+
help="Directory containing tests (default: tests)"
|
|
624
|
+
)
|
|
600
625
|
build_parser.add_argument(
|
|
601
626
|
"-v", "--verbose",
|
|
602
627
|
action="store_true",
|
|
@@ -25,6 +25,7 @@ class CloudConfig:
|
|
|
25
25
|
api_url: str = "https://api.pintest.dev"
|
|
26
26
|
repo_id: Optional[str] = None
|
|
27
27
|
branch: str = "main"
|
|
28
|
+
test_dir: str = "tests"
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
@dataclass
|
|
@@ -51,6 +52,7 @@ class Config:
|
|
|
51
52
|
api_url=cloud_data.get("api_url", "https://api.pintest.dev"),
|
|
52
53
|
repo_id=cloud_data.get("repo_id"),
|
|
53
54
|
branch=cloud_data.get("branch", "main"),
|
|
55
|
+
test_dir=cloud_data.get("test_dir", "tests"),
|
|
54
56
|
)
|
|
55
57
|
else:
|
|
56
58
|
cloud = None
|
|
@@ -70,6 +72,7 @@ class Config:
|
|
|
70
72
|
if self.cloud.repo_id:
|
|
71
73
|
lines.append(f'repo_id = "{self.cloud.repo_id}"')
|
|
72
74
|
lines.append(f'branch = "{self.cloud.branch}"')
|
|
75
|
+
lines.append(f'test_dir = "{self.cloud.test_dir}"')
|
|
73
76
|
lines.append("")
|
|
74
77
|
|
|
75
78
|
CONFIG_FILE.write_text("\n".join(lines))
|
|
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="pintest-cli",
|
|
8
|
-
version="0.2.
|
|
8
|
+
version="0.2.2",
|
|
9
9
|
description="Run only the tests affected by your code changes.",
|
|
10
10
|
long_description=long_description,
|
|
11
11
|
long_description_content_type="text/markdown",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|