Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(974)

Unified Diff: mojo/public/tools/bindings/pylib/mojom/generate/pack_tests.py

Issue 814543006: Move //mojo/{public, edk} underneath //third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/public/tools/bindings/pylib/mojom/generate/pack_tests.py
diff --git a/mojo/public/tools/bindings/pylib/mojom/generate/pack_tests.py b/mojo/public/tools/bindings/pylib/mojom/generate/pack_tests.py
deleted file mode 100644
index 14f699da34d98d592c7167f7ed2cd9fa0e3691e0..0000000000000000000000000000000000000000
--- a/mojo/public/tools/bindings/pylib/mojom/generate/pack_tests.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-import module as mojom
-import pack
-import test_support
-
-
-EXPECT_EQ = test_support.EXPECT_EQ
-EXPECT_TRUE = test_support.EXPECT_TRUE
-RunTest = test_support.RunTest
-
-
-def TestOrdinalOrder():
- errors = 0
- struct = mojom.Struct('test')
- struct.AddField('testfield1', mojom.INT32, 2)
- struct.AddField('testfield2', mojom.INT32, 1)
- ps = pack.PackedStruct(struct)
-
- errors += EXPECT_EQ(2, len(ps.packed_fields))
- errors += EXPECT_EQ('testfield2', ps.packed_fields[0].field.name)
- errors += EXPECT_EQ('testfield1', ps.packed_fields[1].field.name)
-
- return errors
-
-def TestZeroFields():
- errors = 0
- struct = mojom.Struct('test')
- ps = pack.PackedStruct(struct)
- errors += EXPECT_EQ(0, len(ps.packed_fields))
- return errors
-
-
-def TestOneField():
- errors = 0
- struct = mojom.Struct('test')
- struct.AddField('testfield1', mojom.INT8)
- ps = pack.PackedStruct(struct)
- errors += EXPECT_EQ(1, len(ps.packed_fields))
- return errors
-
-# Pass three tuples.
-# |kinds| is a sequence of mojom.Kinds that specify the fields that are to
-# be created.
-# |fields| is the expected order of the resulting fields, with the integer
-# "1" first.
-# |offsets| is the expected order of offsets, with the integer "0" first.
-def TestSequence(kinds, fields, offsets):
- errors = 0
- struct = mojom.Struct('test')
- index = 1
- for kind in kinds:
- struct.AddField("%d" % index, kind)
- index += 1
- ps = pack.PackedStruct(struct)
- num_fields = len(ps.packed_fields)
- errors += EXPECT_EQ(len(kinds), num_fields)
- for i in xrange(num_fields):
- EXPECT_EQ("%d" % fields[i], ps.packed_fields[i].field.name)
- EXPECT_EQ(offsets[i], ps.packed_fields[i].offset)
-
- return errors
-
-
-def TestPaddingPackedInOrder():
- return TestSequence(
- (mojom.INT8, mojom.UINT8, mojom.INT32),
- (1, 2, 3),
- (0, 1, 4))
-
-
-def TestPaddingPackedOutOfOrder():
- return TestSequence(
- (mojom.INT8, mojom.INT32, mojom.UINT8),
- (1, 3, 2),
- (0, 1, 4))
-
-
-def TestPaddingPackedOverflow():
- kinds = (mojom.INT8, mojom.INT32, mojom.INT16, mojom.INT8, mojom.INT8)
- # 2 bytes should be packed together first, followed by short, then by int.
- fields = (1, 4, 3, 2, 5)
- offsets = (0, 1, 2, 4, 8)
- return TestSequence(kinds, fields, offsets)
-
-
-def TestNullableTypes():
- kinds = (mojom.STRING.MakeNullableKind(),
- mojom.HANDLE.MakeNullableKind(),
- mojom.Struct('test_struct').MakeNullableKind(),
- mojom.DCPIPE.MakeNullableKind(),
- mojom.Array().MakeNullableKind(),
- mojom.DPPIPE.MakeNullableKind(),
- mojom.Array(length=5).MakeNullableKind(),
- mojom.MSGPIPE.MakeNullableKind(),
- mojom.Interface('test_inteface').MakeNullableKind(),
- mojom.SHAREDBUFFER.MakeNullableKind(),
- mojom.InterfaceRequest().MakeNullableKind())
- fields = (1, 2, 4, 3, 5, 6, 8, 7, 9, 10, 11)
- offsets = (0, 8, 12, 16, 24, 32, 36, 40, 48, 52, 56)
- return TestSequence(kinds, fields, offsets)
-
-
-def TestAllTypes():
- return TestSequence(
- (mojom.BOOL, mojom.INT8, mojom.STRING, mojom.UINT8,
- mojom.INT16, mojom.DOUBLE, mojom.UINT16,
- mojom.INT32, mojom.UINT32, mojom.INT64,
- mojom.FLOAT, mojom.STRING, mojom.HANDLE,
- mojom.UINT64, mojom.Struct('test'), mojom.Array(),
- mojom.STRING.MakeNullableKind()),
- (1, 2, 4, 5, 7, 3, 6, 8, 9, 10, 11, 13, 12, 14, 15, 16, 17, 18),
- (0, 1, 2, 4, 6, 8, 16, 24, 28, 32, 40, 44, 48, 56, 64, 72, 80, 88))
-
-
-def TestPaddingPackedOutOfOrderByOrdinal():
- errors = 0
- struct = mojom.Struct('test')
- struct.AddField('testfield1', mojom.INT8)
- struct.AddField('testfield3', mojom.UINT8, 3)
- struct.AddField('testfield2', mojom.INT32, 2)
- ps = pack.PackedStruct(struct)
- errors += EXPECT_EQ(3, len(ps.packed_fields))
-
- # Second byte should be packed in behind first, altering order.
- errors += EXPECT_EQ('testfield1', ps.packed_fields[0].field.name)
- errors += EXPECT_EQ('testfield3', ps.packed_fields[1].field.name)
- errors += EXPECT_EQ('testfield2', ps.packed_fields[2].field.name)
-
- # Second byte should be packed with first.
- errors += EXPECT_EQ(0, ps.packed_fields[0].offset)
- errors += EXPECT_EQ(1, ps.packed_fields[1].offset)
- errors += EXPECT_EQ(4, ps.packed_fields[2].offset)
-
- return errors
-
-
-def TestBools():
- errors = 0
- struct = mojom.Struct('test')
- struct.AddField('bit0', mojom.BOOL)
- struct.AddField('bit1', mojom.BOOL)
- struct.AddField('int', mojom.INT32)
- struct.AddField('bit2', mojom.BOOL)
- struct.AddField('bit3', mojom.BOOL)
- struct.AddField('bit4', mojom.BOOL)
- struct.AddField('bit5', mojom.BOOL)
- struct.AddField('bit6', mojom.BOOL)
- struct.AddField('bit7', mojom.BOOL)
- struct.AddField('bit8', mojom.BOOL)
- ps = pack.PackedStruct(struct)
- errors += EXPECT_EQ(10, len(ps.packed_fields))
-
- # First 8 bits packed together.
- for i in xrange(8):
- pf = ps.packed_fields[i]
- errors += EXPECT_EQ(0, pf.offset)
- errors += EXPECT_EQ("bit%d" % i, pf.field.name)
- errors += EXPECT_EQ(i, pf.bit)
-
- # Ninth bit goes into second byte.
- errors += EXPECT_EQ("bit8", ps.packed_fields[8].field.name)
- errors += EXPECT_EQ(1, ps.packed_fields[8].offset)
- errors += EXPECT_EQ(0, ps.packed_fields[8].bit)
-
- # int comes last.
- errors += EXPECT_EQ("int", ps.packed_fields[9].field.name)
- errors += EXPECT_EQ(4, ps.packed_fields[9].offset)
-
- return errors
-
-
-def Main(args):
- errors = 0
- errors += RunTest(TestZeroFields)
- errors += RunTest(TestOneField)
- errors += RunTest(TestPaddingPackedInOrder)
- errors += RunTest(TestPaddingPackedOutOfOrder)
- errors += RunTest(TestPaddingPackedOverflow)
- errors += RunTest(TestNullableTypes)
- errors += RunTest(TestAllTypes)
- errors += RunTest(TestPaddingPackedOutOfOrderByOrdinal)
- errors += RunTest(TestBools)
-
- return errors
-
-
-if __name__ == '__main__':
- sys.exit(Main(sys.argv[1:]))
« no previous file with comments | « mojo/public/tools/bindings/pylib/mojom/generate/pack.py ('k') | mojo/public/tools/bindings/pylib/mojom/generate/run_tests.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698