perf testsuite: python 3 fixes
Commit Message
There are a few errors when trying to run the performance testsuite with
Python 3. This commit fixes them.
In Python 2, it was possible to use relative imports (importing a module
relative to the current one). In Python 3 it isn't. So I use
absolute_import from the __future__ module, which allows Python 2 to
behave like Python 3, and use the Python 3 syntax.
In Python 3, dict.iterkeys doesn't exist anymore. Using dict.keys is a
good compromise in this case.
gdb/testsuite/ChangeLog:
* gdb.perf/lib/perftest/perftest.py: Change relative imports to
absolute.
(SingleStatisticTestResult.report): Use dict.keys instead of
dict.iterkeys.
---
gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 15 +++++++++------
gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 2 +-
2 files changed, 10 insertions(+), 7 deletions(-)
Comments
Simon Marchi <simon.marchi@ericsson.com> writes:
> There are a few errors when trying to run the performance testsuite with
> Python 3. This commit fixes them.
>
> In Python 2, it was possible to use relative imports (importing a module
> relative to the current one). In Python 3 it isn't. So I use
> absolute_import from the __future__ module, which allows Python 2 to
> behave like Python 3, and use the Python 3 syntax.
>
> In Python 3, dict.iterkeys doesn't exist anymore. Using dict.keys is a
> good compromise in this case.
>
> gdb/testsuite/ChangeLog:
>
> * gdb.perf/lib/perftest/perftest.py: Change relative imports to
> absolute.
> (SingleStatisticTestResult.report): Use dict.keys instead of
> dict.iterkeys.
Patch is fine with me.
On 16-01-08 06:29 AM, Yao Qi wrote:
> Patch is fine with me.
Thanks, pushed.
@@ -13,12 +13,15 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import testresult
-import reporter
-from measure import Measure
-from measure import MeasurementCpuTime
-from measure import MeasurementWallTime
-from measure import MeasurementVmSize
+from __future__ import absolute_import
+
+import perftest.testresult as testresult
+import perftest.reporter as reporter
+from perftest.measure import Measure
+from perftest.measure import MeasurementCpuTime
+from perftest.measure import MeasurementWallTime
+from perftest.measure import MeasurementVmSize
+
class TestCase(object):
"""Base class of all performance testing cases.
@@ -42,7 +42,7 @@ class SingleStatisticTestResult(TestResult):
def report(self, reporter, name):
reporter.start()
- for key in sorted(self.results.iterkeys()):
+ for key in sorted(self.results.keys()):
reporter.report(name, key, self.results[key])
reporter.end()