Skip to content
This repository was archived by the owner on Apr 14, 2024. It is now read-only.

travis support #9

Merged
merged 1 commit into from
Nov 12, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ dist/
*.pyc
*.o
*.so
.coverage
16 changes: 16 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
language: python

python:
- 2.6
- 2.7
- 3.3
- 3.4

install:
- pip install nose coveralls

script:
- python setup.py nosetests --with-coverage

after_success:
- coveralls
23 changes: 13 additions & 10 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
#!/usr/bin/env python
from distutils.core import setup, Extension
from setuptools import setup
from distutils.core import Extension
from distutils.command.build_py import build_py
from distutils.command.build_ext import build_ext

import os, sys

# wow, this is a mixed bag ... I am pretty upset about all of this ...
# wow, this is a mixed bag ... I am pretty upset about all of this ...
setuptools_build_py_module = None
try:
# don't pull it in if we don't have to
if 'setuptools' in sys.modules:
if 'setuptools' in sys.modules:
import setuptools.command.build_py as setuptools_build_py_module
from setuptools.command.build_ext import build_ext
except ImportError:
Expand All @@ -25,23 +26,23 @@ def run(self):
# END ignore errors

def get_data_files(self):
"""Can you feel the pain ? So, in python2.5 and python2.4 coming with maya,
"""Can you feel the pain ? So, in python2.5 and python2.4 coming with maya,
the line dealing with the ``plen`` has a bug which causes it to truncate too much.
It is fixed in the system interpreters as they receive patches, and shows how
bad it is if something doesn't have proper unittests.
The code here is a plain copy of the python2.6 version which works for all.

Generate list of '(package,src_dir,build_dir,filenames)' tuples"""
data = []
if not self.packages:
return data

# this one is just for the setup tools ! They don't iniitlialize this variable
# when they should, but do it on demand using this method.Its crazy
if hasattr(self, 'analyze_manifest'):
self.analyze_manifest()
# END handle setuptools ...

for package in self.packages:
# Locate package source directory
src_dir = self.get_package_dir(package)
Expand All @@ -60,13 +61,13 @@ def get_data_files(self):
]
data.append((package, src_dir, build_dir, filenames))
return data

build_py.get_data_files = get_data_files
if setuptools_build_py_module:
setuptools_build_py_module.build_py._get_data_files = get_data_files
# END apply setuptools patch too


setup(cmdclass={'build_ext':build_ext_nofail},
name = "async",
version = "0.6.1",
Expand All @@ -79,5 +80,7 @@ def get_data_files(self):
ext_modules=[Extension('async.mod.zlib', ['async/mod/zlibmodule.c'], libraries=['z'])],
license = "BSD License",
zip_safe=False,
long_description = """Async is a framework to process interdependent tasks in a pool of workers"""
long_description = """Async is a framework to process interdependent tasks in a pool of workers""",
tests_require=('nose'),
test_suite='nose.collector'
)