summaryrefslogtreecommitdiff
path: root/Test
AgeCommit message (Collapse)AuthorFilesLines
2020-03-0645509: fix typos in B01cd.ztstJun-ichi Takimoto1-3/+3
2020-03-0645490 (+45495 and a test): refactor rlimits.cJun-ichi Takimoto1-0/+10
Use a table of known resouces instead of generating rlimits.h by rlimits.awk.
2020-02-2745492: skip test added by users/24633 on CygwinJun-ichi Takimoto1-5/+9
2020-02-1845463: test: kill: Document why we use SIGURGChris Down1-0/+9
See discussion in workers/45460.
2020-02-1845453: builtins: kill: Do not signal current process group when pid is emptyChris Down1-1/+9
The following case was encountered in the wild: % zsh; echo "$?" % trap 'exit 5' TERM % kill '' 5 This behaviour seems more likely to be the result of bugs in programs (e.g. `kill -9 "$unsetvar") rather than being desirable behaviour to me. It also seems unintentional judging by the code and documentation, since it comes about as a result of the fact that: - `isanum` returns true for empty strings (since an empty string technically only consists of digits and minuses...); - `atoi`, when passed a pointer to an invalid number, returns 0; - `kill(0, signal)` sends the signal in question to all processes in the current process group. There are (at least) two ways to solve this issue: 1. Add special handling to `kill` to avoid this case. See this patch[0] for a version that does that. 2. Change how isanum behaves. Since the only two call sites that use it both seem like they should handle the case where the input char array is empty, that seems like a reasonable overall change to me.[1] After this patch: % trap 'exit 5' TERM % kill '' kill: illegal pid: The regression test for `kill` without a sigspec is also included in this commit, as previously it's not possible to test it trivially as it would still kill the test runner in expected-to-fail mode; see discussion in workers/45449. 0: workers/45426: https://www.zsh.org/mla/workers/2020/msg00251.html 1: The other call site using isanum() is the fg builtin, but in that case we just fail later since we can't find any job named '', so no big deal either way. It's the kill case which is more concerning.
2020-02-1845452: builtins: kill: Add `kill ''` regression test with explicit sigspecChris Down1-0/+9
The version without a sigspec can't be added yet because it would still kill the test runner even in expected-to-fail mode; see workers/45449 for discussion. For the same reason, we use a signal which is non-fatal by default and unlikely to be sent by someone else, SIGURG, to do the expected-to-fail case prior to the fix.
2020-02-1845451: builtins: kill: Add basic test suiteChris Down1-0/+60
This is not totally comprehensive, but at least it's a start for the core functionality. In the next commits, we'll also use this base to add some regression tests.
2020-02-14Add unsetopt/PRIVILEGED testsdana3-1/+207
2020-02-14Improve PRIVILEGED fixesDaniel Shahaf1-0/+15
- Fix retval handling in bin_setopt() - Don't skip_setuid / skip_setgid. It's not our place to optimize away noops (that might not even _be_ noops; they might change the saved uid…). - Remove HAVE_* guard checks around functions that are used unguarded elsewhere. - Use bsd-setres_id.c from OpenSSH to provide setresuid() / setresgid() everywhere, and thus simplify the ifdef soup. Fix some preëxisting bugs in the macro definitions of setuid() (do we still need that one?). - Fix zwarning() format codes for variadic arguments type safety - Restored a comment from HEAD - Fix failure modes around initgroups() - Compared privilege restoration code with OpenSSH's permanently_drop_uid() and updated as needed - Add E01 PRIVILEGED sanity checks
2020-02-14unposted: V01zmodload: Fix failing test from workers/45385dana1-2/+4
2020-02-0745385: Add a test for 'zmodload -Fa' preemptively disabling ↵Daniel Shahaf1-0/+14
("blacklisting"?) features.
2020-02-0345368: Add tests for workers/45367's issue about double slashes in 'cd -P' ↵Daniel Shahaf2-0/+8
and /home/daniel/in/zsh.
2020-02-0245373: Fix ERR_EXIT bug in else branch of if.Peter Stephenson1-0/+9
The flags need resetting for this branch otherwise e.g. command substitution with non-zero status doesn't cause exit.
2020-01-1645305: Add an XFail test: The exec-last-command optimization is applied to ↵Daniel Shahaf1-0/+4
try/always.
2020-01-1345296: D02glob: Clean up after test from users/24633dana1-0/+5
2020-01-1345290: New helper script for listing XFail tests.Daniel Shahaf1-0/+5
2020-01-12users/24633: Add an xfail test for users/24619.Daniel Shahaf1-0/+13
2020-01-0945269: Fix misspellings in completions and elsewhere.Jens Schleusener2-2/+2
2020-01-07unposted: internal: Remove Vim modeline that interferes with ztst.vim.Daniel Shahaf1-2/+0
As an alternative, one can use: autocmd BufRead,BufNewFile **/*.ztst setfiletype zsh (But see Util/ztst-syntax.vim and Util/ztst-ftplugin.vim for an alternative.)
2020-01-0245181: Fix workers/45164: ${(S)%%} will now consider the empty string as a ↵Daniel Shahaf1-1/+1
potential match.
2020-01-01unposted: Add some tests for ${(S)}, including a regression test for ↵Daniel Shahaf1-0/+25
workers/45164.
2020-01-0145169/0002 (tweaked for trailing newlines): Add an expected-to-fail test for ↵Daniel Shahaf1-0/+17
workers/44007.
2020-01-0145169/0001: In the test suite, allow test cases to be marked as expected to ↵Daniel Shahaf2-3/+31
fail. See next commit for a use-case.
2019-12-31users/24582 + users/24583: Add regression tests for the previous commit.Daniel Shahaf2-0/+77
2019-12-27unposted: internal: Vim ztst support: Add an ftplugin in addition to the ↵Daniel Shahaf1-1/+1
syntax highlighter.
2019-12-22unposted: Fix broken build: 45109 (!) broke Test/Y01completion.ztst.Daniel Shahaf2-86/+1
2019-12-2245111: zshmisc(1): Clarify the documentation of 'return' and 'exit' in ↵Daniel Shahaf1-0/+2
conjunction with try/always Having reviewed 20076, 20084, 21734, and 21735, my understanding is that the original intention was: - A 'return' in a function does run always-list - An 'exit' outside a function does not run always-list - A 'return' outside a function is treated as an 'exit' All of which are the case today. The remaining case, of 'exit' used inside a function, was not specified by the referenced -workers@ posts; does, as implemented, run the always-list; and furthermore, based in 21734 it's fair to assume that the original documentation was assuming that 'exit' would be used outside of any function, just like it assumed 'return' would be used inside a function. Therefore, have the documentation specify only the behaviour of 'exit' outside any function, and leave the behaviour of 'exit' inside a function unspecified. Anyone who relied on the documentation of 'exit' as documented until this commit would have run into the documentation/implementation discrepancy described in 45075.
2019-12-2245107: ztst.vim: Highlight some more special variablesDaniel Shahaf1-1/+3
2019-12-2245108: ztst.vim: Conceal the '>' or '?' on pattern expected output / ↵Daniel Shahaf1-8/+19
expected errput lines. This aligns the expectations given by '*>' and '>' lines.
2019-12-2245109: Add Vim highlighting file for Test/*.ztst files.Daniel Shahaf2-0/+74
2019-12-21unposted: Group related tests. No functional change.Daniel Shahaf1-8/+8
2019-12-1245001: Fix zero-length matches with ${...%...}Peter Stephenson1-0/+23
As the shortest match is preferred, zero-length matches beat any other.
2019-12-1145004: Fix typos in commentsMartijn Dekker8-9/+9
2019-12-01unposted: zstyle: Add a unit test and some comments.Daniel Shahaf1-0/+10
2019-11-19unposted: Add smoke test for :P history modifier.Daniel Shahaf1-0/+7
2019-08-1444664: Fix problem with temporary assignment.Peter Stephenson1-0/+12
"foo=bar builtin" inside a function lost any variable from enclosing scope.
2019-08-03Copy functions using functions -c old new.Peter Stephenson1-1/+68
Documentation and test.
2019-07-1644523: Add ZTST_handler capability.Peter Stephenson1-1/+6
Defaults to runtests.zsh but can be something else for alternative test management.
2019-07-0144469: correct error on missing option argumentMartijn Dekker1-0/+17
2019-06-2444446: Fix here document with file descriptor declarator.Peter Stephenson1-1/+9
Add unit test.
2019-06-2044435: Handling digita arguments for :h and :t.Peter Stephenson3-0/+128
Pick number of leading or trailing path components to substitute. Active in history, brace parameters, glob qualifiers. Add tests for all three environments.
2019-05-2344345: fix wordcode traversal where ! without a following command could ↵Oliver Kiddle1-0/+33
result in a crash
2019-05-1444296: "typeset Q= {X}" crashed the shell.Peter Stephenson1-0/+7
2019-05-08unposted: Fix bad encoding in previous Y01 test patchdana1-4/+4
2019-05-08unposted: Add compset tests related to workers/44275Oliver Kiddle1-0/+38
(Provided off-list by Oliver)
2019-05-0744274: allow finer control of completion match soring with compadd's -o optionOliver Kiddle1-0/+40
2019-05-0344267: sort: Restore option to ignore backslashesdana1-0/+22
Fix regression introduced by workers/41242
2019-05-0344271: Fix breaks propagated from until or return.Peter Stephenson1-0/+10
If the until or return test caused continuation but there was a pending return, breaks didn't get cancelled causing enclosing scope to skip commands.
2019-03-1244100: zparseopts: Add -F option, completion, tests; improve documentationdana1-0/+172
* Enable zparseopts to perform basic usage validation (aborting on an unrecognised option-like parameter) * Officially document the resolution of ambiguous option specs
2019-03-01unposted: ztst.zsh: fix a typoJun-ichi Takimoto1-1/+1