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

Side by Side Diff: third_party/libxslt/win32/runtests.py

Issue 2865973002: Check in the libxslt roll script. (Closed)
Patch Set: Consistent quotes. Created 3 years, 7 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
« no previous file with comments | « third_party/libxslt/win32/libxslt/xsltproc.dsp ('k') | third_party/libxslt/xsltConf.sh.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 import io
2 import os
3 import sys
4 import difflib
5
6 from os import path
7 from subprocess import Popen, PIPE
8
9 xsltproc = path.join(os.getcwd(), "win32", "bin.msvc", "xsltproc.exe")
10 if not path.isfile(xsltproc):
11 xsltproc = path.join(os.getcwd(), "win32", "bin.mingw", "xsltproc.exe")
12 if not path.isfile(xsltproc):
13 raise FileNotFoundError(xsltproc)
14
15 def runtests(xsl_dir, xml_dir="."):
16 old_dir = os.getcwd()
17 os.chdir(xsl_dir)
18
19 for xsl_file in os.listdir():
20 if not xsl_file.endswith(".xsl"):
21 continue
22 xsl_path = "./" + xsl_file
23 name = path.splitext(xsl_file)[0]
24
25 xml_path = path.join(xml_dir + "/" + name + ".xml")
26 if not path.isfile(xml_path):
27 continue
28
29 args = [ xsltproc, xsl_path, xml_path ]
30 p = Popen(args, stdout=PIPE, stderr=PIPE)
31 out_path = path.join(xml_dir, name + ".out")
32 err_path = path.join(xml_dir, name + ".err")
33 out_diff = diff(p.stdout, "<stdout>", name + ".out")
34 err_diff = diff(p.stderr, "<stderr>", name + ".err")
35
36 if (len(out_diff) or len(err_diff)):
37 sys.stdout.writelines(out_diff)
38 sys.stdout.writelines(err_diff)
39 print()
40
41 os.chdir(old_dir)
42
43 def diff(got_stream, got_name, expected_path):
44 text_stream = io.TextIOWrapper(got_stream, encoding="latin_1")
45 got_lines = text_stream.readlines()
46
47 if path.isfile(expected_path):
48 file = open(expected_path, "r", encoding="latin_1")
49 expected_lines = file.readlines()
50 else:
51 expected_lines = []
52
53 diff = difflib.unified_diff(expected_lines, got_lines,
54 fromfile=expected_path,
55 tofile=got_name)
56 return list(diff)
57
58 print("## Running REC tests")
59 runtests("tests/REC")
60
61 print("## Running general tests")
62 runtests("tests/general", "./../docs")
63
64 print("## Running exslt common tests")
65 runtests("tests/exslt/common")
66
67 print("## Running exslt functions tests")
68 runtests("tests/exslt/functions")
69
70 print("## Running exslt math tests")
71 runtests("tests/exslt/math")
72
73 print("## Running exslt saxon tests")
74 runtests("tests/exslt/saxon")
75
76 print("## Running exslt sets tests")
77 runtests("tests/exslt/sets")
78
79 print("## Running exslt strings tests")
80 runtests("tests/exslt/strings")
81
82 print("## Running exslt dynamic tests")
83 runtests("tests/exslt/dynamic")
84
85 print("## Running exslt date tests")
86 runtests("tests/exslt/date")
87
OLDNEW
« no previous file with comments | « third_party/libxslt/win32/libxslt/xsltproc.dsp ('k') | third_party/libxslt/xsltConf.sh.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698