1RELEASE(NOTES) RELEASE(NOTES)
2
3
4
6 Release Notes - python-nitrate release notes
7
9 There have been many substantial changes in the python-nitrate imple‐
10 mentation and a bunch of new features have been added. Many thanks to
11 Filip Holec for contributing substantial part of the new caching imple‐
12 mentation. Here's the summary of important changes:
13
14 Improved Performance
15
16 · Common caching support for all Nitrate classes
17
18 · Persistent cache implementation, MultiCall support
19
20 · Cache().update() support for multicall slicing
21
22 · Experimental support for fetching data from Teiid
23
24 New Object Attributes
25
26 · TestPlan.owner attribute holding the default owner
27
28 · TestPlan.sortkey() for getting/setting test case order
29
30 · TestRun.testcases for easy iteration over linked cases
31
32 · TestRun.started and TestRun.finished timestamps
33
34 · TestCase.created for accessing the creation date
35
36 Other Features
37
38 · Huge api module refactored into several modules
39
40 · New utility functions header() and sliced() added
41
42 · Support for colored logging, new custom log levels
43
44 · Plain authentication supported in addition to Kerberos
45
46 · Improved man pages, module documentation and examples
47
48 Under the Hood
49
50 · The big cleanup of ininitialization and caching
51
52 · TestPlan.testruns reimplemented using PlanRuns container
53
54 · TestRun.caseruns and TestRun.testcases containers
55
56 · Test case containers iterate over sorted test cases
57
58 · Bugs reimplemented with containers and caching
59
60 · Store the initial object dict as _inject for future use
61
62 Test Suite
63
64 · New unit test cases implemented, many improved
65
66 · Added support for performance tests (--performance)
67
68 · Overall test summary printed at the end of testing
69
70 API Changes
71
72 Several backward-incompatible changes had to be introduced in order to
73 improve the performance and because of necessary cleanup. Below you
74 can find the list of differences in the module API.
75
76 Object id cannot be provided as string:
77
78 − TestCase("1234")
79 + TestCase(1234)
80
81 Tags are now regular objects and should be used instead of strings
82 (although for adding/removing and presence checking backward compatib‐
83 lity is silently preserved):
84
85 − testcase.tags.add("TestParametrized")
86 + testcase.tags.add(Tag("TestParametrized"))
87 − "TestParametrized" in testcase.tags
88 + Tag("TestParametrized") in testcase.tags
89
90 Default version has been moved from Product into TestPlan class. Plac‐
91 ing the default product version inside the Product class was by mis‐
92 take. The TestPlan class has been adjusted by adding a new attribute
93 'version' as this is the proper place for this data:
94
95 − Product(name="Fedora", version="20)
96 + Product(name="Fedora")
97 + Product("Fedora")
98
99 This is also why version is now a required field when creating a new
100 test plan:
101
102 − TestPlan(name=N, product=P, type=T)
103 + TestPlan(name=N, product=P, version=V, type=T)
104
105 Long-ago obsoleted functions for setting log level, cache level and
106 coloring mode were removed, all log level constants are now directly
107 available in the main module:
108
109 − setLogLevel(log.DEBUG)
110 + set_log_level(LOG_DEBUG)
111
112 − setColorMode(COLOR_OFF)
113 + set_color_mode(COLOR_OFF)
114
115 − setCacheLevel(CACHE_PERSISTENT)
116 + set_cache_level(CACHE_PERSISTENT)
117
118 Utility function color() does not reflect the current color mode auto‐
119 matically. Instead, new parameter 'enabled' should be used to disable
120 the coloring when desired, for example:
121
122 color("txt", color="red", enabled=config.Coloring().enabled())
123
124
125
126
127February 2012 1 RELEASE(NOTES)