3
3
import filecmp
4
4
from os .path import join as pjoin , dirname , isdir
5
5
import shutil
6
- from subprocess import call , Popen , PIPE
6
+ import subprocess
7
7
import sys
8
8
import tempfile
9
9
19
19
def setup_module ():
20
20
"""Check we have a recent enough version of sphinx installed.
21
21
"""
22
- ret = call ( [sys .executable , '-msphinx' , '--help' ],
23
- stdout = PIPE , stderr = PIPE )
22
+ args = [sys .executable , '-msphinx' , '--help' ]
23
+ ret = subprocess . call ( args )
24
24
if ret != 0 :
25
- raise RuntimeError (
26
- "'{} -msphinx' does not return 0" .format (sys .executable ))
25
+ raise RuntimeError ("'{}' returned {}" .format (' ' .join (args ), ret ))
27
26
28
27
29
28
@cbook .deprecated ("2.1" , alternative = "filecmp.cmp" )
@@ -45,16 +44,14 @@ def setup_class(cls):
45
44
cls .html_dir = pjoin (cls .page_build , 'html' )
46
45
cls .doctree_dir = pjoin (cls .page_build , 'doctrees' )
47
46
# Build the pages with warnings turned into errors
48
- cmd = [sys .executable , '-msphinx' , '-W' , '-b' , 'html' ,
49
- '-d' , cls .doctree_dir ,
50
- TINY_PAGES ,
51
- cls .html_dir ]
52
- proc = Popen (cmd , stdout = PIPE , stderr = PIPE )
53
- out , err = proc .communicate ()
54
- if proc .returncode != 0 :
47
+ args = [sys .executable , '-msphinx' , '-W' , '-b' , 'html' ,
48
+ '-d' , cls .doctree_dir ,
49
+ TINY_PAGES ,
50
+ cls .html_dir ]
51
+ ret = subprocess .call ([args ])
52
+ if ret != 0 :
55
53
raise RuntimeError (
56
- "'{} -msphinx' failed with stdout:\n {}\n stderr:\n {}\n "
57
- .format (sys .executable , out , err ))
54
+ "'{}' returned {}" .format (' ' .join (args ), ret ))
58
55
except Exception as e :
59
56
shutil .rmtree (cls .page_build )
60
57
raise e
0 commit comments