Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: tools/gypv8sh.py

Issue 364623002: Use subprocess.Popen to communicate with d8 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """This script is used by chrome_tests.gypi's js2webui action to maintain the 6 """This script is used by chrome_tests.gypi's js2webui action to maintain the
7 argument lists and to generate inlinable tests. 7 argument lists and to generate inlinable tests.
8 """ 8 """
9 9
10 import json 10 import json
(...skipping 26 matching lines...) Expand all
37 if os.path.exists(icudatafile): 37 if os.path.exists(icudatafile):
38 cmd.extend(['--icu-data-file=%s' % icudatafile]) 38 cmd.extend(['--icu-data-file=%s' % icudatafile])
39 arguments = [js2webui, inputfile, inputrelfile, opts.deps_js, 39 arguments = [js2webui, inputfile, inputrelfile, opts.deps_js,
40 cxxoutfile, test_type] 40 cxxoutfile, test_type]
41 cmd.extend(['-e', "arguments=" + json.dumps(arguments), mock_js, 41 cmd.extend(['-e', "arguments=" + json.dumps(arguments), mock_js,
42 test_api, js2webui]) 42 test_api, js2webui])
43 if opts.verbose or opts.impotent: 43 if opts.verbose or opts.impotent:
44 print cmd 44 print cmd
45 if not opts.impotent: 45 if not opts.impotent:
46 try: 46 try:
47 with open(cxxoutfile, 'w') as f: 47 p = subprocess.Popen(cmd, stdout=subprocess.PIPE, bufsize=0)
48 subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f) 48 out, err = p.communicate()
49 if p.returncode:
50 raise Exception('Failed to run d8', out, err)
51 with open(cxxoutfile, 'wb') as f:
52 f.write(out)
49 shutil.copyfile(inputfile, jsoutfile) 53 shutil.copyfile(inputfile, jsoutfile)
50 except Exception, ex: 54 except Exception, ex:
51 if os.path.exists(cxxoutfile): 55 if os.path.exists(cxxoutfile):
52 # The contents of the output file will include the error message.
53 print open(cxxoutfile).read()
54 os.remove(cxxoutfile) 56 os.remove(cxxoutfile)
55 if os.path.exists(jsoutfile): 57 if os.path.exists(jsoutfile):
56 os.remove(jsoutfile) 58 os.remove(jsoutfile)
57 raise 59 raise
58 60
59 61
60 if __name__ == '__main__': 62 if __name__ == '__main__':
61 sys.exit(main()) 63 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698