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:])) |