From 68fcd657d65ac19901248c0905b4e62db7b5100c Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Wed, 26 Aug 2026 15:33:08 +0000 Subject: [PATCH] feat(xce-test-rc-file): task 2.1 add --norc flag to xce_test Adds struct arguments.norc, a --norc argp option, OPT_NORC (matching main.c's OPT_PEERS/OPT_CONF_KEEP_N idiom), and its parse_opt case to test.c. Parsing/recording only -- no wiring into main()'s control flow or rcfile.c yet (task 2.2). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01AgYRU3zDTqNGV5Jk8aiKLg --- .kiro/specs/xce-test-rc-file/tasks.md | 2 +- src/controller/testsuite/test.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.kiro/specs/xce-test-rc-file/tasks.md b/.kiro/specs/xce-test-rc-file/tasks.md index d13aeeaf..ba03fe6d 100644 --- a/.kiro/specs/xce-test-rc-file/tasks.md +++ b/.kiro/specs/xce-test-rc-file/tasks.md @@ -17,7 +17,7 @@ - _Requirements: 1.2, 1.3_ - [ ] 2. Core: xce_test startup integration -- [ ] 2.1 Add a flag that skips rc-file loading for a single invocation +- [x] 2.1 Add a flag that skips rc-file loading for a single invocation - Register the flag with xce_test's existing command-line option parsing so it is documented in xce_test's own help output - When the flag is given, record that rc-file loading should be skipped for this run - Observable: xce_test's help output lists the new flag with a description, and invoking xce_test with the flag parses successfully and records the skip state (verified directly, independent of task 2.2's wiring) diff --git a/src/controller/testsuite/test.c b/src/controller/testsuite/test.c index da339386..e79df2d2 100644 --- a/src/controller/testsuite/test.c +++ b/src/controller/testsuite/test.c @@ -667,12 +667,18 @@ static char args_doc[] = ""; const char* argp_program_version = NULL; const char* argp_program_bug_address = BUG_EMAIL; +/* Long-option key (above ASCII to avoid collisions with short opts) -- + * mirrors src/controller/main.c's OPT_PEERS/OPT_CONF_KEEP_N idiom. */ +#define OPT_NORC 256 + struct arguments { int verbose; + int norc; }; static struct argp_option options[] = { { "verbose", 'v', 0, 0, "Produce verbose logs" }, + { "norc", OPT_NORC, 0, 0, "Skip loading the rc file for this invocation" }, { 0 } }; @@ -684,6 +690,9 @@ static error_t parse_opt(int key, char* arg, struct argp_state* state) case 'v': arguments->verbose++; break; + case OPT_NORC: + arguments->norc = 1; + break; default: return ARGP_ERR_UNKNOWN; }