diff options
Diffstat (limited to 'internal/cli/cli.go')
| -rw-r--r-- | internal/cli/cli.go | 21 |
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) |
