def generate_verinfo(self, base_dir): from snakeoil.version import get_git_version log.info('generating _verinfo') data = get_git_version(base_dir) if not data: return path = os.path.join(base_dir, self.package_namespace, '_verinfo.py') with open(path, 'w') as f: f.write('version_info=%r' % (data,))
def _run_generate_verinfo(self, rebuilds): from snakeoil.version import get_git_version ver_path = self.get_module_outfile( self.build_lib, (self.package_namespace,), '_verinfo') # this should check mtime... if not os.path.exists(ver_path): log.info('generating _verinfo') with open(ver_path, 'w') as f: f.write("version_info=%r" % (get_git_version('.'),)) self.byte_compile([ver_path]) rebuilds.append((ver_path, os.lstat(ver_path).st_mtime))
def _run_generate_verinfo(self, py3k_rebuilds): ver_path = self.get_module_outfile(self.build_lib, (self.package_namespace, ), '_verinfo') # this should check mtime... if not os.path.exists(ver_path): log.info('generating _verinfo') from snakeoil import version open(ver_path, 'w').write("version_info=%r" % (version.get_git_version('.'), )) self.byte_compile([ver_path]) py3k_rebuilds.append((ver_path, os.lstat(ver_path).st_mtime))
def _run_generate_verinfo(self, rebuilds=None): ver_path = self.get_module_outfile(self.build_lib, (self.package_namespace, ), '_verinfo') # this should check mtime... if not os.path.exists(ver_path): from snakeoil.version import get_git_version log.info('generating _verinfo') with open(ver_path, 'w') as f: f.write("version_info=%r" % (get_git_version('.'), )) self.byte_compile([ver_path]) if rebuilds is not None: rebuilds.append((ver_path, os.lstat(ver_path).st_mtime))
def test_get_git_version_good_dev(self): with mock.patch('snakeoil.version._run_git') as run_git: # dev version run_git.return_value = ( b'1ff76b021d208f7df38ac524537b6419404f1c64\nMon Sep 25 13:50:24 2017 -0400', 0) result = version.get_git_version('nonexistent') expected = { 'rev': '1ff76b021d208f7df38ac524537b6419404f1c64', 'date': 'Mon Sep 25 13:50:24 2017 -0400', 'tag': None, 'commits': 2, } assert result == expected
def generate_verinfo(self, base_dir): log.info('generating _verinfo') from snakeoil.version import get_git_version data = get_git_version(base_dir) if not data: return if self.old_verinfo: content = 'git rev %s, date %s' % (data['rev'], data['date']) content = 'version_info="%s"' % content else: content = 'version_info=%r' % (data, ) path = os.path.join(base_dir, self.package_namespace, '_verinfo.py') open(path, 'w').write(content)
def generate_verinfo(self, base_dir): log.info('generating _verinfo') from snakeoil.version import get_git_version data = get_git_version(base_dir) if not data: return if self.old_verinfo: content = 'git rev %s, date %s' % (data['rev'], data['date']) content = 'version_info="%s"' % content else: content = 'version_info=%r' % (data,) path = os.path.join(base_dir, self.package_namespace, '_verinfo.py') open(path, 'w').write(content)
def generate_verinfo(self, base_dir): """Generate project version module. This is used by the --version option in interactive programs among other things. """ from snakeoil.version import get_git_version log.info('generating _verinfo') data = get_git_version(base_dir) if not data: return path = os.path.join(base_dir, self.package_namespace, '_verinfo.py') with open(path, 'w') as f: f.write('version_info=%r' % (data,))
def generate_verinfo(self, base_dir): """Generate project version module. This is used by the --version option in interactive programs among other things. """ from snakeoil.version import get_git_version log.info('generating _verinfo') data = get_git_version(base_dir) if not data: return path = os.path.join(base_dir, self.package_namespace, '_verinfo.py') with open(path, 'w') as f: f.write('version_info=%r' % (data, ))
def test_get_git_version_good_tag(self): with mock.patch('snakeoil.version._run_git') as run_git, \ mock.patch('snakeoil.version._get_git_tag') as get_git_tag: # tagged, release version run_git.return_value = ( b'1ff76b021d208f7df38ac524537b6419404f1c64\nMon Sep 25 13:50:24 2017 -0400', 0) get_git_tag.return_value = '1.1.1' result = version.get_git_version('nonexistent') expected = { 'rev': '1ff76b021d208f7df38ac524537b6419404f1c64', 'date': 'Mon Sep 25 13:50:24 2017 -0400', 'tag': '1.1.1', } assert result == expected
def generate_verinfo(self, base_dir): """Generate project version module. This is used by the --version option in interactive programs among other things. """ with syspath(PACKAGEDIR, MODULE == 'snakeoil'): from snakeoil.version import get_git_version data = get_git_version(base_dir) if not data: return path = os.path.join(base_dir, '_verinfo.py') log.info('generating version info: %s' % path) with open(path, 'w') as f: f.write('version_info=%r' % (data, ))
def test_get_git_version_not_available(self): with mock.patch('snakeoil.version._run_git') as run_git: run_git.side_effect = EnvironmentError(errno.ENOENT, 'git not found') assert version.get_git_version('nonexistent') is None
def test_get_git_version_error(self): with mock.patch('snakeoil.version._run_git') as run_git: run_git.return_value = (b'foo', 1) assert version.get_git_version('nonexistent') is None
def test_get_git_version_exc(self): with pytest.raises(OSError): with mock.patch('snakeoil.version._run_git') as run_git: run_git.side_effect = OSError(errno.EIO, 'Input/output error') version.get_git_version('nonexistent')
def test_get_git_version_non_repo(self, tmpdir): assert version.get_git_version(str(tmpdir)) is None