aboutsummaryrefslogtreecommitdiff
path: root/src/mutator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mutator.cc')
-rw-r--r--src/mutator.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mutator.cc b/src/mutator.cc
index 53ef68e..b3e61cf 100644
--- a/src/mutator.cc
+++ b/src/mutator.cc
@@ -455,7 +455,7 @@ void Mutator::Mutate(Message* message, size_t size_increase_hint) {
MutateImpl(message, size_increase_hint);
InitializeAndTrim(message, kMaxInitializeDepth);
- assert(!keep_initialized_ || message->IsInitialized());
+ assert(IsInitialized(*message));
if (!post_processors_.empty()) {
ApplyPostProcessing(message);
@@ -533,7 +533,7 @@ void Mutator::CrossOver(const protobuf::Message& message1,
CrossOverImpl(message1, message2);
InitializeAndTrim(message2, kMaxInitializeDepth);
- assert(!keep_initialized_ || message2->IsInitialized());
+ assert(IsInitialized(*message2));
if (!post_processors_.empty()) {
ApplyPostProcessing(message2);
@@ -711,4 +711,10 @@ std::string Mutator::MutateUtf8String(const std::string& value,
return str;
}
+bool Mutator::IsInitialized(const Message& message) const {
+ if (!keep_initialized_ || message.IsInitialized()) return true;
+ std::cerr << "Uninitialized: " << message.DebugString() << "\n";
+ return false;
+}
+
} // namespace protobuf_mutator