From a72fdca967a7ef8c996757b0992297d2d5c1004c Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Mon, 15 Jun 2020 13:42:44 -0700 Subject: [PATCH] Continue pulling release_name and git_revision out of SearchPath --- pinch.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pinch.py b/pinch.py index 916739d..d4728fe 100644 --- a/pinch.py +++ b/pinch.py @@ -172,7 +172,7 @@ class ChannelSearchPath(TarrableSearchPath): new_gitpin = parse_channel(v, self) fetch_resources(v, self, new_gitpin) ensure_git_rev_available(v, self, new_gitpin, old_revision) - check_channel_contents(v, self) + check_channel_contents(v, self, new_gitpin) return ChannelPin( release_name=new_gitpin.release_name, tarball_url=self.table['nixexprs.tar.xz'].absolute_url, @@ -444,12 +444,12 @@ def ensure_git_rev_available( def compare_tarball_and_git( v: Verification, - channel: TarrableSearchPath, + pin: GitPin, channel_contents: str, git_contents: str) -> None: v.status('Comparing channel tarball with git checkout') match, mismatch, errors = compare(os.path.join( - channel_contents, channel.release_name), git_contents) + channel_contents, pin.release_name), git_contents) v.ok() v.check('%d files match' % len(match), len(match) > 0) v.check('%d files differ' % len(mismatch), len(mismatch) == 0) @@ -549,40 +549,41 @@ def git_get_tarball( def check_channel_metadata( v: Verification, - channel: TarrableSearchPath, + pin: GitPin, channel_contents: str) -> None: v.status('Verifying git commit in channel tarball') v.result( open( os.path.join( channel_contents, - channel.release_name, - '.git-revision')).read(999) == channel.git_revision) + pin.release_name, + '.git-revision')).read(999) == pin.git_revision) v.status( 'Verifying version-suffix is a suffix of release name %s:' % - channel.release_name) + pin.release_name) version_suffix = open( os.path.join( channel_contents, - channel.release_name, + pin.release_name, '.version-suffix')).read(999) v.status(version_suffix) - v.result(channel.release_name.endswith(version_suffix)) + v.result(pin.release_name.endswith(version_suffix)) def check_channel_contents( v: Verification, - channel: TarrableSearchPath) -> None: + channel: TarrableSearchPath, + pin: GitPin) -> None: with tempfile.TemporaryDirectory() as channel_contents, \ tempfile.TemporaryDirectory() as git_contents: extract_tarball(v, channel, channel_contents) - check_channel_metadata(v, channel, channel_contents) + check_channel_metadata(v, pin, channel_contents) git_checkout(v, channel, git_contents) - compare_tarball_and_git(v, channel, channel_contents, git_contents) + compare_tarball_and_git(v, pin, channel_contents, git_contents) v.status('Removing temporary directories') v.ok() -- 2.44.1