1 |
Hello, all. |
2 |
|
3 |
Short summary: PMS Test Suite is a suite of tools and a test library |
4 |
to test any of the Gentoo Package Managers for compliance against |
5 |
the Package Manager Specification. |
6 |
|
7 |
Homepage: http://www.gentoo.org/proj/en/qa/pms/pms-test-suite.xml |
8 |
gitweb: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git |
9 |
github (mirror): https://github.com/mgorny/pms-test-suite |
10 |
|
11 |
|
12 |
Midterm sumup |
13 |
------------- |
14 |
|
15 |
Up until now, the core part of the 'PMS Test Suite' project is almost |
16 |
ready. The suite is now able to run a number of tests for PMS |
17 |
compliance. |
18 |
|
19 |
The tests can be run in either 'minimal' or 'comprehensive' mode. |
20 |
The former one means checking only EAPIs relevant to changes |
21 |
in the spec, while the latter means checking every EAPI supporting |
22 |
the particular feature. |
23 |
|
24 |
PMS Test Suite is able to run tests using portage, paludis and pkgcore. |
25 |
All basic features including merging is supported for all three PMs. |
26 |
Portage and Paludis are able to generate Manifests as well. Portage |
27 |
and pkgcore can be set to run without Manifests. Portage is able to run |
28 |
with a temporarily appended repository, while the other two require |
29 |
having the test repository configured. |
30 |
|
31 |
The development of 'PMS Test Suite' has resulted in two side effects, |
32 |
maybe even more important than the project itself. First of them is |
33 |
a number of patches to the PMS spec, making the spec more clear. These |
34 |
could be found on the gentoo-pms mailing list [1]. |
35 |
|
36 |
The other side effect is the 'gentoopm' project [2,3], providing |
37 |
an unified API to access all three PMs mentioned earlier. Right now, my |
38 |
main focus is implementing new interfaces there, and moving the code |
39 |
out of PMSTS to it. |
40 |
|
41 |
Right now, gentoopm has already made its first release into the tree, |
42 |
and became used in smart-live-rebuild [4]. It is already able to find |
43 |
packages in basic kinds of repositories, get their metadata and read |
44 |
environment.bz2 files. It can work with atoms too. |
45 |
|
46 |
I'd like to make it able to construct (and use) PM tool calls for |
47 |
various operations like installing and uninstall packages. It's going |
48 |
to use a flexible interface, making it easy to fit into various working |
49 |
environments -- printing argv, running through subprocess, glib event |
50 |
loop, threads and so on. |
51 |
|
52 |
[1]:http://archives.gentoo.org/gentoo-pms/ |
53 |
[2]:https://www.github.com/mgorny/gentoopm/ |
54 |
[3]:http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git |
55 |
[4]:https://www.github.com/mgorny/smart-live-rebuild/ |
56 |
|
57 |
|
58 |
Last week report |
59 |
---------------- |
60 |
|
61 |
Changes: |
62 |
- bash parsing (using BashServer), |
63 |
- environment.bz2 reading, |
64 |
- passing atoms as strings to pkgset.filter(), |
65 |
- accessing userpriv settings from PM config, |
66 |
- getting atoms for packages, |
67 |
- atom API - stringification, transformations, associating, accessing |
68 |
parts, |
69 |
- optimizations to PMStackWrapper, portage atom matching, |
70 |
- dropped a number of redundant properties from PMPackageMetadata. |
71 |
|
72 |
Plans: |
73 |
- find the best way to check RDEPEND=DEPEND fallback (as getting |
74 |
metadata['RDEPEND'] is harsh for paludis), |
75 |
- clean up the metadata API in gentoopm, |
76 |
- release the second version, |
77 |
- add support for testing eclasses, |
78 |
- move PM running code into gentoopm. |
79 |
|
80 |
-- |
81 |
Best regards, |
82 |
Michał Górny |