feat: add interactive startup wizard#868
Conversation
|
I like the idea tbh. I remember myself trying it for the first time. |
|
Thanks for the positive feedback. I also followed up on the GitHub Advanced Security note by documenting the larger startup wizard flow in the latest commit ( Current status on the latest head:
|
There was a problem hiding this comment.
Pull request overview
Adds an interactive startup wizard that runs when SIPp is launched with no arguments on an interactive terminal, guiding users to build common -sn / -sf command lines while preserving the existing help behavior for non-interactive no-argument runs.
Changes:
- Introduces a startup wizard (scenario/transport/target/load prompts) and translates answers into normal argv-style options.
- Updates
main()to invoke the wizard only for interactive no-argument launches. - Extends help text to mention the no-argument invocation.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {"branchs", "Embedded server branching scenario.", false, false}, | ||
| {"uac_pcap", "Embedded UAC scenario with PCAP media playback.", true, false}, | ||
| {"custom", "Custom XML scenario file.", false, true}, |
| if (!remote_host_value.empty()) { | ||
| args.push_back(remote_host_value); | ||
| } |
| if (i != 0) { | ||
| std::cout << " "; | ||
| } | ||
| std::cout << args[i]; |
| "\n" | ||
| "Example:\n" | ||
| "\n" | ||
| " Launch the interactive startup wizard:\n" |
1cc8466 to
278362b
Compare
|
@darwvin-dev I rebased it for you. Can you address copilot's comments? |
|
Thanks for the feedback. I've addressed all of the suggested changes in I also did a local verification pass:
All tests passed ( |
wdoekes
left a comment
There was a problem hiding this comment.
Quick item that caught my eye:
…ents fix: simplify startup wizard command quoting
Summary:
Start an interactive startup wizard when SIPp is launched without arguments on an interactive terminal. The wizard helps users build common -sn and -sf command lines and preserves the existing help behavior for non-interactive no-argument runs.
Reasoning:
Launching SIPp without arguments is a common first-touch path, especially for users who are exploring the built-in scenarios or validating a new build. Today that path drops straight to the generic help output, which is complete but still leaves the user to translate their intent into a working command line.
This wizard is meant to reduce that startup friction without changing batch or scripted behavior. It only runs when both stdin and stdout are interactive, it keeps the current help path for non-interactive usage, and it only offers scenario and transport choices that are supported by the current build.
What is included:
What is not included: