Mercurial > hg
annotate tests/test-wireproto-framing.py @ 46415:8deab876fb59 stable
wix: tell ComponentSearch that it is finding a directory (not a file)
This is to fix an issue we've noticed where fresh installations start at
`C:\Program Files\Mercurial`, and then upgrades "walk up" the tree and end up in
`C:\Program Files` and finally `C:\` (where they stay).
ComponentSearch defaults to finding files, which I think means "it produces a
string like `C:\Program Files\Mercurial`", whereas with the type being
explicitly a directory, it would return `C:\Program Files\Mercurial\` (note the
final trailing backslash). Presumably, a latter step then tries to turn that
file name into a proper directory, by removing everything after the last `\`.
This could likely also be fixed by actually searching for the component for
hg.exe itself. That seemed a lot more complicated, as the GUID for hg.exe isn't
known in this file (it's one of the "auto-derived" ones). We could also consider
adding a Condition that I think could check the Property and ensure it's either
empty or ends in a trailing slash, but that would be an installer runtime check
and I'm not convinced it'd actually be useful.
This will *not* cause existing installations that are in one of the bad
directories to fix themselves. Doing that would require a fair amount more
understanding of wix and windows installer than I have, and it *probably*
wouldn't be possible to be 100% correct about it either (there's nothing
preventing a user from intentionally installing it in C:\, though I don't know
why they would do so).
If someone wants to tackle fixing existing installations, I think that the first
installation is actually the only one that shows up in "Add or Remove Programs",
and that its registry keys still exist. You might be able to find something
under HKEY_USERS that lists both the "good" and the "bad" InstallDirs. Mine was
under `HKEY_USERS\S-1-5-18\Software\Mercurial\InstallDir` (C:\), and
`HKEY_USERS\S-1-5-21-..numbers..\Software\Mercurial\InstallDir` (C:\Program
Files\Mercurial). If you find exactly two, with one being the default path, and
the other being a prefix of it, the user almost certainly hit this bug :D
We had originally thought that this bug might be due to unattended
installations/upgrades, but I no longer think that's the case. We were able to
reproduce the issue by uninstalling all copies of Mercurial I could find,
installing one version (it chose the correct location), and then starting the
installer for a different version (higher or lower didn't matter). I did not
need to deal with an unattended or headless installation/upgrade to trigger the
issue, but it's possible that my system was "primed" for this bug to happen
because of a previous unattended installation/upgrade.
Differential Revision: https://phab.mercurial-scm.org/D9891
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 27 Jan 2021 10:29:21 -0800 |
parents | 89a2afe31e82 |
children | 6000f5b25c9b |
rev | line source |
---|---|
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 from __future__ import absolute_import, print_function |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 import unittest |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 from mercurial import ( |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 util, |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 wireprotoframing as framing, |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 ) |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
10 ffs = framing.makeframefromhumanstring |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
11 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
12 |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
13 class FrameHumanStringTests(unittest.TestCase): |
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
14 def testbasic(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
15 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
16 ffs(b'1 1 0 1 0 '), b'\x00\x00\x00\x01\x00\x01\x00\x10' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
17 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
18 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
19 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
20 ffs(b'2 4 0 1 0 '), b'\x00\x00\x00\x02\x00\x04\x00\x10' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
21 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
22 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
23 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
24 ffs(b'2 4 0 1 0 foo'), b'\x03\x00\x00\x02\x00\x04\x00\x10foo' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
25 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
26 |
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
27 def testcborint(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
28 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
29 ffs(b'1 1 0 1 0 cbor:15'), b'\x01\x00\x00\x01\x00\x01\x00\x10\x0f' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
30 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
31 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
32 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
33 ffs(b'1 1 0 1 0 cbor:42'), b'\x02\x00\x00\x01\x00\x01\x00\x10\x18*' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
34 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
35 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
36 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
37 ffs(b'1 1 0 1 0 cbor:1048576'), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
38 b'\x05\x00\x00\x01\x00\x01\x00\x10\x1a' b'\x00\x10\x00\x00', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
39 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
40 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
41 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
42 ffs(b'1 1 0 1 0 cbor:0'), b'\x01\x00\x00\x01\x00\x01\x00\x10\x00' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
43 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
44 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
45 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
46 ffs(b'1 1 0 1 0 cbor:-1'), b'\x01\x00\x00\x01\x00\x01\x00\x10 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
47 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
48 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
49 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
50 ffs(b'1 1 0 1 0 cbor:-342542'), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
51 b'\x05\x00\x00\x01\x00\x01\x00\x10:\x00\x05:\r', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
52 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
53 |
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
54 def testcborstrings(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
55 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
56 ffs(b"1 1 0 1 0 cbor:b'foo'"), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
57 b'\x04\x00\x00\x01\x00\x01\x00\x10Cfoo', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
58 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
59 |
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
60 def testcborlists(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
61 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
62 ffs(b"1 1 0 1 0 cbor:[None, True, False, 42, b'foo']"), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
63 b'\n\x00\x00\x01\x00\x01\x00\x10\x85\xf6\xf5\xf4' b'\x18*Cfoo', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
64 ) |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
65 |
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
66 def testcbordicts(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
67 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
68 ffs(b"1 1 0 1 0 " b"cbor:{b'foo': b'val1', b'bar': b'val2'}"), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
69 b'\x13\x00\x00\x01\x00\x01\x00\x10\xa2' b'CbarDval2CfooDval1', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
70 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
71 |
37290
cc5a040fe150
wireproto: syntax for encoding CBOR into frames
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37289
diff
changeset
|
72 |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
73 class FrameTests(unittest.TestCase): |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
74 def testdataexactframesize(self): |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
75 data = util.bytesio(b'x' * framing.DEFAULT_MAX_FRAME_SIZE) |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
76 |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
77 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
78 frames = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
79 framing.createcommandframes(stream, 1, b'command', {}, data) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
80 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
81 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
82 frames, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
83 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
84 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
85 b'1 1 stream-begin command-request new|have-data ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
86 b"cbor:{b'name': b'command'}" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
87 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
88 ffs(b'1 1 0 command-data continuation %s' % data.getvalue()), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
89 ffs(b'1 1 0 command-data eos '), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
90 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
91 ) |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
92 |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
93 def testdatamultipleframes(self): |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
94 data = util.bytesio(b'x' * (framing.DEFAULT_MAX_FRAME_SIZE + 1)) |
37285
3ed344546d9e
wireproto: start to associate frame generation with a stream
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37284
diff
changeset
|
95 |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
96 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
97 frames = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
98 framing.createcommandframes(stream, 1, b'command', {}, data) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
99 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
100 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
101 frames, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
102 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
103 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
104 b'1 1 stream-begin command-request new|have-data ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
105 b"cbor:{b'name': b'command'}" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
106 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
107 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
108 b'1 1 0 command-data continuation %s' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
109 % (b'x' * framing.DEFAULT_MAX_FRAME_SIZE) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
110 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
111 ffs(b'1 1 0 command-data eos x'), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
112 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
113 ) |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
114 |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
115 def testargsanddata(self): |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
116 data = util.bytesio(b'x' * 100) |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
117 |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
118 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
119 frames = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
120 framing.createcommandframes( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
121 stream, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
122 1, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
123 b'command', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
124 { |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
125 b'key1': b'key1value', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
126 b'key2': b'key2value', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
127 b'key3': b'key3value', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
128 }, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
129 data, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
130 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
131 ) |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
132 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
133 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
134 frames, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
135 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
136 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
137 b'1 1 stream-begin command-request new|have-data ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
138 b"cbor:{b'name': b'command', b'args': {b'key1': b'key1value', " |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
139 b"b'key2': b'key2value', b'key3': b'key3value'}}" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
140 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
141 ffs(b'1 1 0 command-data eos %s' % data.getvalue()), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
142 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
143 ) |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
144 |
37715
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
145 if not getattr(unittest.TestCase, 'assertRaisesRegex', False): |
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
146 # Python 3.7 deprecates the regex*p* version, but 2.7 lacks |
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
147 # the regex version. |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
148 assertRaisesRegex = ( # camelcase-required |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
149 unittest.TestCase.assertRaisesRegexp |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
150 ) |
37715
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
151 |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
152 def testtextoutputformattingstringtype(self): |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
153 """Formatting string must be bytes.""" |
37715
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
154 with self.assertRaisesRegex(ValueError, 'must use bytes formatting '): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
155 list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
156 framing.createtextoutputframe( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
157 None, 1, [(b'foo'.decode('ascii'), [], [])] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
158 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
159 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
160 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
161 def testtextoutputargumentbytes(self): |
37715
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
162 with self.assertRaisesRegex(ValueError, 'must use bytes for argument'): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
163 list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
164 framing.createtextoutputframe( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
165 None, 1, [(b'foo', [b'foo'.decode('ascii')], [])] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
166 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
167 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
168 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
169 def testtextoutputlabelbytes(self): |
37715
1859b9a7ddef
cleanup: polyfill assertRaisesRegex so we can avoid assertRaisesRegexp
Augie Fackler <augie@google.com>
parents:
37542
diff
changeset
|
170 with self.assertRaisesRegex(ValueError, 'must use bytes for labels'): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
171 list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
172 framing.createtextoutputframe( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
173 None, 1, [(b'foo', [], [b'foo'.decode('ascii')])] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
174 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
175 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
176 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
177 def testtextoutput1simpleatom(self): |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
178 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
179 val = list(framing.createtextoutputframe(stream, 1, [(b'foo', [], [])])) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
180 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
181 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
182 val, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
183 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
184 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
185 b'1 1 stream-begin text-output 0 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
186 b"cbor:[{b'msg': b'foo'}]" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
187 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
188 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
189 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
190 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
191 def testtextoutput2simpleatoms(self): |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
192 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
193 val = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
194 framing.createtextoutputframe( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
195 stream, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
196 1, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
197 [ |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
198 (b'foo', [], []), |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
199 (b'bar', [], []), |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
200 ], |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
201 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
202 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
203 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
204 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
205 val, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
206 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
207 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
208 b'1 1 stream-begin text-output 0 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
209 b"cbor:[{b'msg': b'foo'}, {b'msg': b'bar'}]" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
210 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
211 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
212 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
213 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
214 def testtextoutput1arg(self): |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
215 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
216 val = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
217 framing.createtextoutputframe( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
218 stream, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
219 1, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
220 [ |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
221 (b'foo %s', [b'val1'], []), |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
222 ], |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
223 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
224 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
225 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
226 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
227 val, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
228 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
229 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
230 b'1 1 stream-begin text-output 0 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
231 b"cbor:[{b'msg': b'foo %s', b'args': [b'val1']}]" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
232 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
233 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
234 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
235 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
236 def testtextoutput2arg(self): |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
237 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
238 val = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
239 framing.createtextoutputframe( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
240 stream, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
241 1, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
242 [ |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
243 (b'foo %s %s', [b'val', b'value'], []), |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
244 ], |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
245 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
246 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
247 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
248 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
249 val, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
250 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
251 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
252 b'1 1 stream-begin text-output 0 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
253 b"cbor:[{b'msg': b'foo %s %s', b'args': [b'val', b'value']}]" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
254 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
255 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
256 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
257 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
258 def testtextoutput1label(self): |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
259 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
260 val = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
261 framing.createtextoutputframe( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
262 stream, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
263 1, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
264 [ |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
265 (b'foo', [], [b'label']), |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
266 ], |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
267 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
268 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
269 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
270 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
271 val, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
272 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
273 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
274 b'1 1 stream-begin text-output 0 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
275 b"cbor:[{b'msg': b'foo', b'labels': [b'label']}]" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
276 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
277 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
278 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
279 |
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
280 def testargandlabel(self): |
37288
9bfcbe4f4745
wireproto: add streams to frame-based protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37285
diff
changeset
|
281 stream = framing.stream(1) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
282 val = list( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
283 framing.createtextoutputframe( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
284 stream, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
285 1, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
286 [ |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
287 (b'foo %s', [b'arg'], [b'label']), |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43076
diff
changeset
|
288 ], |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
289 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
290 ) |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
291 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
292 self.assertEqual( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
293 val, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
294 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
295 ffs( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
296 b'1 1 stream-begin text-output 0 ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
297 b"cbor:[{b'msg': b'foo %s', b'args': [b'arg'], " |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
298 b"b'labels': [b'label']}]" |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
299 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
300 ], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
301 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
302 |
37060
0a6c5cc09a88
wireproto: define human output side channel frame
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37058
diff
changeset
|
303 |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
304 if __name__ == '__main__': |
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
305 import silenttestrunner |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
39410
diff
changeset
|
306 |
37052
8c3c47362934
wireproto: implement basic frame reading and processing
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
307 silenttestrunner.main(__name__) |