Daniel Shahaf
5a44d9f32a
tests: Record current behaviour on global aliases.
2020-03-19 05:04:15 +00:00
Daniel Shahaf
ea7c165b59
test harness: Rewrite the columnar pretty-printer without external tools.
2020-03-19 05:01:54 +00:00
Daniel Shahaf
90a92b2bb8
test harness: Fix an issue with the pretty-printed $expected_region_highlight/$region_highlight diffing.
...
If the right column was longer, the excess entries were printed on the left column.
2020-03-19 05:01:54 +00:00
Daniel Shahaf
fdf23e06c7
'main': Support the "close file descriptor" and "coproc" redirection syntaxes
...
Part of issue #645 .
2020-03-19 03:15:37 +00:00
Daniel Shahaf
10171731f3
tests: Add a test for the "close file descriptor" and "coproc" redirection syntaxes
...
Part of issue #645 .
2020-03-19 03:14:15 +00:00
Daniel Shahaf
dfc41123d7
tests: Fix the test added in the last commit.
2020-03-19 02:30:58 +00:00
Daniel Shahaf
d6defe715a
tests: Add a test for issue #705 , concerning continuation lines.
2020-03-19 01:39:33 +00:00
Daniel Shahaf
3ff5bec82e
test harness: Let tests fail early by exiting non-zero or by setting a flag.
...
Fixes #609 .
2020-03-19 00:37:21 +00:00
Daniel Shahaf
c4bb260a30
test harness: Print the test name when $skip_test is set.
2020-03-19 00:16:09 +00:00
Daniel Shahaf
9bdeb4aa4a
test harness: Remove a bogus check.
...
We already declare $expected_region_highlight in run_test_internal().
Therefore, it will always be declared.
2020-03-19 00:03:24 +00:00
Daniel Shahaf
63852df983
test harness: Fix $skip_test support, broken yesterday.
...
It was broken by commit e6eea1f9b7
,
"test harness: Don't leak options from test files to the test harness.".
2020-03-19 00:00:51 +00:00
Daniel Shahaf
66021cf0f7
travis: Install bsdmainutils to provide column(1).
...
See the last commit,
bdb4e8b70e
test harness: When the cardinality check fails, pretty-print \$expected_region_highlight and \$region_highlight.
2020-03-17 17:17:51 +00:00
Daniel Shahaf
0f627fdf60
Merge remote-tracking branch 'danielsh/whitespace-historical'
...
* danielsh/whitespace-historical:
Fix historical instances of one-space indentation.
2020-03-17 17:08:06 +00:00
Daniel Shahaf
bdb4e8b70e
test harness: When the cardinality check fails, pretty-print \$expected_region_highlight and \$region_highlight.
2020-03-17 17:06:32 +00:00
Daniel Shahaf
e6eea1f9b7
test harness: Don't leak options from test files to the test harness.
...
Fixes an issue whereby the '# TODO "issue #687 "' directive in the output of
opt-shwordsplit1.zsh was truncated, because the test itself had set the
SH_WORD_SPLIT option and that affected the evaluation of
«${(z)expected_region_highlight[i]}» in the test harness.
Furthermore, this patch also independently fixes the error under
zsh-5.0.8 and earlier that was fixed by the previous commit.
2020-03-17 16:48:57 +00:00
Daniel Shahaf
99389327ae
test harness: Fix test failures under zsh 5.0.8 and older.
...
The output of test-data/opt-shwordsplit1.zsh on zsh 5.7 is:
.
1..2
## opt-shwordsplit1
# BUFFER=vim
not ok 1 - [1,7] «$EDITOR» - expected (1 7 "function"), observed (1 7 "unknown-token"). # TODO "issue
ok 2 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail
On zsh 5.0.8, tap_escape() choked when called on the arguments argv=('[1,7]'
'«vim»'). This patch fixes that.
As you may have noticed, under zsh 5.7 the diagnostic message of test point 1
is truncated. That'll be fixed in the next commit.
2020-03-17 16:22:56 +00:00
Daniel Shahaf
e165f18c75
'main': Fix a bug manifesting under zsh 5.2 and older.
...
The escaped caret was taken for a negated character class. This caused test-data/arith1.zsh
to XPass: the arithmetic expansion was consumed by the 'while' loop.
2020-03-17 16:13:32 +00:00
Daniel Shahaf
d237a60c9b
'main': Don't highlight arithmetic expansions as command substitutions.
...
This is not perfect: we don't try to detect cases such as «$((ls); (ls))»,
which look like arithmetic expansions but are in fact command substitutions.
Fixes part of #607 .
Introduces #704 .
2020-03-17 15:05:32 +00:00
Daniel Shahaf
2e65bb6d7d
tests: Add a test documenting the current state, prior to introducing #704 .
2020-03-17 15:05:32 +00:00
Daniel Shahaf
61c1cfe99f
test harness: Change cardinality check semantics
...
The cardinality check shall —
- if the test sets \$expected_mismatch, be XFail;
- elif any test points is XFail, be skipped;
- else, be expected to pass.
To test this, change «6 * 9» to «6 + 9» in test-data/arith1.zsh that
will be added in the after-next (grandchild) commit.
2020-03-17 15:05:22 +00:00
Daniel Shahaf
ea2f1060f6
test harness: No-op change to minimize the next diff.
2020-03-17 15:05:22 +00:00
Daniel Shahaf
e79ce6afd0
'main': Document additional meanings of the 'S' $braces_stack flag.
2020-03-17 14:12:00 +00:00
Daniel Shahaf
fb69f4ca81
'main': When the redirection operator '>&' or '<&' is followed by a positive integer, do not consider that as a filename; it's always a file descriptor.
...
Fixes #694 .
2020-03-17 04:00:43 +00:00
Daniel Shahaf
1024ae8177
'main': Add $last_arg for "lookbehind".
2020-03-17 03:58:15 +00:00
Daniel Shahaf
5720d87052
noop: Clarify comment.
2020-03-17 03:48:40 +00:00
Daniel Shahaf
2339ee33b9
'main': Honour the MULTIOS option when applying the 'globbing' style.
...
Fixes #583 .
2020-03-17 03:32:58 +00:00
Daniel Shahaf
61945185ff
'main': Document what $in_redirection is currently used for.
2020-03-17 03:18:27 +00:00
Daniel Shahaf
936bc251a8
'main': The optimized cmdsubst input syntax doesn't glob.
...
Fixes #582 .
2020-03-17 03:11:52 +00:00
Daniel Shahaf
c699ce9a26
changelog: Fix markup.
2020-03-17 03:10:08 +00:00
Daniel Shahaf
6e1a221699
tests: Add a test for issue #571 .
2020-03-17 02:58:16 +00:00
Daniel Shahaf
9ceb7c6e7c
changelog.md (0.7.0): Fix typo
2020-03-17 01:51:32 +00:00
Daniel Shahaf
b454b596ed
Fix historical instances of one-space indentation.
...
No functional change.
2020-03-17 00:48:16 +00:00
Daniel Shahaf
e815d4579b
tests: Add a test for a bug fixed in 2d0dddf58b
"'main': Don't dequote the word in command position before analyzing it.".
...
Fixes #630 .
2020-03-16 22:27:04 +00:00
Daniel Shahaf
3174e375f4
'main': Fix highlighting of null execs.
...
Fixes #676 .
2020-03-16 21:50:04 +00:00
Daniel Shahaf
f56e3fad23
'main': Optimize the path_prefix check.
...
Computing ${#array} is O(N), whereas checking 0 is O(1).
2020-03-16 20:45:56 +00:00
Daniel Shahaf
62e2d05f91
changelog: Update through HEAD.
2020-03-16 19:34:48 +00:00
Daniel Shahaf
2cc2583f8f
Merge the first three commits of PR #669
...
* commit 'b1f36d9c5f45b879fbd2f64195167a60d9f3cb9e':
'main': Add a comment.
'main': Fix the $CDPATH from the previous commit.
'main': Add a test for a $CDPATH bug.
2020-03-16 19:32:59 +00:00
Daniel Shahaf
e15781c900
changelog: Update through HEAD.
2020-03-16 19:26:28 +00:00
Daniel Shahaf
20d250d618
'main': Support the non-precommand flags of sudo(8) and ssh-agent(1).
...
Uses the infrastructure added in the previous commit.
Fixes #678 .
2020-03-16 19:22:54 +00:00
Daniel Shahaf
c73153c6e8
'main': Add infrastructure for precommand options that are not to be followed by a command word (issue #678 ).
2020-03-16 19:20:31 +00:00
Daniel Shahaf
63bcd85dfa
'main': Don't use «foo && bar || baz» where a trenary is more appropriate.
...
This prevents the baz pattern match from being attempted whenever the
bar pattern match was tried and failed.
2020-03-16 19:14:51 +00:00
Daniel Shahaf
4bbd2a3bc6
'main': Prepare to add additional fields to $precommand_options values.
...
No functional change.
2020-03-16 19:07:57 +00:00
Daniel Shahaf
241d3a92e8
tests: Fix an XFail test expectation.
...
Before this commit, the test was unable to XPass, since there is no
highlighting style called "normal".
2020-03-16 19:04:12 +00:00
Daniel Shahaf
6243c99f41
tests: Fixup last commit.
2020-03-16 18:57:28 +00:00
Daniel Shahaf
8f7e9b2af4
tests: Add a test for uninstalled precommands.
2020-03-15 19:55:42 +00:00
Daniel Shahaf
f63f07417d
Merge remote-tracking branch 'danielsh/tests-skip-cardinality-v1'
...
* danielsh/tests-skip-cardinality-v1:
tests: Minor documentation readability tweak
Add a test for issue #641.5, using the infrastructure added in the previous commits.
tests: Skip cardinality tests whenever any test point is expected to fail.
tests: Make $expected_mismatch skip the cardinality check, rather than consider it an expected failure.
tests: Include the name of the 'cardinality check' test point in the output
2020-03-15 18:38:26 +00:00
Daniel Shahaf
2331072c06
changelog: Update through HEAD.
2020-03-15 18:32:44 +00:00
Daniel Shahaf
9e036e0b0c
'main': Document the second meaning of the 'comment' style.
2020-03-15 18:30:53 +00:00
Daniel Shahaf
74c7ffc9b5
'main': Factor out common logic to after the case/esac.
2020-03-15 18:30:53 +00:00
Daniel Shahaf
8feb06a022
'main': Support parameter elision in command position.
2020-03-15 18:25:13 +00:00