Merge pull request #19 from curtacircuitos/python3
Python 3 tests passing
This commit is contained in:
commit
4b92e1b59d
11 changed files with 28 additions and 30 deletions
|
|
@ -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
4
doc-requirements.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# Doc requirements
|
||||
Sphinx==1.2.3
|
||||
numpydoc==0.5
|
||||
|
||||
|
|
@ -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]}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)])
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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():
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
||||
|
|
|
|||
|
|
@ -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
3
test-requirements.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Test requirements
|
||||
coverage==3.7.1
|
||||
nose==1.3.4
|
||||
Loading…
Add table
Add a link
Reference in a new issue