<div dir="ltr"><div><br></div><div>I do see the discrepancy between "ok  1" and "ok 1"  in the output, not just in the outgoing email. It appears to be an additional space in the first case. Things are getting a bit blurred together in my mind at this point, but I think this is something we have seen before and Fare has some idea what is causing it. </div>
<br><div>Here is the full output for alisp (which shows up in the Allegro Common Lisp Console and not in the normal build/results/allegro.text output file). Same issue for mlisp, apparently. </div><div><br></div><div><br>
</div><div><div>; Loading</div><div>;    C:\users\dcooper8\genworks\cl\tests\asdf\asdf\test\script-support.lisp</div><div>; Fast loading</div><div>;    C:\users\dcooper8\genworks\cl\tests\asdf\asdf\build\fasls\alisp\asdf.fasl</div>
<div>Warning: FIRST-FEATURE is defined more than once as `operator' in file C:\users\dcooper8\genworks\cl\tests\asdf\asdf\build\asdf.lisp.</div><div>Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file C:\users\dcooper8\genworks\cl\tests\asdf\asdf\build\asdf.lisp.</div>
<div>Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file C:\users\dcooper8\genworks\cl\tests\asdf\asdf\build\asdf.lisp.</div><div>Warning: OPERATING-SYSTEM is defined more than once as `operator' in file C:\users\dcooper8\genworks\cl\tests\asdf\asdf\build\asdf.lisp.</div>
<div>Warning: ARCHITECTURE is defined more than once as `operator' in file C:\users\dcooper8\genworks\cl\tests\asdf\asdf\build\asdf.lisp.</div><div>Configuring ASDF</div><div>Enabling debugging</div><div>Being a bit verbose</div>
<div>Comparing directories</div><div>ASDF-TEST:*TEST-DIRECTORY* and ASDF-TEST::X both evaluate to same path:</div><div>  #P"C:\\users\\dcooper8\\genworks\\cl\\tests\\asdf\\asdf\\test\\"</div><div>Frob packages</div>
<div>; Loading</div><div>;    C:\users\dcooper8\genworks\cl\tests\asdf\asdf\test\test-run-program.script</div><div>Testing echo ok 1 via run-program as a list</div><div>Testing echo ok 1 via run-program as a string</div><div>
Testing true via run-shell-command</div><div>Testing false via run-shell-command</div><div>Testing bad shell command via run-shell-command</div><div>Testing awkward legacy output capture via run-shell-command</div><div>; Autoloading for EXCL::GRAY-OPEN:</div>
<div>;   Fast loading from bundle code\streamc.fasl.</div><div>;     Fast loading from bundle code\efft-1252-base.fasl.</div><div>;     Fast loading from bundle code\efft-utf8-base.fasl.</div><div>;     Fast loading from bundle code\efft-void.fasl.</div>
<div>;     Fast loading from bundle code\efft-latin1-base.fasl.</div><div>; Autoloading for class ECHO-STREAM:</div><div>;   Fast loading from bundle code\STREAMA.fasl.</div><div>TEST ABORTED: These two expressions fail comparison with EQUAL:</div>
<div> "ok  1" evaluates to "ok  1"</div><div> (DEWINDOWIZE (RUN-PROGRAM "echo ok  1" :OUTPUT :LINE)) evaluates to "ok 1"</div><div>Evaluation stack:</div><div><br></div><div> ->(TPL::ZOOM-COMMAND :FROM-READ-EVAL-PRINT-LOOP NIL :COUNT T :ALL T)</div>
<div>   (SYS::..RUNTIME-OPERATION #19="applyn" . #1=(:UNKNOWN-ARGS))</div><div>   (TPL:DO-COMMAND</div><div><br></div><div>    "zoom"</div><div>    :FROM-READ-EVAL-PRINT-LOOP</div><div>    NIL</div><div>
    :COUNT</div><div>    T</div><div>    :ALL</div><div>    T)</div><div>   (ASDF/IMAGE:RAW-PRINT-BACKTRACE</div><div><br></div><div>    :STREAM</div><div>    #2=#<EXCL:TERMINAL-SIMPLE-STREAM</div><div>         [initial terminal io] fd 0/1</div>
<div>         @</div><div>         #x200f95b2></div><div>    :COUNT</div><div>    69)</div><div>   (SYS::..RUNTIME-OPERATION #3="lisp_apply" . #1#)</div><div>   ((:INTERNAL ASDF/IMAGE:PRINT-BACKTRACE 0))</div>
<div>   (ASDF/STREAM:CALL-WITH-SAFE-IO-SYNTAX</div><div><br></div><div>    #<Closure (:INTERNAL ASDF/IMAGE:PRINT-BACKTRACE 0) @ #x205c4b2a>)</div><div>   (ASDF/IMAGE:PRINT-BACKTRACE :STREAM #2# :COUNT 69)</div><div>
   (ASDF/IMAGE:PRINT-CONDITION-BACKTRACE</div><div><br></div><div>    #4=#<SIMPLE-ERROR @ #x205c4c8a></div><div>    :STREAM</div><div>    #2#</div><div>    :COUNT</div><div>    69)</div><div>   (SYS::..RUNTIME-OPERATION #3# . #1#)</div>
<div>   [... EXCL::EVAL-AS-PROGN ]</div><div>   (BLOCK</div><div><br></div><div>    ASDF-TEST:ACALL</div><div>    (APPLY</div><div>     (APPLY</div><div>      'ASDF-TEST:ASYM</div><div>      (IF</div><div>       (CONSP ASDF-TEST::NAME)</div>
<div>       ASDF-TEST::NAME</div><div>       (LIST ASDF-TEST::NAME)))</div><div>     ASDF-TEST::ARGS))</div><div>   [... EXCL::%EVAL ]</div><div>   (ASDF-TEST:ACALL</div><div><br></div><div>    :PRINT-CONDITION-BACKTRACE</div>
<div>    #4#</div><div>    :COUNT</div><div>    69</div><div>    :STREAM</div><div>    #2#)</div><div>   (SYS::..RUNTIME-OPERATION</div><div><br></div><div>    #8="_comp_to_interp"</div><div>    :PRINT-CONDITION-BACKTRACE</div>
<div>    #4#</div><div>    :COUNT</div><div>    69</div><div>    :STREAM</div><div>    #2#)</div><div>   (SYS::..RUNTIME-OPERATION #3# . #1#)</div><div>   [... EXCL::EVAL-AS-PROGN ]</div><div>   (LET*</div><div><br></div>
<div>    . #6=(((#5=#:G246</div><div>            (CONS</div><div>             (LOAD-TIME-VALUE EXCL::.IGNORE-ERRORS-1.)</div><div>             (EXCL::FAST EXCL::*HANDLER-CLUSTERS*)))</div><div>           (EXCL::*HANDLER-CLUSTERS* #5#))</div>
<div>          (DECLARE (DYNAMIC-EXTENT #5# EXCL::*HANDLER-CLUSTERS*))</div><div>          (PROGN</div><div>           . #7=((ASDF-TEST:ACALL</div><div>                  :PRINT-CONDITION-BACKTRACE</div><div>                  ASDF-TEST::C</div>
<div>                  :COUNT</div><div>                  69</div><div>                  :STREAM</div><div>                  *ERROR-OUTPUT*)))))</div><div>   [... EXCL::EVAL-AS-PROGN ]</div><div>   (CATCH 'EXCL::IGNORE-ERRORS-1 (LET* . #6#))</div>
<div>   [... EXCL::%EVAL ]</div><div>   (EXCL::EVAL-AS-PROGN</div><div><br></div><div>    #21=((IGNORE-ERRORS . #7#)</div><div>         (ASDF-TEST:LEAVE-TEST "Script failed" 1)))</div><div>   [... EXCL::%EVAL ]</div>
<div>   ((:INTERNAL ASDF-TEST::CALL-WITH-TEST) #4#)</div><div>   (SYS::..RUNTIME-OPERATION #8# #4#)</div><div>   (SIGNAL #4#)</div><div>   (ERROR</div><div><br></div><div>    #10="These two expressions fail comparison with ~S:~% ~</div>
<div>            ~S evaluates to ~S~% ~S evaluates to ~S~%"</div><div>    EQUAL</div><div>    #9="ok  1"</div><div>    #9#</div><div>    #11=(ASDF-TEST::DEWINDOWIZE</div><div>         (ASDF/RUN-PROGRAM:RUN-PROGRAM "echo ok  1" :OUTPUT :LINE))</div>
<div>    #12="ok 1")</div><div>   (SYS::..RUNTIME-OPERATION #3# . #1#)</div><div>   [... EXCL::EVAL-AS-PROGN ]</div><div>   (BLOCK</div><div><br></div><div>    ASDF-TEST::ASSERT-COMPARE-HELPER</div><div>    (UNLESS</div>
<div>     (FUNCALL ASDF-TEST::OP ASDF-TEST::X ASDF-TEST::Y)</div><div>     (ERROR</div><div>      #10#</div><div>      ASDF-TEST::OP</div><div>      ASDF-TEST::QX</div><div>      ASDF-TEST::X</div><div>      ASDF-TEST::QY</div>
<div>      ASDF-TEST::Y)))</div><div>   [... EXCL::%EVAL ]</div><div>   (ASDF-TEST::ASSERT-COMPARE-HELPER EQUAL #9# #11# #9# #12#)</div><div>   (SYS::..RUNTIME-OPERATION #8# EQUAL #9# #11# #9# #12#)</div><div>   (SYS::..RUNTIME-OPERATION #3# . #1#)</div>
<div>   [... EXCL::%EVAL ]</div><div>   (EXCL::EVAL-AS-PROGN</div><div><br></div><div>    #13=((ASDF-TEST:ASSERT-EQUAL</div><div>          "ok"</div><div>          (ASDF-TEST::DEWINDOWIZE</div><div>           (ASDF/RUN-PROGRAM:RUN-PROGRAM</div>
<div>            '("cmd" "/c" "echo" "ok")</div><div>            :OUTPUT</div><div>            :LINE)))</div><div>         (ASDF-TEST:ASSERT-EQUAL #9# #11#)</div><div>         T))</div>
<div>   (BLOCK ASDF-TEST::WINDOWS-ONLY-TEST/RUN-PROGRAM . #13#)</div><div>   [... EXCL::%EVAL ]</div><div>   (ASDF-TEST::WINDOWS-ONLY-TEST/RUN-PROGRAM)</div><div>   (SYS::..RUNTIME-OPERATION #8#)</div><div>   [... EXCL::%EVAL ]</div>
<div>   (EXCL::EVAL-AS-PROGN</div><div><br></div><div>    #14=((ASDF-TEST::WINDOWS-ONLY-TEST/RUN-PROGRAM) (TERPRI) T))</div><div>   (BLOCK ASDF-TEST::TEST/RUN-PROGRAM . #14#)</div><div>   [... EXCL::%EVAL ]</div><div>   (ASDF-TEST::TEST/RUN-PROGRAM)</div>
<div>   (SYS::..RUNTIME-OPERATION #8#)</div><div>   [... EXCL::%EVAL ]</div><div>   (EVAL (ASDF-TEST::TEST/RUN-PROGRAM))</div><div>   (EXCL::SLOLOAD</div><div><br></div><div>    #15=#<EXCL:FILE-SIMPLE-STREAM</div><div>
          #16=#P"C:\\users\\dcooper8\\genworks\\cl\\tests\\asdf\\asdf\\test\\test-run-program.script" for input pos 10070</div><div>          @</div><div>          #x2049b192>)</div><div>   (EXCL::LOAD-FROM-STREAM-OR-BUNDLE #15# #16# NIL T 2 NIL NIL)</div>
<div>   (EXCL::LOAD-2</div><div><br></div><div>    #17="test-run-program.script"</div><div>    T</div><div>    #18=(#P""</div><div>         #P(:TYPE "fasl")</div><div>         #P(:TYPE "cl")</div>
<div>         #P(:TYPE "lisp")</div><div>         #P(:TYPE "lsp"))</div><div>    :ERROR</div><div>    NIL</div><div>    NIL</div><div>    NIL</div><div>    NIL</div><div>    NIL</div><div>    NIL</div>
<div>    NIL</div><div>    :DEFAULT</div><div>    NIL</div><div>    NIL)</div><div>   (EXCL::LOAD-1</div><div><br></div><div>    #17#</div><div>    T</div><div>    #18#</div><div>    :ERROR</div><div>    NIL</div><div>    NIL</div>
<div>    NIL</div><div>    NIL</div><div>    NIL</div><div>    NIL</div><div>    NIL</div><div>    :DEFAULT</div><div>    NIL</div><div>    NIL)</div><div>   (LOAD #17#)</div><div>   [... EXCL::%EVAL ]</div><div>   (NIL)</div>
<div>   (SYS::..RUNTIME-OPERATION #8#)</div><div>   (ASDF/CACHE:CALL-WITH-ASDF-CACHE</div><div><br></div><div>    #20=#<Interpreted Function (unnamed) @ #x2049b5aa>)</div><div>   (SYS::..RUNTIME-OPERATION #19# . #1#)</div>
<div>   (FUNCALL ASDF/CACHE:CALL-WITH-ASDF-CACHE #20#)</div><div>   [... EXCL::%EVAL ]</div><div>   (EXCL::EVAL-AS-PROGN</div><div><br></div><div>    #25=((FUNCALL</div><div>          (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)</div>
<div>          ASDF-TEST::THUNK)</div><div>         (ASDF-TEST:LEAVE-TEST "Script succeeded" 0)))</div><div>   (LET*</div><div><br></div><div>    ((#22=#:G161</div><div>      (CONS</div><div>       'ERROR</div>
<div>       #26=(LAMBDA</div><div>            (ASDF-TEST::C)</div><div>            (IGNORE-ERRORS</div><div>             (FORMAT</div><div>              *ERROR-OUTPUT*</div><div>              "~&TEST ABORTED: ~A~&"</div>
<div>              ASDF-TEST::C))</div><div>            (ASDF-TEST::FINISH-OUTPUTS*)</div><div>            (COND</div><div>             (ASDF-TEST::*DEBUG-ASDF*</div><div>              (FORMAT T "~&It's your baby, fix it!~%")</div>
<div>              (BREAK))</div><div>             (T . #21#)))))</div><div>     (#23=#:G159 (LIST #22#))</div><div>     (#24=#:G160 (CONS #23# (EXCL::FAST EXCL::*HANDLER-CLUSTERS*)))</div><div>     (EXCL::*HANDLER-CLUSTERS* #24#))</div>
<div>    (DECLARE (DYNAMIC-EXTENT #23# #24# #22# EXCL::*HANDLER-CLUSTERS*))</div><div>    . #25#)</div><div>   [... EXCL::EVAL-AS-PROGN ]</div><div>   (CATCH . #27=(:ASDF-TEST-DONE (HANDLER-BIND ((ERROR #26#)) . #25#)))</div>
<div>   [... EXCL::%EVAL ]</div><div>   (LET</div><div><br></div><div>    . #28=(((ASDF-TEST::RESULT (CATCH . #27#)))</div><div>           (WHEN</div><div>            ASDF-TEST::*QUIT-WHEN-DONE*</div><div>            (ASDF-TEST::EXIT-LISP ASDF-TEST::RESULT))))</div>
<div>   [... EXCL::EVAL-AS-PROGN ]</div><div>   (BLOCK</div><div><br></div><div>    ASDF-TEST::CALL-WITH-TEST</div><div>    (ASDF-TEST::REDIRECT-OUTPUTS)</div><div>    (LET . #28#))</div><div>   [... EXCL::%EVAL ]</div><div>
   (ASDF-TEST::CALL-WITH-TEST #20#)</div><div>   (SYS::..RUNTIME-OPERATION #8# #20#)</div><div>   [... EXCL::%EVAL ]</div><div>   (EVAL</div><div><br></div><div>    (ASDF-TEST:WITH-TEST</div><div>     NIL</div><div>     (LOAD (STRING 'ASDF-TEST::|test-run-program.script|))))</div>
<div>   (EXCL::SHARP-DOT</div><div><br></div><div>    #29=#<EXCL:STRING-INPUT-SIMPLE-STREAM</div><div>          "'(#.(load(st..." pos 158</div><div>          @</div><div>          #x2031dbfa></div><div>
    #\.</div><div>    NIL)</div><div>   (EXCL::READ-DISPATCH-CHAR #29# #\#)</div><div>   (EXCL::READ-MAYBE-NOTHING #29# #\#)</div><div>   (EXCL::READ-LIST #29# #\()</div><div>   (EXCL::READ2 #29# T NIL T NIL NIL)</div><div>
   (EXCL::READ1 #29# T NIL T NIL NIL)</div><div>   (READ #29# T NIL T)</div><div>   (EXCL::READ-QUOTE #29# #\')</div><div>   (EXCL::READ2 #29# T NIL NIL NIL NIL)</div><div>   (EXCL::READ1 #29# T NIL NIL NIL NIL)</div>
<div>   (READ #29# T NIL)</div><div>   (READ-FROM-STRING</div><div><br></div><div>    "'(#.(load(string'|script-support.lisp|))#.(asdf-test::load-asdf)#.(asdf-test::frob-packages)#.(asdf-test::with-test()(load(string'|test-run-program.script|))))")</div>
<div>   (EXCL::DO-COMMAND-LINE-PROCESSING)</div><div>   (EXCL::START-LISP-EXECUTION T)</div><div>Above backtrace due to this condition:</div><div>These two expressions fail comparison with EQUAL:</div><div> "ok  1" evaluates to "ok  1"</div>
<div> (ASDF-TEST::DEWINDOWIZE (UIOP/RUN-PROGRAM:RUN-PROGRAM "echo ok  1" :OUTPUT :LINE)) evaluates to "ok 1"</div><div>Script failed</div><div><br></div><div><The Lisp process exited with status 1 (0x1)></div>
</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 14, 2013 at 10:16 PM, Robert Goldman <span dir="ltr"><<a href="mailto:rpgoldman@sift.net" target="_blank">rpgoldman@sift.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">These "ok 1" errors look deeply mystifying to me, since the two strings<br>
look quite similar to me.  Is it that run-program echo is somehow<br>
causing whitespace between "ok" and "1" to disappear?  What *is* that<br>
whitespace?  Just spaces, or are there tabs involved?<br>
<br>
Looking at test-run-program.script, it looks like there should always be<br>
only 1 space between "ok" and "1", but in the transcripts below there<br>
seem to be multiple additional spaces.  Even the fixed "ok 1" string<br>
literal in the file seems to be picking up some spaces.<br>
<br>
Is this a bug in your email program or something more deeply weird?<br>
<br>
Also, would you please let us know which tests failed?  I *assume*<br>
test-run-program, but having the titles would be helpful.<br>
<br>
Thanks,<br>
r<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Dave Cooper wrote:<br>
><br>
> With latest pull (with 3.0.2.22) I'm getting one failure on mlisp<br>
> windows and two on alisp windows (a few pulls ago, alisp windows was<br>
> passing all tests and mlisp was unknown but apparently failing several<br>
> which are apparently all fixed now, because the one mlisp failure does<br>
> not appear casemode related):<br>
><br>
><br>
><br>
> ===========<br>
> mlisp:<br>
><br>
> Above backtrace due to this condition:<br>
> These two expressions fail comparison with equal:<br>
>  "ok  1" evaluates to "ok  1"<br>
>  (asdf-test::dewindowize (uiop/run-program:run-program "echo ok  1"<br>
> :output :line)) evaluates to "ok 1"<br>
> Script failed<br>
><br>
> <The Lisp process exited with status 1 (0x1)><br>
><br>
><br>
><br>
> ===========<br>
> alisp:<br>
><br>
><br>
><br>
> Above backtrace due to this condition:<br>
> These two expressions fail comparison with equal:<br>
>  "ok  1" evaluates to "ok  1"<br>
>  (asdf-test::dewindowize (uiop/run-program:run-program "echo ok  1"<br>
> :output :line)) evaluates to "ok 1"<br>
> Script failed<br>
><br>
> <The Lisp process exited with status 1 (0x1)><br>
><br>
><br>
> Above backtrace due to this condition:<br>
> These two expressions fail comparison with EQUAL:<br>
>  (ASDF-TEST::SANITIZE-LOG (ASDF-TEST::RELOAD ASDF/DEFSYSTEM:DEFSYSTEM))<br>
> evaluates to ((:COMPILING :SYSTEM))<br>
>  (QUOTE ((:COMPILING :SYSTEM) (:COMPILE-TOPLEVEL :FILE1) (:LOAD-TOPLEVEL<br>
> :FILE1) (:COMPILE-TOPLEVEL :FILE2) (:LOAD-TOPLEVEL :FILE2))) evaluates<br>
> to ((:COMPILING :SYSTEM) (:COMPILE-TOPLEVEL :FILE1) (:LOAD-TOPLEVEL<br>
> :FILE1) (:COMPILE-TOPLEVEL :FILE2) (:LOAD-TOPLEVEL :FILE2))<br>
> Script failed<br>
><br>
> <The Lisp process exited with status 1 (0x1)><br>
><br>
><br>
><br>
><br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Robert P. Goldman<br>
Principal Scientist<br>
Smart Information Flow Technologies (d/b/a SIFT, LLC)<br>
<br>
211 N. First St., Suite 300<br>
Minneapolis, MN 55401<br>
<br>
Voice:    <a href="tel:%28612%29%20326-3934" value="+16123263934">(612) 326-3934</a><br>
Email:    rpgoldman@SIFT.net<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>My Best,<br><br>Dave Cooper, Genworks Support<br><a href="mailto:david.cooper@genworks.com">david.cooper@genworks.com</a>, <a href="http://dave.genworks.com">dave.genworks.com</a>(skype)<br>
USA: 248-327-3253(o), 1-248-330-2979(mobile)<br>UK: 0191 645 1699<br>
</div>