def METHOD_NAME(testrepo):
    revs = [
        ( 'master^2',   3 ),
        ( 'master^2^',  2 ),
        ( 'master^2^^', 1 ),
    ]
    for rev, num_commits in revs:
        commit = testrepo.revparse_single(rev)
        blame = testrepo.blame(PATH, newest_commit=commit.id)
        assert len(blame) == num_commits
        for i, hunk in enumerate(tuple(blame)[:num_commits]):
            assert hunk.lines_in_hunk == 1
            assert HUNKS[i][0] == hunk.final_commit_id
            assert HUNKS[i][1] == hunk.final_start_line_number
            assert HUNKS[i][2] == hunk.final_committer
            assert HUNKS[i][0] == hunk.orig_commit_id
            assert hunk.orig_path == PATH
            assert HUNKS[i][1] == hunk.orig_start_line_number
            assert HUNKS[i][2] == hunk.orig_committer
            assert HUNKS[i][3] == hunk.boundary