Index: courgette/encoded_program_fuzz_unittest.cc |
diff --git a/courgette/encoded_program_fuzz_unittest.cc b/courgette/encoded_program_fuzz_unittest.cc |
index 10828351632637404a0be98b7736be831b918871..620db813e64557e2e72194c9314fdf948e7cf357 100644 |
--- a/courgette/encoded_program_fuzz_unittest.cc |
+++ b/courgette/encoded_program_fuzz_unittest.cc |
@@ -46,11 +46,15 @@ void DecodeFuzzTest::FuzzExe(const char* file_name) const { |
courgette::RegionBuffer original_buffer( |
courgette::Region(original_data, original_length)); |
- flow.ReadAssemblyProgramFromBuffer(flow.ONLY, original_buffer, false); |
+ flow.ReadDisassemblerFromBuffer(flow.ONLY, original_buffer); |
+ EXPECT_EQ(courgette::C_OK, flow.status()); |
+ EXPECT_TRUE(nullptr != flow.data(flow.ONLY)->disassembler.get()); |
+ |
+ flow.CreateAssemblyProgramFromDisassembler(flow.ONLY, false); |
EXPECT_EQ(courgette::C_OK, flow.status()); |
EXPECT_TRUE(nullptr != flow.data(flow.ONLY)->program.get()); |
- flow.CreateEncodedProgramFromAssemblyProgram(flow.ONLY); |
+ flow.CreateEncodedProgramFromDisassemblerAndAssemblyProgram(flow.ONLY); |
EXPECT_EQ(courgette::C_OK, flow.status()); |
EXPECT_TRUE(nullptr != flow.data(flow.ONLY)->encoded.get()); |
@@ -58,6 +62,10 @@ void DecodeFuzzTest::FuzzExe(const char* file_name) const { |
EXPECT_EQ(courgette::C_OK, flow.status()); |
EXPECT_TRUE(nullptr == flow.data(flow.ONLY)->program.get()); |
+ flow.DestroyDisassembler(flow.ONLY); |
+ EXPECT_EQ(courgette::C_OK, flow.status()); |
+ EXPECT_TRUE(nullptr == flow.data(flow.ONLY)->disassembler.get()); |
+ |
flow.WriteSinkStreamSetFromEncodedProgram(flow.ONLY); |
EXPECT_EQ(courgette::C_OK, flow.status()); |