Python 3 tests passing

This commit is contained in:
Hamilton Kibbe 2015-02-18 21:14:30 -05:00
parent 8e4fc55504
commit e71d7a24b5
11 changed files with 28 additions and 30 deletions

View file

@ -1,16 +1,19 @@
language: python
python:
- "2.7"
- "3.3"
- "3.4"
# command to install dependencies
install:
install:
- "pip install -r requirements.txt"
- "pip install -r test-requirements.txt"
- "pip install coveralls"
# command to run tests
script:
script:
- make test-coverage
# Coveralls
after_success:
after_success:
- coveralls

4
doc-requirements.txt Normal file
View file

@ -0,0 +1,4 @@
# Doc requirements
Sphinx==1.2.3
numpydoc==0.5

View file

@ -142,7 +142,7 @@ class ExcellonFile(CamFile):
self.units = 'metric'
for statement in self.statements:
statement.to_metric()
for tool in self.tools.itervalues():
for tool in iter(self.tools.values()):
tool.to_metric()
for primitive in self.primitives:
primitive.to_metric()
@ -290,7 +290,7 @@ class ExcellonParser(object):
elif line[0] == 'R' and self.state != 'HEADER':
stmt = RepeatHoleStmt.from_excellon(line, self._settings())
self.statements.append(stmt)
for i in xrange(stmt.count):
for i in range(stmt.count):
self.pos[0] += stmt.xdelta
self.pos[1] += stmt.ydelta
self.hits.append((self.active_tool, tuple(self.pos)))
@ -390,8 +390,8 @@ def detect_excellon_format(filename):
pass
# See if any of the dimensions are left with only a single option
formats = set(key[0] for key in results.iterkeys())
zeros = set(key[1] for key in results.iterkeys())
formats = set(key[0] for key in iter(results.keys()))
zeros = set(key[1] for key in iter(results.keys()))
if len(formats) == 1:
detected_format = formats.pop()
if len(zeros) == 1:
@ -408,7 +408,7 @@ def detect_excellon_format(filename):
size, count, diameter = results[key]
scores[key] = _layer_size_score(size, count, diameter)
minscore = min(scores.values())
for key in scores.iterkeys():
for key in iter(scores.keys()):
if scores[key] == minscore:
return {'format': key[0], 'zeros': key[1]}

View file

@ -586,4 +586,4 @@ def pairwise(iterator):
"""
itr = iter(iterator)
while True:
yield tuple([itr.next() for i in range(2)])
yield tuple([next(itr) for i in range(2)])

View file

@ -93,8 +93,7 @@ class FSParamStmt(ParamStmt):
param = stmt_dict.get('param')
zeros = 'leading' if stmt_dict.get('zero') == 'L' else 'trailing'
notation = 'absolute' if stmt_dict.get('notation') == 'A' else 'incremental'
x = map(int, stmt_dict.get('x'))
fmt = (x[0], x[1])
fmt = tuple(map(int, stmt_dict.get('x')))
return cls(param, zeros, notation, fmt)
def __init__(self, param, zero_suppression='leading',

View file

@ -7,7 +7,7 @@ import os
from ..cam import FileSettings
from ..excellon import read, detect_excellon_format, ExcellonFile, ExcellonParser
from ..excellon_statements import ExcellonTool
from tests import *
from .tests import *
NCDRILL_FILE = os.path.join(os.path.dirname(__file__),
@ -47,14 +47,14 @@ def test_conversion():
ncdrill.to_metric()
assert_equal(ncdrill.settings.units, 'metric')
for tool in ncdrill_inch.tools.itervalues():
for tool in iter(ncdrill_inch.tools.values()):
tool.to_metric()
for primitive in ncdrill_inch.primitives:
primitive.to_metric()
for statement in ncdrill_inch.statements:
statement.to_metric()
for m_tool, i_tool in zip(ncdrill.tools.itervalues(), ncdrill_inch.tools.itervalues()):
for m_tool, i_tool in zip(iter(ncdrill.tools.values()), iter(ncdrill_inch.tools.values())):
assert_equal(i_tool, m_tool)
for m, i in zip(ncdrill.primitives,ncdrill_inch.primitives):

View file

@ -539,7 +539,8 @@ def test_statement_string():
stmt = Statement('PARAM')
assert_equal(str(stmt), '<Statement type=PARAM>')
stmt.test='PASS'
assert_equal(str(stmt), '<Statement test=PASS type=PARAM>')
assert_true('test=PASS' in str(stmt))
assert_true('type=PARAM' in str(stmt))
def test_ADParamStmt_factory():

View file

@ -20,5 +20,5 @@ __all__ = ['assert_in', 'assert_not_in', 'assert_equal', 'assert_not_equal',
def assert_array_almost_equal(arr1, arr2, decimal=6):
assert_equal(len(arr1), len(arr2))
for i in xrange(len(arr1)):
for i in range(len(arr1)):
assert_almost_equal(arr1[i], arr2[i], decimal)

View file

@ -74,7 +74,6 @@ def parse_gerber_value(value, format=(2, 5), zero_suppression='trailing'):
raise ValueError('Parser only supports precision up to 6:7 format')
# Remove extraneous information
#value = value.strip()
value = value.lstrip('+')
negative = '-' in value
if negative:
@ -140,7 +139,7 @@ def write_gerber_value(value, format=(2, 5), zero_suppression='trailing'):
digits = [val for val in fmtstring % value if val != '.']
# If all the digits are 0, return '0'.
digit_sum = reduce(lambda x,y:x+int(y), digits, 0)
digit_sum = sum([int(digit) for digit in digits])
if digit_sum == 0:
return '0'

View file

@ -1,15 +1,4 @@
## The following requirements were added by pip --freeze:
Jinja2==2.7.3
MarkupSafe==0.23
Pygments==1.6
Sphinx==1.2.3
cairocffi==0.6
cffi==0.8.6
coverage==3.7.1
docutils==0.12
nose==1.3.4
numpydoc==0.5
pycparser==2.10
pyparsing==2.0.2
svgwrite==1.1.6
wsgiref==0.1.2

3
test-requirements.txt Normal file
View file

@ -0,0 +1,3 @@
# Test requirements
coverage==3.7.1
nose==1.3.4