feat(job-array-one-based-index): harness jobsub -a numbers arrays from 1 (task 4.1)
jobsub -a parses its value strictly (digits only, leading zeros ok): 1 submits an ordinary job; 2..32767 allocate with idgen_array, whose result is checked; missing, non-digit and 0 values are refused with the 1-32767 range and values above 32767 with the limit, submitting nothing. The success line and $jobid name the array identity; the random sequence seed is bounded so the first array cannot overflow; help text updated. Fixes bug-1896 for the harness. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
7aa00f0d9d
commit
d2c87f185a
6 changed files with 228 additions and 16 deletions
|
|
@ -69,7 +69,7 @@
|
|||
- _Depends: 1.1_
|
||||
|
||||
- [ ] 4. Test harness
|
||||
- [ ] 4.1 Submit harness arrays numbered from 1 (fixes bug-1896 for the harness)
|
||||
- [x] 4.1 Submit harness arrays numbered from 1 (fixes bug-1896 for the harness)
|
||||
- Parse `-a` strictly (digits only, leading zeros allowed): 1 submits an ordinary job; 2..32767 allocate with the new array allocator and check its result; missing, non-digit, 0 and above-32767 values are refused with the accepted range or limit, submitting nothing
|
||||
- Bound the random sequence seed so the first array of a run cannot overflow
|
||||
- Print the array identity on success and set `$jobid` to it; update the jobsub help text
|
||||
|
|
@ -241,3 +241,4 @@
|
|||
- 1.2: `REGEX_JOBID`, `REGEX_JOBARRAY_ID` and `N_MAX_FIELDS_JOBID` (`src/include/config.h`) are now unused, and comments still describe regex-based `parse_jobid` in `src/scheduler/src/repl.c:143`, `src/harness/testsuite/test_test_cli.c:2324-2326` and `src/frontend/xcecli/common/format/jobid.go:86-93`; clean these up in 4.3 / 8.1 / 9.x where those files are touched. A direct `parse_jobid("...[0]")` accept test is a cheap addition when next touching `test_jobsel.c`.
|
||||
- 1.3: plain `idgen()` still has no sequence-overflow guard; after `idgen_array` takes block 31 the context sequence is 2^20, so a plain `idgen()` in the same second would spill into the timestamp (pre-existing class). Add an `-EOVERFLOW` check to plain `idgen()` in 9.1.
|
||||
- 2.2: two extra XCE_TESTING seams exist (`jobsubmit_test_release_hook`, `jobsubmit_inflight_try_add_for_test`); the controller test fixture has no WAL, so async commit-failure runs synchronously inside handle_jobsubmit — reuse it in 2.3. Stale comment at `src/controller/testsuite/test_commit_barrier_reply.c:1458` (claims release via jobsubmit_async_ctx_release) — fix in 2.3.
|
||||
- 4.1: after `jobsub -a N`, `$jobid` is the array identity, so `expect-job $jobid` currently reports not found; 4.3 must make it behave per 4.7/4.9 (not-found hint naming `<array-id>[k]`, or exact-ID match). Nit for 4.3: the `refused` early return in `cmd_jobsub` sits between the bug-786 ack comment and the code it describes — move it above the comment.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue