Mercurial > p > roundup > code
annotate test/cmp_helper.py @ 8040:19cef1e285b0
fix: remove delay when using csv export actions.
The CSV file is written incrementally, so we can't determine the
Content-Length. When using HTTP/1.1, this causes a delay while the
browser waits for a timeout. Forcing the connection to close after
the CSV file is written removes the delay.
Ideally we should shift to chunked transfer encoding for these two
actions, but that is much more invasive and when posting a request for
CSV, it is unlikely that another request will be sent over the same
socket.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 18 Jun 2024 00:48:06 -0400 |
| parents | 19bd4b413ed6 |
| children |
| rev | line source |
|---|---|
|
5513
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
1 class StringFragmentCmpHelper: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
2 def compareStringFragments(self, s, fragments): |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
3 """Compare a string agains a list of fragments where a tuple denotes a |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
4 set of alternatives |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
5 """ |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
6 pos = 0 |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
7 for frag in fragments: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
8 if type(frag) != tuple: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
9 self.assertEqual(s[pos:pos + len(frag)], frag) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
10 pos += len(frag) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
11 else: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
12 found = False |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
13 for alt in frag: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
14 if s[pos:pos + len(alt)] == alt: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
15 pos += len(alt) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
16 found = True |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
17 break |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
18 |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
19 if not found: |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
20 l = max(map(len, frag)) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
21 raise AssertionError('%s != %s' % |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
22 (repr(s[pos:pos + l]), str(frag))) |
|
19bd4b413ed6
be more lenient when comparing string results
Christof Meerwald <cmeerw@cmeerw.org>
parents:
diff
changeset
|
23 self.assertEqual(s[pos:], '') |
