# -*- coding: utf-8 -*-# vim: tabstop=4 shiftwidth=4 softtabstop=4# Copyright (C) 2015-2025 GEM Foundation# OpenQuake is free software: you can redistribute it and/or modify it# under the terms of the GNU Affero General Public License as published# by the Free Software Foundation, either version 3 of the License, or# (at your option) any later version.# OpenQuake is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# You should have received a copy of the GNU Affero General Public License# along with OpenQuake. If not, see <http://www.gnu.org/licenses/>.importtimeimportoperatorimportunittestfromsetuptools.command.testimportScanningLoader
[docs]defsave_times(self,fname):items=sorted(self.timedict.items(),key=operator.itemgetter(1),reverse=True)withopen(fname,'w')asf:forname,valueinitems:f.write('%s%s\n'%(name,value))print(''.join(open(fname).readlines()[:20]))print('Saved times in '+fname)ifself.errorsorself.failures:raiseSystemExit(len(self.errors)+len(self.failures))
unittest.TextTestRunner.resultclass=TestResult# hack to make unittest to understand the attributes added by nose# this is used only to skip the slow tests