Set svn:eol-style=native
[reactos.git] / reactos / tools / rbuild / tests / moduletest.cpp
1 #include "test.h"
2
3 using std::string;
4
5 void ModuleTest::Run()
6 {
7 string projectFilename ( RBUILD_BASE "tests/data/module.xml" );
8 Project project ( projectFilename );
9 ARE_EQUAL(2, project.modules.size());
10
11 Module& module1 = *project.modules[0];
12 IS_TRUE(module1.type == BuildTool);
13
14 ARE_EQUAL(2, module1.non_if_data.files.size());
15 ARE_EQUAL("dir1" SSEP "file1.c", module1.non_if_data.files[0]->name);
16 ARE_EQUAL("dir1" SSEP "file2.c", module1.non_if_data.files[1]->name);
17
18 ARE_EQUAL(0, module1.non_if_data.libraries.size());
19
20 Module& module2 = *project.modules[1];
21 IS_TRUE(module2.type == KernelModeDLL);
22 ARE_EQUAL("reactos", module2.installBase);
23 ARE_EQUAL("module2.ext", module2.installName);
24
25 ARE_EQUAL(2, module2.non_if_data.files.size());
26 ARE_EQUAL("dir2" SSEP "file3.c", module2.non_if_data.files[0]->name);
27 ARE_EQUAL("dir2" SSEP "file4.c", module2.non_if_data.files[1]->name);
28
29 ARE_EQUAL(1, module2.non_if_data.libraries.size());
30 Library& library1 = *module2.non_if_data.libraries[0];
31 ARE_EQUAL("module1", library1.name);
32
33 ARE_EQUAL(1, module2.dependencies.size());
34 Dependency& module1dependency = *module2.dependencies[0];
35 IS_NOT_NULL(module1dependency.dependencyModule);
36 ARE_EQUAL("module1", module1dependency.dependencyModule->name);
37 }