test(scripts): cover a missing or malformed --compose command in wait_for_cubrid
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
Research direction
Read tests/test_wait_for_cubrid.py and its existing wait() helper, then inspect scripts/wait_for_cubrid.py to confirm the reported behavior and CLI errors. Add bounded tests for a missing executable, an empty --compose value, and an unparsable value, checking the specified exit codes and stderr. Run python -m pytest tests/test_wait_for_cubrid.py -q; done means all three cases pass without changing the script unless a confirmed bug is reported.
Written by the indexing model from the issue text.
Description
Problem and evidence (main f034ab8, 2026-10-23)
scripts/wait_for_cubrid.py (run by make up) handles three input errors that tests/test_wait_for_cubrid.py does not cover:
- A
--composeexecutable that does not exist: theOSErrorstops the probe loop on the first attempt instead of retrying until--timeout. The script printsCUBRID readiness failed ...: [Errno 2] ...and aCompose ... diagnostics failedline forpsandlogs, then exits 1. - An empty
--compose '': exits 2 with--compose must name an executable. - An unparsable
--compose '"unbalanced': exits 2 with theshlexerror (No closing quotation).
Reproduction:
python3 scripts/wait_for_cubrid.py --compose /nonexistent/compose --timeout 5 # exits 1 in well under 5 s
python3 scripts/wait_for_cubrid.py --compose '' # exits 2
python3 scripts/wait_for_cubrid.py --compose '"unbalanced' # exits 2
Files / scope
tests/test_wait_for_cubrid.py(test-only)
Acceptance criteria
- A missing
--composeexecutable exits 1 well before--timeout. stderr names the error and reports that both diagnostics failed. - An empty
--composeand an unparsable--composeeach exit 2 with the argparse error, and no compose process runs. - Reuse the existing
wait()helper or the same subprocess pattern, and keep each test bounded by a timeout like the existing tests. - No change to
scripts/wait_for_cubrid.py, unless a confirmed bug is found and reported first.
Validation
python -m pytest tests/test_wait_for_cubrid.py -q
make check test
No database or Docker is needed. Include Docs: not needed - test-only change in the PR body.
New contributor guidance
Human-led contributors may submit a PR for an unassigned good first issue without prior approval or Assignee rights, after checking existing claims and PRs. Maintainer-operated autonomous agents still need explicit authorization for this specific issue.
- Dominant language
- Python
- Stars
- 28
- Forks
- 9
- Avg merge
- 8h 25m
- Merged PRs (30d)
- 183
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cubrid-lab/cubrid-cookbook-python
-
good first issue priority: low size: S testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
cubrid-lab/cubrid-cookbook-python#364 · 1 comment ·
Maintainers usually reply within 1 day
-
docs(agents): clarify tool-neutral reviews and verified cookbook evidencePossibly taken @yeongseon claimed this today. Openchore priority: low size: S
cubrid-lab/cubrid-cookbook-python#491 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
good first issue priority: low size: S testing
cubrid-lab/cubrid-cookbook-python#490 ·
Maintainers usually reply within 1 day
-
good first issue priority: low size: S testing
cubrid-lab/cubrid-cookbook-python#489 ·
Maintainers usually reply within 1 day
-
good first issue priority: low size: S testing
cubrid-lab/cubrid-cookbook-python#488 ·
Maintainers usually reply within 1 day
All issues in cubrid-lab/cubrid-cookbook-python
Similar issues
-
Project submission:Open
Difficulty 1/5 Under an hour Newbie friendliness 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainers usually reply within 1 day
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryPossibly taken A pull request linked to this issue is open or already merged. Opendifficulty:2 enhancement good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
MakazhanAlpamys/Soup#2178 ·
Maintainers usually reply within 1 day
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
scverse/rapids-singlecell#854 ·
Maintainers usually reply within 1 day
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLPossibly taken @ninglinLiu claimed this today. Openarea:frontend backend:slang bug direction:input
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalsePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 13 days