Test dependencies
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user