Exemple #1
0
    def _openRecent(self):
        '''
        Opens a recent file containing test results in tabs.
        '''
        log.debug("Opening recent result file")

        path = self.sender().data()
        ext = os.path.splitext(path)[1]
        channel = None
        for c in channels.get():
            if (isinstance(c, channels.TestResultFileChannel)
                    and c.fileExt() == ext):
                channel = c
                break
        if not channel:
            dialogs.runWarning("There are no readable channels accepting "
                               "'%s' files" % ext)
            return
        try:
            self.addTab(channel.read(path),
                        os.path.split(path)[1],
                        tooltip=path)
        except Exception, ex:
            dialogs.runError("Error occurred while loading result file:\n%s" %
                             str(ex))
Exemple #2
0
 def _openDialog(self):
     '''
     Opens selected files containing test results in tabs.
     '''
     log.debug("Opening result file")
     readableChannels = {}
     for c in [c for c in channels.get()
                 if isinstance(c, channels.TestResultFileChannel)]:
         desc = "%s (*.%s)" % (c.name, c.fileExt().strip("."))
         readableChannels[desc] = c
     if not readableChannels:
         dialogs.runWarning("There are no readable channels available")
         return
     dialog = QtGui.QFileDialog(self.view)
     dialog.setFileMode(QtGui.QFileDialog.ExistingFiles)
     dialog.setFilter(";;".join(readableChannels))
     if not dialog.exec_():
         log.debug("Opening result file was cancelled")
         return
     channel = readableChannels[dialog.selectedFilter()]
     for path in dialog.selectedFiles():
         try:
             self.addTab(channel.read(path), os.path.split(path)[1],
                         tooltip=path)
             self._updateRecentFiles(path)
         except Exception, ex:
             dialogs.runError("Error occurred while loading result file "
                              "'%s':\n%s" % (path, ex))
Exemple #3
0
 def _openDialog(self):
     '''
     Opens selected files containing test results in tabs.
     '''
     log.debug("Opening result file")
     readableChannels = {}
     for c in [
             c for c in channels.get()
             if isinstance(c, channels.TestResultFileChannel)
     ]:
         desc = "%s (*.%s)" % (c.name, c.fileExt().strip("."))
         readableChannels[desc] = c
     if not readableChannels:
         dialogs.runWarning("There are no readable channels available")
         return
     dialog = QtGui.QFileDialog(self.view)
     dialog.setFileMode(QtGui.QFileDialog.ExistingFiles)
     dialog.setFilter(";;".join(readableChannels))
     if not dialog.exec_():
         log.debug("Opening result file was cancelled")
         return
     channel = readableChannels[dialog.selectedFilter()]
     for path in dialog.selectedFiles():
         try:
             self.addTab(channel.read(path),
                         os.path.split(path)[1],
                         tooltip=path)
             self._updateRecentFiles(path)
         except Exception, ex:
             dialogs.runError("Error occurred while loading result file "
                              "'%s':\n%s" % (path, ex))
Exemple #4
0
 def testGetPredefined(self):
     channels.add(TestClass1, "_testchl1")
     channels.add("TestClass01", "_testchl2", arg2=0)
     channelList = channels.get()
     for channel in channelList:
         if channel.name == "_testchl1":
             break
     self.failUnlessEqual(channel.name, "_testchl1")
     self.failUnless(isinstance(channel, TestClass1))
     for channel in channelList:
         if channel.name == "_testchl2":
             break
     self.failUnlessEqual(channel.name, "_testchl2")
     self.failUnless(isinstance(channel, TestClass01))
Exemple #5
0
 def testGetPredefined(self):
     channels.add(TestClass1, "_testchl1")
     channels.add("TestClass01", "_testchl2", arg2=0)
     channelList = channels.get()
     for channel in channelList:
         if channel.name == "_testchl1":
             break
     self.failUnlessEqual(channel.name, "_testchl1")
     self.failUnless(isinstance(channel, TestClass1))
     for channel in channelList:
         if channel.name == "_testchl2":
             break
     self.failUnlessEqual(channel.name, "_testchl2")
     self.failUnless(isinstance(channel, TestClass01))
Exemple #6
0
 def testGetConfigured(self):
     _channelMaps = (("_testchl1", TestClass01), ("_testchl2", TestClass11),
                     ("_testchl4", TestClass01), ("_testchl5", TestClass11))
     for name, cls in _channelMaps:
         self.configureChannel(name, cls.__name__)
     self.configureChannel("_testchl3", "TestClass03")
     channelList = channels.get()
     for channel in channelList:
         self.failIfEqual(channel.name, "_testchl3")
     for name, cls in _channelMaps:
         for channel in channelList:
             if channel.name == name:
                 break
         self.failUnlessEqual(channel.name, name)
         self.failUnless(isinstance(channel, cls))
Exemple #7
0
 def testGetConfigured(self):
     _channelMaps = (("_testchl1", TestClass01),
                     ("_testchl2", TestClass11),
                     ("_testchl4", TestClass01),
                     ("_testchl5", TestClass11))
     for name, cls in _channelMaps:
         self.configureChannel(name, cls.__name__)
     self.configureChannel("_testchl3", "TestClass03")
     channelList = channels.get()
     for channel in channelList:
         self.failIfEqual(channel.name, "_testchl3")
     for name, cls in _channelMaps:
         for channel in channelList:
             if channel.name == name:
                 break
         self.failUnlessEqual(channel.name, name)
         self.failUnless(isinstance(channel, cls))
Exemple #8
0
    def _openRecent(self):
        '''
        Opens a recent file containing test results in tabs.
        '''
        log.debug("Opening recent result file")

        path = self.sender().data()
        ext = os.path.splitext(path)[1]
        channel = None
        for c in channels.get():
            if (isinstance(c, channels.TestResultFileChannel) and
                c.fileExt() == ext):
                channel = c
                break
        if not channel:
            dialogs.runWarning("There are no readable channels accepting "
                               "'%s' files" % ext)
            return
        try:
            self.addTab(channel.read(path), os.path.split(path)[1],
                        tooltip=path)
        except Exception, ex:
            dialogs.runError("Error occurred while loading result file:\n%s"
                             % str(ex))
Exemple #9
0
 def __init__(self):
     self._channels = channels.get()
     self._coreDumps = channels.CoreDumpsChannel()
     self._mutex = threading.RLock()
Exemple #10
0
 def __new__(mcs, name, bases, dict):
     dict["channel"] = channels.get()[int(dict["channelIdx"])]
     dict["channelClass"] = channels.get()[
                             int(dict["channelIdx"])].__class__
     return type.__new__(mcs, name, bases, dict)
Exemple #11
0
            self.assertEqual(False, channel.isEnabled())
            channel._enabled = True
            self.assertEqual(True, channel.isEnabled())

        def testIsVerbose(self):
            channel = self.channelClass("Test")
            self.assertEqual(False, channel.isVerbose())
            channel._verbose = True
            self.assertEqual(True, channel.isVerbose())
            channel._verbose = False
            self.assertEqual(False, channel.isVerbose())

    return ChannelTest

testedChannels = []
for idx, name in enumerate(channels.get()):
    if name.__class__.__name__ not in testedChannels:
        exec('''class T%s(getBaseClass()):
                channelIdx = "%d"
                __metaclass__ = MetaTest''' % (name.name, idx))
        testedChannels.append(name.__class__.__name__)


class TestClass0:
    pass


class TestClass1(channels.TestResultChannel):
    def __init__(self, name):
        self.name = name
Exemple #12
0
 def __new__(mcs, name, bases, dict):
     dict["channel"] = channels.get()[int(dict["channelIdx"])]
     dict["channelClass"] = channels.get()[int(
         dict["channelIdx"])].__class__
     return type.__new__(mcs, name, bases, dict)
Exemple #13
0
            channel._enabled = True
            self.assertEqual(True, channel.isEnabled())

        def testIsVerbose(self):
            channel = self.channelClass("Test")
            self.assertEqual(False, channel.isVerbose())
            channel._verbose = True
            self.assertEqual(True, channel.isVerbose())
            channel._verbose = False
            self.assertEqual(False, channel.isVerbose())

    return ChannelTest


testedChannels = []
for idx, name in enumerate(channels.get()):
    if name.__class__.__name__ not in testedChannels:
        exec('''class T%s(getBaseClass()):
                channelIdx = "%d"
                __metaclass__ = MetaTest''' % (name.name, idx))
        testedChannels.append(name.__class__.__name__)


class TestClass0:
    pass


class TestClass1(channels.TestResultChannel):
    def __init__(self, name):
        self.name = name