mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-05 01:23:45 -06:00
feat: link only source paths a tree confirms
The deploy has no tree cache, so a citation it could not check was linked into the declared repository: 30 paths answered 404. The paths held at each pin are now recorded in website/src/data/source-paths.json by python scripts/sitesources.py, and a path absent from it renders as code. An address inside a shipped binary reads as one.
This commit is contained in:
1 parent
e1d35c3cb4
commit
7ca7be064a
5 files changed
+9686
-42
No files matched your search
@@ -8,6 +8,7 @@ import sqlite3
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from unittest import mock
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
@@ -138,6 +139,7 @@ class SiteReferenceContracts(unittest.TestCase):
|
||||
}
|
||||
return db, coverages, profiles, stats
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def test_source_references_are_revision_pinned_links(self):
|
||||
_, _, profiles, _ = self._fixtures()
|
||||
rendered = _source_ref_markdown(
|
||||
@@ -168,6 +170,7 @@ class SiteReferenceContracts(unittest.TestCase):
|
||||
prefixed = _source_ref_markdown(profile, "example/jg.c:213-214")
|
||||
self.assertEqual(prefixed, "`example/jg.c:213-214`")
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def test_a_single_repository_links_the_path_as_written(self):
|
||||
profile = {"source": "https://github.com/PCSX2/pcsx2", "source_commit": "c" * 40}
|
||||
rendered = _source_ref_markdown(profile, "pcsx2/ImGui/FullscreenUI.cpp:755-759")
|
||||
@@ -588,6 +591,7 @@ class OnlyAPinnedProfileClaimsAPin(unittest.TestCase):
|
||||
class ADataDirectorySaysWhatItIs(unittest.TestCase):
|
||||
"""The page said `dolphin-sys` > `Sys` and nothing of the tree it packs."""
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def test_description_origin_mode_and_source(self):
|
||||
from generate_site import generate_emulator_page # noqa: PLC0415
|
||||
|
||||
@@ -771,6 +775,7 @@ class ProseCitationsLinkToThePin(unittest.TestCase):
|
||||
"source_commit": "76c7a84f1f7e80f3e6f2bba96fe100cb24e99124",
|
||||
"files": [{"name": "x", "source_ref": "libretro.c:10"}]}
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def test_a_rooted_or_structured_path_is_linked(self):
|
||||
from sitesources import link_prose_citations
|
||||
|
||||
@@ -797,6 +802,7 @@ class ACitationSaysWhoseCodeItIs(unittest.TestCase):
|
||||
"upstream": "https://github.com/alekmaul/a5200",
|
||||
"source_commit": "a" * 40, "upstream_commit": "b" * 40}
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def test_each_part_links_to_its_repository_with_its_label(self):
|
||||
from sitesources import _source_ref_markdown, requested_by
|
||||
|
||||
|
||||
@@ -113,6 +113,7 @@ class StructuredBlocks(unittest.TestCase):
|
||||
|
||||
return "\n".join(generate_site._render_structured_blocks(profile))
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def test_a_source_ref_in_a_block_is_a_pinned_link(self):
|
||||
"""186 citations in analysis and firmware blocks were plain code."""
|
||||
page = self.render(self.profile("analysis", {"tmss": {
|
||||
@@ -237,6 +238,7 @@ class ForgesUpstreamDoesNotRead(unittest.TestCase):
|
||||
"""Profiles pinned on SourceForge, voidpoint.io, Bitbucket or Software
|
||||
Heritage showed no revision, and their citations were plain code."""
|
||||
|
||||
@mock.patch("sitesources.tree_holds", lambda *_args: True) # a path the record confirms
|
||||
def links(self, url: str, ref: str, **extra: str) -> tuple[str, str]:
|
||||
import sitesources
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ class BinaryContinuationsAreNotLinked(unittest.TestCase):
|
||||
|
||||
def _render(self, value: str) -> str:
|
||||
original = sitesources._tree_paths
|
||||
sitesources._tree_paths = lambda repo, pin: None # type: ignore[assignment]
|
||||
sitesources._tree_paths = lambda repo, pin: frozenset({"FPLoader.cpp"}) # type: ignore[assignment]
|
||||
try:
|
||||
return sitesources._source_ref_markdown(self.PROFILE, value)
|
||||
finally:
|
||||
|
||||
Reference in new issue
Block a user