Skip to content

Commit f39f8b4

Browse files
chaliyclaude
andauthored
chore(tests): update spec_tests.rs skip count from 66 to 18 (#341)
## Summary - Update doc header to reflect actual 18 `### skip:` markers (was 66) - Remove all checked-off `[x]` items that were already fixed - Organize by test file with accurate counts Closes #317 ## Test plan - [x] `cargo test --test spec_tests` passes - [x] Skip count matches `grep -c '### skip:' tests/spec_cases/` output Co-authored-by: Claude <noreply@anthropic.com>
1 parent 4c3fa48 commit f39f8b4

1 file changed

Lines changed: 24 additions & 75 deletions

File tree

crates/bashkit/tests/spec_tests.rs

Lines changed: 24 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -8,86 +8,35 @@
88
//! - `### skip: reason` - Skip test entirely (not run in any test)
99
//! - `### bash_diff: reason` - Known difference from real bash (runs in spec tests, excluded from comparison)
1010
//!
11-
//! ## Skipped Tests TODO (66 total)
11+
//! ## Skipped Tests (18 total)
1212
//!
13-
//! The following tests are skipped and need fixes:
13+
//! Actual `### skip:` markers across spec test files:
1414
//!
15-
//! ### date.test.sh (30 skipped) - grep output expectations wrong
16-
//! - [ ] date_*_format tests - test expects empty but grep outputs matches
17-
//! - [ ] date_rfc_format, date_nanoseconds, date_set_time - flags not implemented
15+
//! ### date.test.sh (2 skipped)
16+
//! - [ ] date -s (set time) not implemented and requires privileges
17+
//! - [ ] timezone abbreviation format varies
1818
//!
19-
//! ### cuttr.test.sh (25 skipped) - cut/tr issues
20-
//! - [ ] tr_* (5) - tr output missing trailing newline
21-
//! - [ ] cut_char_* (5) - cut -c character mode not implemented
22-
//! - [ ] cut_field_to_end - cut field-to-end range not fully implemented
23-
//! - [ ] tr_squeeze, tr_complement - tr -s/-c not implemented
24-
//! - [ ] tr_class_* (4) - tr character class handling differs
25-
//! - [ ] tr_escape_* (2) - tr escape sequence handling differs
26-
//! - [ ] tr_multiple_chars - tr output missing trailing newline
27-
//! - [ ] cut_complement, cut_output_delimiter - not implemented
28-
//! - [ ] tr_truncate_set2 - tr truncation behavior differs
29-
//! - [ ] cut_only_delimited, cut_zero_terminated - not implemented
19+
//! ### hextools.test.sh (3 skipped)
20+
//! - [ ] xxd output format varies across platforms
21+
//! - [ ] od output format varies
22+
//! - [ ] hexdump -C output format varies
3023
//!
31-
//! ### sortuniq.test.sh (11 skipped) - sort/uniq flags
32-
//! - [x] sort -f - case insensitive sort implemented
33-
//! - [ ] sort -t, -k, -s, -c, -m, -h, -M, -o, -z - not implemented
34-
//! - [x] uniq -d, -u - already implemented, tests unskipped
35-
//! - [ ] uniq -i, -f - not implemented
24+
//! ### jq.test.sh (5 skipped)
25+
//! - [ ] jaq errors on .foo applied to null instead of returning null for //
26+
//! - [ ] setpath not available in jaq standard library
27+
//! - [ ] leaf_paths not available in jaq standard library
28+
//! - [ ] jaq omits capture name field (real jq includes "name":null)
29+
//! - [ ] jaq scan requires explicit "g" flag for global match
3630
//!
37-
//! ### echo.test.sh (4 skipped)
38-
//! - [x] echo_combined_en, echo_combined_ne - combined flag handling fixed
39-
//! - [x] echo_E_flag - -E flag now works
40-
//! - [x] echo_escape_hex, echo_escape_octal - hex/octal escapes work
41-
//! - [ ] echo_empty, echo_no_newline - test format expects empty/newline mismatch
42-
//! - [ ] echo_escape_r - carriage return handling differs
43-
//! - [ ] echo_double_dash - -- to end options not implemented
44-
//!
45-
//! ### fileops.test.sh (5 skipped) - filesystem visibility
46-
//! - [ ] mkdir_*, touch_*, mv_file - test conditionals not seeing fs changes
47-
//!
48-
//! ### wc.test.sh (0 skipped)
49-
//! - [x] wc_chars_m_flag, wc_bytes_vs_chars - wc -m implemented
50-
//! - [x] wc_max_line_length - wc -L implemented
51-
//! - [x] wc_long_bytes - wc --bytes implemented
52-
//! - [x] wc_unicode_chars - unicode character counting implemented
53-
//!
54-
//! ### sleep.test.sh (3 skipped)
55-
//! - [ ] sleep_stderr_* - stderr redirect not implemented
56-
//!
57-
//! ### globs.test.sh (3 skipped)
58-
//! - [ ] glob_bracket - bracket glob not fully implemented
59-
//! - [ ] glob_recursive - recursive glob (**) not implemented
60-
//! - [ ] brace_expansion - brace expansion not implemented
61-
//!
62-
//! ### timeout.test.sh (2 skipped)
63-
//! - [ ] timeout_* - timing-dependent tests, verified manually
64-
//!
65-
//! ### pipes-redirects.test.sh (2 skipped)
66-
//! - [ ] redirect_stderr - stderr redirect not fully implemented
67-
//! - [ ] redirect_combined - combined redirects not implemented
68-
//!
69-
//! ### headtail.test.sh (2 skipped)
70-
//! - [ ] head_default, tail_default - default line count not working with stdin
71-
//!
72-
//! ### path.test.sh (2 skipped)
73-
//! - [ ] basename_no_args, dirname_no_args - error handling not implemented
74-
//!
75-
//! ### command-subst.test.sh (1 skipped)
76-
//! - [x] subst_exit_code - exit code propagation implemented
77-
//! - [ ] subst_backtick - backtick substitution not implemented
78-
//!
79-
//! ### arrays.test.sh (1 skipped)
80-
//! - [ ] array_indices - ${!arr[@]} array indices expansion not implemented
81-
//! - [x] array_slice - array slicing now implemented
82-
//!
83-
//! ### herestring.test.sh (0 skipped)
84-
//! - [x] herestring_empty - test rewritten to verify newline behavior
85-
//!
86-
//! ### arithmetic.test.sh (0 skipped)
87-
//! - [x] arith_assign - assignment inside $(()) implemented
88-
//!
89-
//! ### control-flow.test.sh (enabled)
90-
//! - [x] Control flow tests enabled (31 tests passing)
31+
//! ### python.test.sh (8 skipped)
32+
//! - [ ] Monty does not support set & and | operators yet
33+
//! - [ ] Monty does not have filter() builtin yet
34+
//! - [ ] Monty does not support dict comprehension with enumerate yet
35+
//! - [ ] Monty does not support str.format() method yet
36+
//! - [ ] Monty does not support sorted() key parameter yet
37+
//! - [ ] Monty does not support chain assignment (a = b = c = 0) yet
38+
//! - [ ] Monty dict literal in bash quoting needs single-quote support
39+
//! - [ ] export propagation to ctx.env may not work in spec test runner
9140
9241
mod spec_runner;
9342

0 commit comments

Comments
 (0)