Resolving artifacts in holy aboba test

This commit is contained in:
MaXFeeD
2025-06-09 17:57:55 +03:00
parent 99b1c35c42
commit d540119334
+13 -13
View File
@@ -115,8 +115,6 @@ def run(argv: Optional[list[str]] = None):
startup_millis = time() - startup_millis
debug(f"* Tasks successfully completed in {startup_millis:.2f}s!")
from random import random
from .language import AbobaConfig
project_config = AbobaConfig("1")
@@ -128,8 +126,7 @@ node3 = graph.obtain_edge(AbobaConfig("3"))
graph.depend_on(node2, node3)
node4 = graph.obtain_edge(AbobaConfig("4"))
graph.depend_on(node3, node4)
if random() < 0.5:
graph.depend_on(node4, node2)
graph.depend_on(node4, node2)
node5 = graph.obtain_edge(AbobaConfig("5"))
graph.depend_on(node1, node5)
node6 = graph.obtain_edge(AbobaConfig("6"))
@@ -142,15 +139,18 @@ graph.depend_on(node1, node8)
graph.depend_on(node6, node8)
print("Cross references")
print(f"Node 1: {graph.get_cross_references(node1)}")
print(f"Node 2: {graph.get_cross_references(node2)}")
print(f"Node 3: {graph.get_cross_references(node3)}")
print(f"Node 4: {graph.get_cross_references(node4)}")
print(f"Node 5: {graph.get_cross_references(node5)}")
print(f"Node 6: {graph.get_cross_references(node6)}")
print(f"Node 7: {graph.get_cross_references(node7)}")
print(f"Node 8: {graph.get_cross_references(node8)}")
print(f"Looped by cross references? {'No' if not graph.get_cross_references() else 'Yes'}")
print(f"Node 1: {graph.find_circular_reference(node1)}")
print(f"Node 2: {graph.find_circular_reference(node2)}")
print(f"Node 3: {graph.find_circular_reference(node3)}")
print(f"Node 4: {graph.find_circular_reference(node4)}")
print(f"Node 5: {graph.find_circular_reference(node5)}")
print(f"Node 6: {graph.find_circular_reference(node6)}")
print(f"Node 7: {graph.find_circular_reference(node7)}")
print(f"Node 8: {graph.find_circular_reference(node8)}")
print(f"Looped by cross references? {'No' if not graph.find_circular_reference() else 'Yes'}")
unresolved_artifacts = graph.resolve_dependencies()
show_unresolved_dependencies(unresolved_artifacts)
resolve_circular_references(graph)
print(f"Order: {', '.join([edge.project.key if isinstance(edge.project, AbobaConfig) else str(edge) for edge in graph.traverse_dependencies()])}")
def run_test():