Test dependencies

This commit is contained in:
2026-06-26 20:51:42 +00:00
parent 7e3b0e1c10
commit 1cc53f8bee
5 changed files with 31 additions and 4 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ def _flatten_tests(project: Project) -> None:
def _flatten_target(target: Target) -> None: def _flatten_target(target: Target) -> None:
for dependency in target.deps: for dependency in target.deps:
if (parent:=targets_by_name_mapping.get(dependency.value)) == None: if (parent:=targets_by_name_mapping.get(dependency.value)) == None:
raise ValueError(f"No such dependable target: {dependency}") raise ValueError(f"No such dependable target: {dependency.value}")
_inherit_target(target, parent) _inherit_target(target, parent)
def _inherit_target(target: Target, parent: Target) -> None: def _inherit_target(target: Target, parent: Target) -> None:
+1 -1
View File
@@ -50,5 +50,5 @@ def _prepare_dependencies(
if dependency._prepared: if dependency._prepared:
continue continue
project = find_project_by_target(required.value) project = find_project_by_target(required.value)
commands.extend(prepare(appcfg, project, target, logger)) commands.extend(prepare(appcfg, project, dependency, logger))
return commands return commands
+7
View File
@@ -2,8 +2,15 @@ name: testing
gpid: examples gpid: examples
semv: 1.0.0 semv: 1.0.0
targets:
- name: fibonacci
type: archive
srcs:
- ./fibonacci.cpp
tests: tests:
- name: factorial_test - name: factorial_test
type: program type: program
deps: [fibonacci]
srcs: srcs:
- ./entry.cpp - ./entry.cpp
+10 -2
View File
@@ -1,13 +1,21 @@
#include <iostream>
extern "C" int fibonacci(int nth);
int factorial(int start) { int factorial(int start) {
if (start < 0) if (start < 0)
return 0; return 0;
auto result = 1; auto result = 1;
for (auto index = 2; index < start; index++) for (auto index = start; index > 0; index--)
result *= index; result *= index;
return result; return result;
} }
int main(int argc, char** argv) { int main(int argc, char** argv) {
return factorial(5) == 120; auto resultA = factorial(5) == 120;
auto resultB = fibonacci(5) == 5;
std::cout << "Result A: " << resultA << std::endl;
std::cout << "Result B: " << resultB << std::endl;
return !(resultA && resultB);
} }
+12
View File
@@ -0,0 +1,12 @@
extern "C" int fibonacci(int nth) {
int next;
int temp1 = 0;
int temp2 = 1;
for (int index = 1; index <= nth; index++) {
next = temp1 + temp2;
temp1 = temp2;
temp2 = next;
}
return nth;
}