# # Copyright (c) 2009 Testrepository Contributors # # Licensed under either the Apache License, Version 2.0 or the BSD 3-clause # license at the users choice. A copy of both licenses are available in the # project source as Apache-2.0 and BSD. You may not use this file except in # compliance with one of these two licences. # # Unless required by applicable law or agreed to in writing, software # distributed under these licenses is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # license you chose for the specific language governing permissions and # limitations under that license. """Tests for setup.py.""" import doctest import os.path import subprocess import sys from testtools import ( TestCase, ) from testtools.matchers import ( DocTestMatches, MatchesAny, ) class TestCanSetup(TestCase): def test_bdist(self): # Single smoke test to make sure we can build a package. path = os.path.join(os.path.dirname(__file__), '..', '..', 'setup.py') proc = subprocess.Popen([sys.executable, path, 'bdist'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True) output, err = proc.communicate() self.assertThat(output, MatchesAny( # win32 DocTestMatches("""... running install_scripts ... Installing testr script... ...""", doctest.ELLIPSIS), # unixen DocTestMatches("""... Installing testr script to build/.../bin ...""", doctest.ELLIPSIS) )) self.assertEqual(0, proc.returncode, "Setup failed out=%r err=%r" % (output, err))