From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15950 invoked by alias); 18 Mar 2014 09:36:27 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 32497 Received: (qmail 24221 invoked from network); 18 Mar 2014 09:36:13 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 X-Biglobe-Sender: Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: Damn race conditions ... From: "Jun T." In-Reply-To: <140317174721.ZM30317@torch.brasslantern.com> Date: Tue, 18 Mar 2014 18:36:09 +0900 Content-Transfer-Encoding: 7bit Message-Id: References: <140316141559.ZM2558@torch.brasslantern.com> <140317174721.ZM30317@torch.brasslantern.com> To: "zsh-workers@zsh.org" X-Mailer: Apple Mail (2.1510) On 2014/03/18, at 9:47, Bart Schaefer wrote: > OF course it's not consistent WHERE it failes, so patching any one test > is not likely to help. E.g., in this most recent try the failure is > here: Are failures always at tests with comptesteval? comptesteval uses '. $tmp' for executing commands in a file $tmp by the slave zsh, but the '.' (or source) would temporarily change the tty mode of the slave zsh and may cause some trouble ... It seems we can avoid using comptesteval as in the patch below. Please git it a try. diff --git a/Test/X02zlevi.ztst b/Test/X02zlevi.ztst index 60f878e..19188df 100644 --- a/Test/X02zlevi.ztst +++ b/Test/X02zlevi.ztst @@ -21,19 +21,19 @@ >text >CURSOR: 8 - comptesteval 'print -z before' + zpty_run 'print -z before' zletest $'after\e.' 0:repeat initial edit with non-blank starting line >BUFFER: beforeafterafter >CURSOR: 15 - comptesteval 'setopt overstrike;print -z bung' + zpty_run 'setopt overstrike;print -z bung' zletest $'ing\e2|.' 0:repeat initial edit with overstrike set >BUFFER: binging >CURSOR: 3 - comptesteval 'bindkey "^_" undo' + zpty_run 'bindkey "^_" undo' zletest $'undoc\037e' 0:use of undo in vi insert mode >BUFFER: undoe @@ -49,19 +49,19 @@ >BUFFER: z >CURSOR: 1 - comptesteval 'bindkey -a "^K" redo' + zpty_run 'bindkey -a "^K" redo' zletest $'123\C-_\e\C-k' 0:undo in insert mode, redo in command >BUFFER: 123 >CURSOR: 2 - comptesteval 'bindkey "^Y" redo' + zpty_run 'bindkey "^Y" redo' zletest $'pre\eA123\C-_\C-y\eu' 0:undo and redo in insert mode, undo in command >BUFFER: pre >CURSOR: 2 - comptesteval 'bindkey "^Gu" split-undo' + zpty_run 'bindkey "^Gu" split-undo' zletest $'one\C-gutwo\eu' 0:split the undo sequence >BUFFER: one diff --git a/Test/comptest b/Test/comptest index 48b6cdf..4655f3b 100644 --- a/Test/comptest +++ b/Test/comptest @@ -102,6 +102,14 @@ zpty_flush() { fi } +zpty_run() { + zpty -w zsh "$*" + zpty -r -m zsh log "**" || { + print "prompt hasn't appeared." + return 1 + } +} + comptesteval () { local tmp=/tmp/comptest.$$