1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-30 19:20:53 +02:00
Commit graph

1065 commits

Author SHA1 Message Date
Daniel Shahaf
deca7c9285 45730: _arguments: Add the -0 flag, which makes $opt_args be populated sanely.
Also, write/extend docstrings for sepjoin() and zjoin().
2020-05-03 01:27:36 +00:00
Daniel Shahaf
34d69acbef 45737 (+ docs, and update the test from 45722): zstyle: When determining the weight (specificity) of a pattern, consider the number of components before anything else, as documented. 2020-05-02 01:12:07 +00:00
Daniel Shahaf
95adde8ddc unposted: Revert unintentional move from 45722. 2020-05-02 00:55:52 +00:00
Daniel Shahaf
5d9f7975a9 45722: docs: Change zstyle example to a non-hierarchical one 2020-05-02 00:51:26 +00:00
Cedric Ware
25c9b61a66 45708: zsh/system: Enable sub-second timeout in zsystem flock 2020-04-20 12:10:01 -05:00
Mikael Magnusson
8923d2a618 Add SHORT_REPEAT option 2020-04-02 07:42:16 +02:00
Daniel Shahaf
c57d660764 unposted: Make test platform-independent.
Follow-up to the grandparent commit.
2020-04-02 00:10:42 +00:00
dana
2bfe01df6f 45542: P01privileged: Use test-directory owner for auto-determined EUID/EGID
Prevents failure when the repo (or its parent) has mode 0700
2020-04-01 17:05:26 -05:00
dana
9818ddeefb unposted: D02glob: Fix platform-dependent test failure
workers/45583 introduced a test failure on macOS, *BSD, and Solaris, where wc
always outputs leading white space
2020-04-01 16:59:32 -05:00
Daniel Shahaf
5e55e3eaf8 unposted: Fix syntax error introduced in 45591. 2020-03-28 00:56:22 +00:00
Daniel Shahaf
5e3f6b60e8 45640: Fix new test when ${PWD}'s value contains symlinks. 2020-03-28 00:46:51 +00:00
Daniel Shahaf
c4f18c29c7 45584, 45620: zsh/rlimits: Skip the tests for this module when it wasn't compiled in. 2020-03-27 01:14:42 +00:00
Daniel Shahaf
32c4ed3977 45591 (Cf. 45587, 45620): In the test suite, centralize testing that compiled modules can be loaded successfully.
Have V01zmodload.ztst check that all modules enabled in config.modules
load successfully.  With this change, the test files for individual
modules may assume that if 'zmodload' fails that must be because the
module hadn't been compiled in, and mark themselves as skipped in that
case.
2020-03-27 01:14:42 +00:00
Peter Stephenson
2a9674862e 45616: Remove token from count argument to repeat 2020-03-26 20:54:37 +00:00
Daniel Shahaf
fc286a7c11 45583/0008: Extend tests to prove that what remains of xsymlinks() handles symlink loops gracefully. 2020-03-25 23:49:02 +00:00
Daniel Shahaf
db8d16a060 45583/0005: Add a test for bin_whence's symlinks resolution. 2020-03-25 23:49:02 +00:00
Daniel Shahaf
47fc5fe01f 45583/0004: Fix segfault on resolving symlink loops 2020-03-25 23:49:02 +00:00
Daniel Shahaf
de587b43ba 45583/0001: Add tests for the segfault on resolving a symlink loop bug (workers/45282).
This is workers/45377, extended.
2020-03-25 23:49:01 +00:00
Daniel Shahaf
0903ddb7b9 45590/0002 (in part): zsh/rlimits: Test that ulimit letters are unique. 2020-03-25 22:06:47 +00:00
Jun-ichi Takimoto
88484e9ea8 45601: fix another status in new function -T test 2020-03-25 15:55:19 +09:00
Peter Stephenson
508b47c750 45601: Fix status in new functions -T test 2020-03-22 18:56:06 +00:00
Daniel Shahaf
aed0cb4408 45583/0009: Add end-of-options guard support to 'function -T'. 2020-03-22 02:23:53 +00:00
Daniel Shahaf
386d9ac8ff 45583/0008: Add the 'function -T' syntax.
Config/version.mk was bumped in the previous commit.
2020-03-22 02:23:53 +00:00
dana
778f391a3b 45537 (tweaked): E02xtrace: Fix inconsistent function-name encoding in preserves-xtrace test
Tweaked per workers/45550, needs workers/45536 to be effective
2020-03-13 08:49:57 -05:00
dana
80ddc46e54 45470: C02cond: Simplify '-N cond' test
This fixes an (intermittent?) issue with the test on macOS+APFS, and hopefully
makes it simpler and faster in general
2020-03-11 21:17:12 -05:00
Daniel Shahaf
1602016d53 45518 + unposted tweak (change single quotes to double quotes): Fix V01zmotload.ztst test failures when zsh/parameter is dynamically linked (which is the default). 2020-03-09 01:56:26 +00:00
Daniel Shahaf
6fc8e8628f Merge remote-tracking branch 'origin/master' into 5.9
* Test/D02glob.ztst:
  On the "unreadable directories can be globbed (users/24619, users/24626)"
  test, resolve conflicts by removing the Cygwin-only skip that has been added
  in master, since the test is passing on this branch.  This effectively reverts
  workers/45492.  See discussion starting in workers/45504.

* origin/master:
  unposted: Remove 'sgi', as that OpenBSD port has been discontinued.
  45509: fix typos in B01cd.ztst
  45490 (+45495 and a test): refactor rlimits.c
  github #49: Fix typo: longson should be loongson
  users/24710: Fix job control problem with sudo.
  45492: skip test added by users/24633 on Cygwin
  45488: COMP_WORDS for bash need "$@"-style quoting
  45487: Missing mod_export declarations for AIX
  45447: Complete vcs_info_hookadd and vcs_info_hookdel. Expose _vcs_info_hooks as a top-level helper function.
  45463: test: kill: Document why we use SIGURG
  45453: builtins: kill: Do not signal current process group when pid is empty
  45452: builtins: kill: Add `kill ''` regression test with explicit sigspec
  45451: builtins: kill: Add basic test suite
  github #48/0002: vcs_info git: properly detect bare repositories
  github #48/0001: vcs_info git: avoid warnings in bare repositories
  unposted: Post-release version bump
  unposted: Release 5.8
  CVE-2019-20044: Update change log for preceding commits
  Update NEWS/README
  Add unsetopt/PRIVILEGED tests
  Clean up error-message white space
  Improve PRIVILEGED fixes (again)
  Improve PRIVILEGED fixes
  Drop privileges securely
  unposted: V01zmodload: Fix failing test from workers/45385
  45423: _su: Improve arg handling, shell look-ups
  unposted: _zip: Recognise '--'
  45385: Add a test for 'zmodload -Fa' preemptively disabling ("blacklisting"?) features.
  unposted: Test release: 5.7.1-test-3
  zsh/system: Fix infinite loop in sysread
  _diff_options: Restore -w completion lost in workers/43351
  unposted: Fix ChangeLog typo.
  45368: Add tests for workers/45367's issue about double slashes in 'cd -P' and /home/daniel/in/zsh.
  45373: Fix ERR_EXIT bug in else branch of if.
  45372: Record a symlink loop bug involving :P
  45365: _git: Fix __git_recent_branches for the case when a commit has an empty message
  45343: Queue signals around arithmetic evaluations
  45344: Document where third-party completion functions should be installed.
  45345: internal: ztst.vim: Fix highlighting of zsh comments in test payload
  unposted: internal: Add some comments and fix indentation.  No functional change.
  45340: internal: Document the difference between paramtab and realparamtab.
  45332: _git: add completion for git-version
  _brace_parameter: add missing \

Conflicts:
	ChangeLog
	Test/D02glob.ztst
	Test/V01zmodload.ztst
2020-03-07 21:36:46 +00:00
Daniel Shahaf
0d3d07c56f unposted: Fix trailing whitespace in test expectations. 2020-03-07 21:32:57 +00:00
Jun-ichi Takimoto
dd85abe825 45509: fix typos in B01cd.ztst 2020-03-06 20:14:21 +09:00
Jun-ichi Takimoto
273da6cc5f 45490 (+45495 and a test): refactor rlimits.c
Use a table of known resouces instead of generating rlimits.h by
rlimits.awk.
2020-03-06 20:12:06 +09:00
Jun-ichi Takimoto
fe516fccb4 45492: skip test added by users/24633 on Cygwin 2020-02-27 16:08:13 +09:00
Chris Down
69c247de2f 45463: test: kill: Document why we use SIGURG
See discussion in workers/45460.
2020-02-18 19:35:18 +00:00
Chris Down
5c55b3fb50 45453: builtins: kill: Do not signal current process group when pid is empty
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-18 12:59:53 +00:00
Chris Down
59258252b5 45452: builtins: kill: Add kill '' regression test with explicit sigspec
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-18 12:59:52 +00:00
Chris Down
cb5d8bfe86 45451: builtins: kill: Add basic test suite
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-18 12:59:51 +00:00
dana
b15bd4aa59 Add unsetopt/PRIVILEGED tests 2020-02-14 16:06:58 -06:00
Daniel Shahaf
8250c5c168 Improve PRIVILEGED fixes
- 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-14 16:06:57 -06:00
dana
e89060a377 unposted: V01zmodload: Fix failing test from workers/45385 2020-02-14 15:55:52 -06:00
Daniel Shahaf
699dfdd0ea 45385: Add a test for 'zmodload -Fa' preemptively disabling ("blacklisting"?) features. 2020-02-07 12:44:53 +00:00
Daniel Shahaf
3bcf9641eb 45368: Add tests for workers/45367's issue about double slashes in 'cd -P' and /home/daniel/in/zsh. 2020-02-03 07:09:30 +00:00
Peter Stephenson
e01223a26c 45373: Fix ERR_EXIT bug in else branch of if.
The flags need resetting for this branch otherwise e.g. command
substitution with non-zero status doesn't cause exit.
2020-02-02 18:05:47 +00:00
Daniel Shahaf
b4996ea5eb 45342: Add tests for interaction between autoloadable parameters and module loading. 2020-01-29 08:30:47 +00:00
Daniel Shahaf
7ca2b06501 45304: Do execute the always block even when the try/always block itself is the last command.
Fixes the test added in the previous commit (workers/45305).
2020-01-16 18:29:13 +00:00
Daniel Shahaf
fb3865514c Merge branch 'master' into 5.9
* master:
  45305: Add an XFail test: The exec-last-command optimization is applied to try/always.
  45307: zstyle docs: Unoverload a placeholder variable name.
  45306: zstyle docs: Introduce the first synopsis in the same way as all others: with an item()().
  unposted: docs: Fix a cross-reference.
2020-01-16 18:21:41 +00:00
Daniel Shahaf
28e11ac60b 45305: Add an XFail test: The exec-last-command optimization is applied to try/always. 2020-01-16 18:21:11 +00:00
dana
977e1c75d8 45292: D02glob: Add regression test for macOS stat(2) misbehaviour
On macOS, a privileged stat(2) call can erroneously treat files as
directories, which can produce unexpected glob results. This was reported at
workers/42891. A side-effect of the change from workers/45291 is that it seems
to work around this issue, at least in the obvious cases
2020-01-15 19:31:16 -06:00
Daniel Shahaf
edc04bd946 45291: A glob with a trailing slash will now match unreadable/unexecutable directories. 2020-01-15 19:20:33 -06:00
Daniel Shahaf
e899c21863 Merge remote-tracking branch 'origin/master' into 5.9
Right now, as we're preparing to tag the 5.8 release, the 5.9 branch is
maintained as a topic branch off master.

* origin/master:
  45287: zshexpn: Describe parameter elision and add some introductory prose
  45302: bin_umask(): Queue signals around umask().
  users/24656: docs: Add an example of setting and querying zstyles
  users/24659: Cross-ref doc for matchers.
  45296: D02glob: Clean up after test from users/24633
  45290: New helper script for listing XFail tests.
  users/24633: Add an xfail test for users/24619.
  unposted: additional typo fix
  45280: _git: add -local variants
  users/24628 (fixed): More doc for selectw-word-style widgets.
  45266: Fix losetup completion, broken in da085b7a20 (41720).
  unposted: Fix punctuation.
  use /dev/fd on Cygwin for process substitution
  unposted: Two additional typo fixes.
  Fix typos reported by codespell in shell code
  Fix typos reported by codespell in Src/
  45269: Fix misspellings in completions and elsewhere.
  45261: _gcc: Detect clang-as-gcc
  unposted: internal: Remove Vim modeline that interferes with ztst.vim.
  unposted: internal: ztst.vim: Use :syn-sync to work around (#x) and "`\\\\\\\\`" confusing the highlighting.
  unposted: internal: zyodl.vim: Support glob qualifiers in example()'s
  unposted: internal: zyodl.vim: Support yodl comments.
  github #44: Allow completion for picocom to list symlinks to character devices
  45245: _gcc: add some clang specific warnings
  45231: _rsync: When completing remote modules, ignore more of the motd.
  unposted: _tac: Eliminate superfluous variable
  45226: _man: Improve completion of file paths
  45184: Clarify documentation of %-sequences understood by compadd -[Xx]
  45239: Remove 'appendhistory' from zsh-newuser-install
  45218: add more options to swaks completion
  45196: fix completion after make -C, allowing for -C being used multiple times
  unposted (after 45183): Fix yodl error: "contrib.yo:4457: No macro: back(...)".
  45181: Fix workers/45164: ${(S)%%} will now consider the empty string as a potential match.
  45183: Improve documentation examples
  unposted: Add some tests for ${(S)}, including a regression test for workers/45164.
  45169/0002 (tweaked for trailing newlines): Add an expected-to-fail test for workers/44007.
  45169/0001: In the test suite, allow test cases to be marked as expected to fail.
  users/24582 + users/24583: Add regression tests for the previous commit.
  24581: Fix array assignments in shell word splitting and completion.
  45160: zshexpn: Expand documentation of (S)
  45150 + 45152: zshexpn: Use a more minimal example in the documentation of (#b).
  unposted: internal: Vim ztst support: Add an ftplugin in addition to the syntax highlighter.
  45130: _multi_parts: Always pass -f to compadd if given by caller
  unposted: zerrmsg(): Fix macro guard missed in previous commit
  unposted: ChangeLog for last commit
  internal: Allow %L in zerrmsg() in non-debug builds, too.
2020-01-15 22:49:09 +00:00
dana
62a1e37ccc 45296: D02glob: Clean up after test from users/24633 2020-01-13 17:43:51 -06:00
Daniel Shahaf
9f8c369ccd 45290: New helper script for listing XFail tests. 2020-01-13 22:48:55 +00:00