@echo "  make doc              generate the documentation"
        @echo "  make view_doc         open the documentation index"
        @echo "  make clean            remove the generated files"
+       @echo "  make upload           upload the module on PyPI"
 
 .PHONY: build
 build:
        $(SETUP) build_ext --inplace
 
 .PHONY: test
-test:
-       $(SETUP) test
+test: build
+       $(PYTHON) -m unittest -v
 
 .PHONY: doc
 doc:
        $(RM) build dist MANIFEST venv LinPy.egg-info $(NAME)/_islhelper.*.so
        find . -name __pycache__ | xargs $(RM)
        $(MAKE) -C doc $@
+
+.PHONY: upload
+upload:
+       $(SETUP) register sdist upload
 
 # You should have received a copy of the GNU General Public License
 # along with LinPy.  If not, see <http://www.gnu.org/licenses/>.
 
-from setuptools import setup, Extension
+from distutils.core import setup, Extension
 
 
 with open('linpy/_version.py') as file:
         Extension('linpy._islhelper',
             sources=['linpy/_islhelper.c'],
             libraries=['isl'])
-    ],
-    test_suite='linpy.tests'
+    ]
 )