view test/cmp_helper.py @ 6324:3e33b22a3158

BAsic test of demo and server intialization. This needs more work. I exit the server by hacking serve_forever to raise a KeyboardInterrupt. Otherwise the test just hangs. I need a replacement that exits after one (or more configurable) connections and some way to background the server so the test can make the connections to the running server instance.
author John Rouillard <rouilj@ieee.org>
date Fri, 05 Feb 2021 00:09:08 -0500
parents 19bd4b413ed6
children
line wrap: on
line source

class StringFragmentCmpHelper:
    def compareStringFragments(self, s, fragments):
        """Compare a string agains a list of fragments where a tuple denotes a
        set of alternatives
        """
        pos = 0
        for frag in fragments:
            if type(frag) != tuple:
                self.assertEqual(s[pos:pos + len(frag)], frag)
                pos += len(frag)
            else:
                found = False
                for alt in frag:
                    if s[pos:pos + len(alt)] == alt:
                        pos += len(alt)
                        found = True
                        break

                if not found:
                    l = max(map(len, frag))
                    raise AssertionError('%s != %s' %
                                         (repr(s[pos:pos + l]), str(frag)))
        self.assertEqual(s[pos:], '')

Roundup Issue Tracker: http://roundup-tracker.org/