##// END OF EJS Templates
packaging: integrate signing into run_wix_packaging()...
packaging: integrate signing into run_wix_packaging() Previously, signing was implemented via a separate function which called build_installer() and then called signing functionality. In this model, in order to implement an alternative build mechanism, we would have to invent a new variant to handle signing as well. This commit merges the signing logic into the function invoking wix. If we pass an argument holding metadata about how to sign, we sign hg.exe and the installer. This means all we have to do is pass in signing info and the signing just works. A slight change here is that signing of hg.exe happens in the staging directory as opposed to before the staging directory is populated. I don't think this matters. Differential Revision: https://phab.mercurial-scm.org/D8475

File last commit:

r44605:5e84a96d default
r45258:08423196 default
Show More
test_buffer_util.py
153 lines | 5.0 KiB | text/x-python | PythonLexer
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 import struct
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 import unittest
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 import zstandard as zstd
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 from .common import TestCase
ss = struct.Struct("=QQ")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 class TestBufferWithSegments(TestCase):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 def test_arguments(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegments"):
self.skipTest("BufferWithSegments not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 with self.assertRaises(TypeError):
zstd.BufferWithSegments()
with self.assertRaises(TypeError):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 zstd.BufferWithSegments(b"foo")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
# Segments data should be a multiple of 16.
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(
ValueError, "segments array size is not a multiple of 16"
):
zstd.BufferWithSegments(b"foo", b"\x00\x00")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
def test_invalid_offset(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegments"):
self.skipTest("BufferWithSegments not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(
ValueError, "offset within segments array references memory"
):
zstd.BufferWithSegments(b"foo", ss.pack(0, 4))
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
def test_invalid_getitem(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegments"):
self.skipTest("BufferWithSegments not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 b = zstd.BufferWithSegments(b"foo", ss.pack(0, 3))
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(IndexError, "offset must be non-negative"):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 test = b[-10]
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(IndexError, "offset must be less than 1"):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 test = b[1]
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(IndexError, "offset must be less than 1"):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 test = b[2]
def test_single(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegments"):
self.skipTest("BufferWithSegments not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 b = zstd.BufferWithSegments(b"foo", ss.pack(0, 3))
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 self.assertEqual(len(b), 1)
self.assertEqual(b.size, 3)
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 self.assertEqual(b.tobytes(), b"foo")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
self.assertEqual(len(b[0]), 3)
self.assertEqual(b[0].offset, 0)
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 self.assertEqual(b[0].tobytes(), b"foo")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
def test_multiple(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegments"):
self.skipTest("BufferWithSegments not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 b = zstd.BufferWithSegments(
Gregory Szorc
python-zstandard: blacken at 80 characters...
r44605 b"foofooxfooxy",
b"".join([ss.pack(0, 3), ss.pack(3, 4), ss.pack(7, 5)]),
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 )
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 self.assertEqual(len(b), 3)
self.assertEqual(b.size, 12)
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 self.assertEqual(b.tobytes(), b"foofooxfooxy")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 self.assertEqual(b[0].tobytes(), b"foo")
self.assertEqual(b[1].tobytes(), b"foox")
self.assertEqual(b[2].tobytes(), b"fooxy")
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 class TestBufferWithSegmentsCollection(TestCase):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 def test_empty_constructor(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegmentsCollection"):
self.skipTest("BufferWithSegmentsCollection not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
python-zstandard: blacken at 80 characters...
r44605 with self.assertRaisesRegex(
ValueError, "must pass at least 1 argument"
):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 zstd.BufferWithSegmentsCollection()
def test_argument_validation(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegmentsCollection"):
self.skipTest("BufferWithSegmentsCollection not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
python-zstandard: blacken at 80 characters...
r44605 with self.assertRaisesRegex(
TypeError, "arguments must be BufferWithSegments"
):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 zstd.BufferWithSegmentsCollection(None)
Gregory Szorc
python-zstandard: blacken at 80 characters...
r44605 with self.assertRaisesRegex(
TypeError, "arguments must be BufferWithSegments"
):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 zstd.BufferWithSegmentsCollection(
zstd.BufferWithSegments(b"foo", ss.pack(0, 3)), None
)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(
ValueError, "ZstdBufferWithSegments cannot be empty"
):
zstd.BufferWithSegmentsCollection(zstd.BufferWithSegments(b"", b""))
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
def test_length(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegmentsCollection"):
self.skipTest("BufferWithSegmentsCollection not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 b1 = zstd.BufferWithSegments(b"foo", ss.pack(0, 3))
b2 = zstd.BufferWithSegments(
b"barbaz", b"".join([ss.pack(0, 3), ss.pack(3, 3)])
)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
c = zstd.BufferWithSegmentsCollection(b1)
self.assertEqual(len(c), 1)
self.assertEqual(c.size(), 3)
c = zstd.BufferWithSegmentsCollection(b2)
self.assertEqual(len(c), 2)
self.assertEqual(c.size(), 6)
c = zstd.BufferWithSegmentsCollection(b1, b2)
self.assertEqual(len(c), 3)
self.assertEqual(c.size(), 9)
def test_getitem(self):
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 if not hasattr(zstd, "BufferWithSegmentsCollection"):
self.skipTest("BufferWithSegmentsCollection not available")
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 b1 = zstd.BufferWithSegments(b"foo", ss.pack(0, 3))
b2 = zstd.BufferWithSegments(
b"barbaz", b"".join([ss.pack(0, 3), ss.pack(3, 3)])
)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
c = zstd.BufferWithSegmentsCollection(b1, b2)
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(IndexError, "offset must be less than 3"):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 c[3]
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 with self.assertRaisesRegex(IndexError, "offset must be less than 3"):
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 c[4]
Gregory Szorc
zstandard: vendor python-zstandard 0.13.0...
r44446 self.assertEqual(c[0].tobytes(), b"foo")
self.assertEqual(c[1].tobytes(), b"bar")
self.assertEqual(c[2].tobytes(), b"baz")