28 r = raptor.Raptor() |
29 r = raptor.Raptor() |
29 api = raptor_api.Context(r) |
30 api = raptor_api.Context(r) |
30 |
31 |
31 def testAliases(self): |
32 def testAliases(self): |
32 r = raptor.Raptor() |
33 r = raptor.Raptor() |
33 r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") ) |
34 r.cache.Load( generic_path.Join(r.home, "test", "configapi", "api.xml") ) |
34 |
35 |
35 api = raptor_api.Context(r) |
36 api = raptor_api.Context(r) |
36 |
37 |
37 aliases = api.getaliases() # type == "" |
38 aliases = api.getaliases() # type == "" |
38 self.failUnlessEqual(len(aliases), 4) |
39 self.failUnlessEqual(len(aliases), 4) |
39 self.failUnlessEqual(set(["alias_A","alias_B","s1","s2"]), |
40 self.failUnlessEqual(set(["alias_A","alias_B","s1","s2"]), |
40 set(a.name for a in aliases)) |
41 set(a.name for a in aliases)) |
|
42 |
|
43 aliaslist = [a.name for a in aliases] # verify that the list is sorted |
|
44 self.failUnlessEqual(["alias_A","alias_B","s1","s2"], aliaslist) |
41 |
45 |
42 aliases = api.getaliases(raptor_api.ALL) # ignore type |
46 aliases = api.getaliases(raptor_api.ALL) # ignore type |
43 self.failUnlessEqual(len(aliases), 6) |
47 self.failUnlessEqual(len(aliases), 6) |
44 |
48 |
45 aliases = api.getaliases("X") # type == "X" |
49 aliases = api.getaliases("X") # type == "X" |
47 self.failUnlessEqual(aliases[0].name, "alias_D") |
51 self.failUnlessEqual(aliases[0].name, "alias_D") |
48 self.failUnlessEqual(aliases[0].meaning, "a.b.c.d") |
52 self.failUnlessEqual(aliases[0].meaning, "a.b.c.d") |
49 |
53 |
50 def testConfig(self): |
54 def testConfig(self): |
51 r = raptor.Raptor() |
55 r = raptor.Raptor() |
52 r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") ) |
56 r.cache.Load( generic_path.Join(r.home, "test", "configapi", "api.xml") ) |
53 |
57 |
54 api = raptor_api.Context(r) |
58 api = raptor_api.Context(r) |
55 |
59 |
56 if r.filesystem == "unix": |
60 if r.filesystem == "unix": |
57 path = "/home/raptor/foo/bar" |
61 path = "/home/raptor/foo/bar" |
58 else: |
62 else: |
59 path = "C:/home/raptor/foo/bar" |
63 path = "C:/home/raptor/foo/bar" |
60 |
64 |
61 config = api.getconfig("buildme") |
65 config = api.getconfig("buildme") |
62 self.failUnlessEqual(config.fullname, "buildme") |
66 self.failUnlessEqual(config.meaning, "buildme") |
63 self.failUnlessEqual(config.outputpath, path) |
67 self.failUnlessEqual(config.outputpath, path) |
64 |
68 |
|
69 # metadata |
|
70 |
|
71 metadatamacros = map(lambda x: str(x.name+"="+x.value) if x.value else str(x.name), config.metadata.platmacros) |
|
72 metadatamacros.sort() |
|
73 results = ['SBSV2=_____SBSV2', '__GNUC__=3'] |
|
74 results.sort() |
|
75 self.failUnlessEqual(metadatamacros, results) |
|
76 |
|
77 includepaths = map(lambda x: str(x.path), config.metadata.includepaths) |
|
78 includepaths.sort() |
|
79 expected_includepaths = [raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include/variant"), |
|
80 raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include"), "."] |
|
81 expected_includepaths.sort() |
|
82 self.failUnlessEqual(includepaths, expected_includepaths) |
|
83 |
|
84 preincludefile = str(config.metadata.preincludeheader.file) |
|
85 self.failUnlessEqual(preincludefile, raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include/variant/Symbian_OS.hrh")) |
|
86 |
|
87 # build |
|
88 |
|
89 sourcemacros = map(lambda x: str(x.name+"="+x.value) if x.value else str(x.name), config.build.sourcemacros) |
|
90 results = ['__BBB__', '__AAA__', '__DDD__=first_value', '__CCC__', '__DDD__=second_value'] |
|
91 self.failUnlessEqual(sourcemacros, results) |
|
92 |
|
93 compilerpreincludefile = str(config.build.compilerpreincludeheader.file) |
|
94 self.failUnlessEqual(compilerpreincludefile, raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include/preinclude.h")) |
|
95 |
|
96 expectedtypes = ["one", "two"] |
|
97 expectedtypes.sort() |
|
98 types = map(lambda t:t.name, config.build.targettypes) |
|
99 types.sort() |
|
100 self.failUnlessEqual(types, expectedtypes) |
|
101 |
|
102 # general |
|
103 |
65 config = api.getconfig("buildme.foo") |
104 config = api.getconfig("buildme.foo") |
66 self.failUnlessEqual(config.fullname, "buildme.foo") |
105 self.failUnlessEqual(config.meaning, "buildme.foo") |
67 self.failUnlessEqual(config.outputpath, path) |
106 self.failUnlessEqual(config.outputpath, path) |
68 |
107 |
69 config = api.getconfig("s1") |
108 config = api.getconfig("s1") |
70 self.failUnlessEqual(config.fullname, "buildme.foo") |
109 self.failUnlessEqual(config.meaning, "buildme.foo") |
71 self.failUnlessEqual(config.outputpath, path) |
110 self.failUnlessEqual(config.outputpath, path) |
72 |
111 |
73 config = api.getconfig("s2.product_A") |
112 config = api.getconfig("s2.product_A") |
74 self.failUnlessEqual(config.fullname, "buildme.foo.bar.product_A") |
113 self.failUnlessEqual(config.meaning, "buildme.foo.bar.product_A") |
75 self.failUnlessEqual(config.outputpath, path) |
114 self.failUnlessEqual(config.outputpath, path) |
76 |
115 |
77 def testProducts(self): |
116 def testProducts(self): |
78 r = raptor.Raptor() |
117 r = raptor.Raptor() |
79 r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") ) |
118 r.cache.Load( generic_path.Join(r.home, "test", "configapi", "api.xml") ) |
80 |
119 |
81 api = raptor_api.Context(r) |
120 api = raptor_api.Context(r) |
82 |
121 |
83 products = api.getproducts() # type == "product" |
122 products = api.getproducts() # type == "product" |
84 self.failUnlessEqual(len(products), 2) |
123 self.failUnlessEqual(len(products), 2) |
85 self.failUnlessEqual(set(["product_A","product_C"]), |
124 self.failUnlessEqual(set(["product_A","product_C"]), |
86 set(p.name for p in products)) |
125 set(p.name for p in products)) |
|
126 productlist = [p.name for p in products] # verify that the list is sorted |
|
127 self.failUnlessEqual(["product_A","product_C"], productlist) |
87 |
128 |
88 # run all the tests |
129 # run all the tests |
89 |
130 |
90 from raptor_tests import SmokeTest |
131 from raptor_tests import SmokeTest |
91 |
132 |