3434 (indent 0 ))
3535 (let  ((path (make-symbol  " path" 
3636 `(let*  ((, pathmake-temp-file  " pye-test-" t ))
37-  (python-environment-root  , path
37+  (python-environment-directory  , path
3838 (unwind-protect 
3939 (progn  ,@body )
4040 (delete-directory  , patht )))))
4141
4242(defmacro  pye-deftest  (name  args  &rest  body )
43-  " Customized `ert-deftest' . Bind `python-environment-root '  to a
43+  " Customized `ert-deftest' . Bind `python-environment-directory '  to a
4444temporary directory while executing BODY."  
4545 (declare  (debug  (&define :name  test
4646 name sexp [&optional  stringp]
@@ -83,6 +83,95 @@ variable can be given as ENVIRONMENT (see `pye-with-mixed-environment')."
8383 (error  " Subprocess terminated with code %S .\n Output:\n %s  " 
8484 code (buffer-string )))))))))
8585
86+ (defmacro  pye-test-with-capture-message  (&rest  form )
87+  (declare  (debug  (&rest  form))
88+  (indent 0 ))
89+  `(let  ((start (make-marker ))
90+  (message-buffer (get-buffer  " *Messages*" 
91+  (with-current-buffer  message-buffer
92+  (set-marker  start (point-max )))
93+  (progn  ,@form )
94+  (with-current-buffer  message-buffer
95+  (buffer-substring  start (point-max )))))
96+ 
97+ (ert-deftest  pye-test-test-with-capture-message ()
98+  (should  (equal  (pye-test-with-capture-message
99+  (message  " test-1 " )
100+  (message  " test-2 " ))
101+  " test-1\n test-2\n " 
102+ 
103+ (defun  pye-test-proc-runner-output-message  (proc-runner  desired-output )
104+  (let*  ((command '(" echo" " DUMMY-ECHO-MESSAGE" 
105+  (python-environment--verbose t )
106+  (message-output 
107+  (pye-test-with-capture-message
108+  (funcall  proc-runner " DUMMY-MESSAGE" 
109+  (should  (equal  message-output desired-output))))
110+ 
111+ (ert-deftest  pye-test-deferred-process-output-message ()
112+  (pye-test-proc-runner-output-message
113+  (lambda  (msg  command )
114+  (deferred:sync! (python-environment--deferred-process msg command))) " \ 
115+ DUMMY-MESSAGE...Done 
116+ DUMMY-ECHO-MESSAGE 
117+ 
118+ " 
119+ 
120+ (ert-deftest  pye-test-blocking-process-output-message ()
121+  (pye-test-proc-runner-output-message
122+  #'python-environment--blocking-process   " \ 
123+ DUMMY-MESSAGE (SYNC)... 
124+ DUMMY-ECHO-MESSAGE 
125+ 
126+ DUMMY-MESSAGE (SYNC)...Done 
127+ " 
128+ 
129+ (defun  pye-test-deferred-process-should-error  ()
130+  (let  (err)
131+  (deferred:sync!
132+  (deferred:error
133+  (python-environment--deferred-process
134+  " DUMMY-MESSAGE" 
135+  '(" false" 
136+  (lambda  (got ) (setq  err got))))
137+  (should  err)))
138+ 
139+ (ert-deftest  pye-test-deferred-process-error-without-verbose ()
140+  (let  ((python-environment--verbose nil ))
141+  (pye-test-deferred-process-should-error)))
142+ 
143+ (ert-deftest  pye-test-deferred-process-noerror-without-verbose ()
144+  (let  ((python-environment--verbose nil ))
145+  (deferred:sync!
146+  (python-environment--deferred-process " DUMMY-MESSAGE" " true" 
147+ 
148+ (ert-deftest  pye-test-blocking-process-error-without-verbose ()
149+  (let  ((python-environment--verbose nil ))
150+  (should-error 
151+  (python-environment--blocking-process " DUMMY-MESSAGE" " false" 
152+ 
153+ (ert-deftest  pye-test-blocking-process-noerror-without-verbose ()
154+  (let  ((python-environment--verbose nil ))
155+  (python-environment--blocking-process " DUMMY-MESSAGE" " true" 
156+ 
157+ (ert-deftest  pye-test-deferred-process-error-with-verbose ()
158+  (let  ((python-environment--verbose t ))
159+  (pye-test-deferred-process-should-error)))
160+ 
161+ (ert-deftest  pye-test-deferred-process-noerror-with-verbose ()
162+  (let  ((python-environment--verbose t ))
163+  (deferred:sync!
164+  (python-environment--deferred-process " DUMMY-MESSAGE" " true" 
165+ 
166+ (ert-deftest  pye-test-blocking-process-error-with-verbose ()
167+  (let  ((python-environment--verbose t ))
168+  (should-error 
169+  (python-environment--blocking-process " DUMMY-MESSAGE" " false" 
170+ 
171+ (ert-deftest  pye-test-blocking-process-noerror-with-verbose ()
172+  (let  ((python-environment--verbose t ))
173+  (python-environment--blocking-process " DUMMY-MESSAGE" " true" 
174+ 
86175(pye-deftest pye-test-make-environment-with-non-existing-command ()
87176 (should-error  (python-environment-make nil  '(" non-existing-command" 
88177
@@ -103,7 +192,7 @@ variable can be given as ENVIRONMENT (see `pye-with-mixed-environment')."
103192 (should-error  (pye-eval-in-subprocess '(error  " some error" 
104193
105194(pye-deftest pye-test-bare-make-environment ()
106-  (let  ((tmp-home python-environment-root ))
195+  (let  ((tmp-home python-environment-directory ))
107196 (pye-eval-in-subprocess '(deferred:sync! (python-environment-make))
108197 `((" HOME" , tmp-home
109198 (should  (file-directory-p  (expand-file-name 
0 commit comments