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

Side by Side Diff: test/unittests/wasm/decoder-unittest.cc

Issue 2406163002: [wasm] Implement decoding of i32v values (Closed)
Patch Set: Remove redundant check Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « src/wasm/wasm-module-builder.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "test/unittests/test-utils.h" 5 #include "test/unittests/test-utils.h"
6 6
7 #include "src/objects-inl.h" 7 #include "src/objects-inl.h"
8 #include "src/wasm/decoder.h" 8 #include "src/wasm/decoder.h"
9 #include "src/wasm/wasm-macro-gen.h" 9 #include "src/wasm/wasm-macro-gen.h"
10 10
11 namespace v8 { 11 namespace v8 {
12 namespace internal { 12 namespace internal {
13 namespace wasm { 13 namespace wasm {
14 14
15 class DecoderTest : public TestWithZone { 15 class DecoderTest : public TestWithZone {
16 public: 16 public:
17 DecoderTest() : decoder(nullptr, nullptr) {} 17 DecoderTest() : decoder(nullptr, nullptr) {}
18 18
19 Decoder decoder; 19 Decoder decoder;
20 }; 20 };
21 21
22 #define CHECK_UINT32V_INLINE(expected, expected_length, ...) \ 22 #define CHECK_UINT32V_INLINE(expected, expected_length, ...) \
23 do { \ 23 do { \
24 const byte data[] = {__VA_ARGS__}; \ 24 const byte data[] = {__VA_ARGS__}; \
25 decoder.Reset(data, data + sizeof(data)); \ 25 decoder.Reset(data, data + sizeof(data)); \
26 unsigned length; \ 26 unsigned length; \
27 EXPECT_EQ(expected, \ 27 EXPECT_EQ(expected, \
28 decoder.checked_read_u32v(decoder.start(), 0, &length)); \ 28 decoder.checked_read_u32v(decoder.start(), 0, &length)); \
29 EXPECT_EQ(expected_length, length); \ 29 EXPECT_EQ(expected_length, length); \
30 EXPECT_EQ(data, decoder.pc()); \
31 EXPECT_TRUE(decoder.ok()); \
32 EXPECT_EQ(expected, decoder.consume_u32v()); \
33 EXPECT_EQ(data + expected_length, decoder.pc()); \
30 } while (false) 34 } while (false)
31 35
32 #define CHECK_INT32V_INLINE(expected, expected_length, ...) \ 36 #define CHECK_INT32V_INLINE(expected, expected_length, ...) \
33 do { \ 37 do { \
34 const byte data[] = {__VA_ARGS__}; \ 38 const byte data[] = {__VA_ARGS__}; \
35 decoder.Reset(data, data + sizeof(data)); \ 39 decoder.Reset(data, data + sizeof(data)); \
36 unsigned length; \ 40 unsigned length; \
37 EXPECT_EQ(expected, \ 41 EXPECT_EQ(expected, \
38 decoder.checked_read_i32v(decoder.start(), 0, &length)); \ 42 decoder.checked_read_i32v(decoder.start(), 0, &length)); \
39 EXPECT_EQ(expected_length, length); \ 43 EXPECT_EQ(expected_length, length); \
44 EXPECT_EQ(data, decoder.pc()); \
45 EXPECT_TRUE(decoder.ok()); \
46 EXPECT_EQ(expected, decoder.consume_i32v()); \
47 EXPECT_EQ(data + expected_length, decoder.pc()); \
40 } while (false) 48 } while (false)
41 49
42 #define CHECK_UINT64V_INLINE(expected, expected_length, ...) \ 50 #define CHECK_UINT64V_INLINE(expected, expected_length, ...) \
43 do { \ 51 do { \
44 const byte data[] = {__VA_ARGS__}; \ 52 const byte data[] = {__VA_ARGS__}; \
45 decoder.Reset(data, data + sizeof(data)); \ 53 decoder.Reset(data, data + sizeof(data)); \
46 unsigned length; \ 54 unsigned length; \
47 EXPECT_EQ(expected, \ 55 EXPECT_EQ(expected, \
48 decoder.checked_read_u64v(decoder.start(), 0, &length)); \ 56 decoder.checked_read_u64v(decoder.start(), 0, &length)); \
49 EXPECT_EQ(expected_length, length); \ 57 EXPECT_EQ(expected_length, length); \
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 byte data[] = {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x77}; 667 byte data[] = {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x77};
660 decoder.Reset(data, data + sizeof(data)); 668 decoder.Reset(data, data + sizeof(data));
661 decoder.checked_read_i64v(decoder.start(), 0, &length); 669 decoder.checked_read_i64v(decoder.start(), 0, &length);
662 EXPECT_EQ(10, length); 670 EXPECT_EQ(10, length);
663 EXPECT_FALSE(decoder.ok()); 671 EXPECT_FALSE(decoder.ok());
664 } 672 }
665 673
666 } // namespace wasm 674 } // namespace wasm
667 } // namespace internal 675 } // namespace internal
668 } // namespace v8 676 } // namespace v8
OLDNEW
« no previous file with comments | « src/wasm/wasm-module-builder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698