Skip to content

Commit 10a0ff1

Browse files
committed
working on experimental tests
1 parent 02e2903 commit 10a0ff1

3 files changed

Lines changed: 47 additions & 38 deletions

File tree

tests/experimental/test_buildexamples.py

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
"""
22
Script to build the the dot2tex examples.
33
"""
4-
5-
import re, os, shutil, glob, sys, logging
4+
import glob
5+
import logging
6+
import os
7+
import re
8+
import shutil
9+
import subprocess
10+
import sys
611

712
from os.path import join, basename, splitext, normpath, abspath
813

@@ -30,7 +35,8 @@ def copyifnewer(source, dest):
3035
source_ts = os.path.getmtime(source)
3136
dest_ts = os.path.getmtime(dest)
3237
# compare timestamps
33-
if source_ts > dest_ts: copy = True
38+
if source_ts > dest_ts:
39+
copy = True
3440
else:
3541
copy = True
3642
dir = os.path.dirname(dest)
@@ -42,36 +48,40 @@ def copyifnewer(source, dest):
4248

4349

4450
def runcmd(syscmd):
45-
#err = os.system(syscmd)
46-
sres = os.popen(syscmd)
47-
resdata = sres.read()
48-
err = sres.close()
51+
"""
52+
Run a system command.
53+
"""
54+
result = subprocess.run(syscmd, text=True, capture_output=True)
55+
err = result.returncode
4956
if err:
5057
log.warning('Failed to run command:\n%s', syscmd)
51-
log.debug('Output:\n%s', resdata)
58+
log.debug('Output:\n%s', result)
5259
return err
5360

5461

5562
def meps(filename):
5663
fn = splitext(filename)[0]
5764
s = "latex -halt-on-error -interaction nonstopmode %s.tex" % fn
5865
err = runcmd(s)
59-
if err: return err
66+
if err:
67+
return err
6068
if sys.platform == 'win32':
6169
s = "dvips -Ppdf -G0 -D600 -E* -o%s.eps %s.dvi" % (fn, fn)
6270
err = runcmd(s)
63-
if err: return err
71+
if err:
72+
return err
6473
s = "epstool --bbox --copy --output %s_tmp.eps %s.eps" % (fn, fn)
6574
err = runcmd(s)
66-
if err: return err
75+
if err:
76+
return err
6777
try:
6878
os.remove("%s.eps" % fn)
6979
os.remove("%s.dvi" % fn)
7080
os.remove("%s.aux" % fn)
7181
os.remove("%s.log" % fn)
72-
#os.remove("%s.pgf" % fn)
82+
# os.remove("%s.pgf" % fn)
7383

74-
except:
84+
except OSError:
7585
raise
7686
os.rename("%s_tmp.eps" % fn, "%s.eps" % fn)
7787
s = "epstopdf %s.eps" % fn
@@ -81,7 +91,8 @@ def meps(filename):
8191
err = runcmd(s)
8292
s = "ps2eps -B -f %s.ps" % fn
8393
err = runcmd(s)
84-
if err: return err
94+
if err:
95+
return err
8596
s = "epstopdf %s.eps" % fn
8697
err = runcmd(s)
8798

@@ -117,24 +128,22 @@ def make_img(c, filenm, name):
117128
return err
118129

119130
if (c.find('--crop') > -1):
120-
#os.system('del %s.png %s.jpg' % (name,name))
131+
# os.system('del %s.png %s.jpg' % (name,name))
121132
err = create_pdf(filename)
122-
#print("using mppdf")
133+
# print("using mppdf")
123134
else:
124135
err = meps(filename)
125136

126137
return err
127138

128139

129140
def build_gallery(filelist):
130-
#os.chdir(EXAMPLES_DIR)
131-
entrylist = []
141+
# os.chdir(EXAMPLES_DIR)
132142
failedfiles = []
133143
for file in filelist:
134144
f = open(file, 'r')
135145
data = f.read()
136146
f.close()
137-
entry = {}
138147
dirname, filename = os.path.split(file)
139148
os.chdir(dirname)
140149
name = os.path.splitext(filename)[0]
@@ -167,13 +176,10 @@ def build_gallery(filelist):
167176

168177
failedfiles = build_gallery(filelist)
169178
if failedfiles:
170-
log.warning('Failed files: %s', failedfiles);
179+
log.warning('Failed files: %s', failedfiles)
171180
sys.exit(1)
172181
else:
173182
print("All tests passed!")
174183
sys.exit(0)
175184

176-
#filelist=['distances.dot','tikzshapes.dot']
177-
178-
179-
185+
# filelist=['distances.dot','tikzshapes.dot']

tests/experimental/test_comparedotparsing.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
The basic test is to compare PNG renderings of the original graph and the
44
parsed and saved version.
55
"""
6-
6+
from pathlib import Path
77
import unittest
88

99
# import dot2tex.dotparsing as dotp
@@ -27,12 +27,12 @@
2727

2828

2929
# Directory with test files
30-
BASE_DIR = join(os.path.dirname(__file__), "testgraphs/")
30+
BASE_DIR = Path(__file__).parent.parent / "testgraphs/"
3131
TESTFILES_DIR = "parsetests"
32-
TESTFILES_PATH = join(BASE_DIR, TESTFILES_DIR)
32+
TESTFILES_PATH = BASE_DIR / TESTFILES_DIR
3333

34-
PNG_DIR = join(TESTFILES_PATH, 'pngs')
35-
DOT_DIR = join(TESTFILES_PATH, 'dpdots')
34+
PNG_DIR = TESTFILES_PATH / 'pngs'
35+
DOT_DIR = TESTFILES_PATH / 'dpdots'
3636

3737
graphparser = dotparsing.DotDataParser()
3838

@@ -127,14 +127,16 @@ def test_subgraphs(self):
127127
def test_quoting(self):
128128
self.assertEqual(test_dotfile("quoting.dot"), 1)
129129

130-
def test_unicode1(self):
131-
self.assertEqual(test_dotfile("unicode1.dot"), 1)
130+
# the following three files are missing, so desactivate
131+
132+
# def test_unicode1(self):
133+
# self.assertEqual(test_dotfile("unicode1.dot"), 1)
132134

133-
def test_current(self):
134-
self.assertEqual(test_dotfile("current.dot"), 1)
135+
# def test_current(self):
136+
# self.assertEqual(test_dotfile("current.dot"), 1)
135137

136-
def test_ports(self):
137-
self.assertEqual(test_dotfile("ports.dot"), 1)
138+
# def test_ports(self):
139+
# self.assertEqual(test_dotfile("ports.dot"), 1)
138140

139141

140142
if __name__ == "__main__":

tests/experimental/test_multirender.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
from pathlib import Path
23
import sys
34

45
from os.path import join, basename, splitext, normpath, abspath
@@ -25,10 +26,10 @@
2526
# log.setLevel(logging.INFO)
2627

2728
# Directory with test files
28-
BASE_DIR = join(abspath(os.path.dirname(__file__)), "")
29+
BASE_DIR = Path(__file__).absolute().parent.parent
2930
TESTFILES_DIR = "testgraphs/"
30-
TESTFILES_PATH = join(BASE_DIR, TESTFILES_DIR)
31-
DEST_DIR = join(BASE_DIR, 'tmp/')
31+
TESTFILES_PATH = BASE_DIR / TESTFILES_DIR
32+
DEST_DIR = BASE_DIR / 'tmp/'
3233

3334

3435
def runcmd(syscmd):

0 commit comments

Comments
 (0)