def test_pwd_version_clean(self, mock_git): mock_git.return_value = 'vers_1' self.assertEqual(utils.pwd_version(), 'vers_1') mock_git.return_value = 've rs _ 2' self.assertEqual(utils.pwd_version(), 'vers_2') mock_git.return_value = 'vers -3_1:1' self.assertEqual(utils.pwd_version(), 'vers-3_11') mock_git.return_value = 'vers -4_1!$@%#&$()2' self.assertEqual(utils.pwd_version(), 'vers-4_12')
def test_pwd_version(self, mock_time, mock_bzr, mock_hg, mock_git): self.assertEqual(utils.pwd_version(), 'ver_GIT') mock_git.return_value = None self.assertEqual(utils.pwd_version(), 'ver_HG') mock_hg.return_value = None self.assertEqual(utils.pwd_version(), 'ver_BZR') mock_bzr.return_value = None with self.runner.isolated_filesystem(): with open('setup.py', 'w') as f: f.write("from setuptools import setup\n") f.write("setup(version='1.0')") self.assertEqual(utils.pwd_version(), '1.0') setup_version = ( 'Building lxml version 3.4.4.' '\nBuilding without Cython.' '\nUsing build configuration of libxslt 1.1.28' '\n3.4.4' ) with patch('shub.utils.run_python', return_value=setup_version): self.assertEqual(utils.pwd_version(), '3.4.4') os.mkdir('subdir') os.chdir('subdir') self.assertEqual(utils.pwd_version(), '101') open('../scrapy.cfg', 'w').close() self.assertEqual(utils.pwd_version(), '1.0')
def get_version(self): if not self.version or self.version == 'AUTO': return pwd_version() elif self.version == 'GIT': return pwd_git_version() elif self.version == 'HG': return pwd_hg_version() elif self.version: return str(self.version)