summaryrefslogtreecommitdiff
path: root/internal/cli/cli.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cli/cli.go')
-rw-r--r--internal/cli/cli.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/cli/cli.go b/internal/cli/cli.go
index 076d46b..7d5a05c 100644
--- a/internal/cli/cli.go
+++ b/internal/cli/cli.go
@@ -74,6 +74,9 @@ func (a *App) Run() error {
}
}
return namespace.VerifyArguments(a.Args)
+ case "test-lifecycle":
+ pm := a.getPathManager()
+ return a.verifyLifecycle(pm)
}
}
@@ -447,6 +450,24 @@ func (a *App) handleProfileDelete(name string) error {
return nil
}
+func (a *App) verifyLifecycle(pm *paths.PathManager) error {
+ profile := "default"
+ for i := 0; i < len(a.Args)-1; i++ {
+ if a.Args[i] == "--profile" && i+1 < len(a.Args) {
+ profile = a.Args[i+1]
+ break
+ }
+ }
+
+ activePid, err := namespace.FindActiveProfilePid(pm, profile)
+ if err != nil || activePid <= 0 {
+ return fmt.Errorf("no active session found for profile %s", profile)
+ }
+
+ fmt.Printf("Active session found for profile %s (PID: %d)\n", profile, activePid)
+ return nil
+}
+
func (a *App) showConfig() error {
cfg := &config.Config{}
fs := flag.NewFlagSet("wg-wrap", flag.ExitOnError)