def jarname(target, extension='.jar'): # TODO(John Sirois): incorporate version _, id_, _ = target.get_artifact_info() # Cap jar names quite a bit lower than the standard fs limit of 255 characters since these # artifacts will often be used outside pants and those uses may manipulate (expand) the jar # filenames blindly. return safe_filename(id_, extension, max_length=200)
def test_shorten(self): self.assertEqual( '**.jill', safe_filename('jack', '.jill', digest=self.FixedDigest(2), max_length=8))
def _sha_file_by_id(self, id): return os.path.join(self._root, safe_filename(id, extension='.hash'))
def test_shorten_fail(self): with pytest.raises(ValueError): safe_filename('jack', '.beanstalk', digest=self.FixedDigest(3), max_length=12)
def test_noop(self): self.assertEqual('jack.jill', safe_filename('jack', '.jill', max_length=9)) self.assertEqual('jack.jill', safe_filename('jack', '.jill', max_length=100))
def test_bad_name(self): with pytest.raises(ValueError): safe_filename(os.path.join('more', 'than', 'a', 'name.game'))
def test_shorten(self): self.assertEqual('**.jill', safe_filename('jack', '.jill', digest=self.FixedDigest(2), max_length=8))
def _sha_file_by_id(self, id): return os.path.join(self._root, safe_filename(id, extension=".hash"))