diff --git a/tests/chunks/discover-version.t.cpp b/tests/chunks/discover-version.t.cpp
index 266bcf5..25754fd 100644
--- a/tests/chunks/discover-version.t.cpp
+++ b/tests/chunks/discover-version.t.cpp
@@ -142,6 +142,7 @@
 
   // Send back an invalid metadata packet
   Data data(face.sentInterests.back().getName());
+  data.setFreshnessPeriod(1_s);
   data.setContentType(tlv::ContentType_Key);
   face.receive(signData(data));
 
diff --git a/tests/peek/ndnpeek.t.cpp b/tests/peek/ndnpeek.t.cpp
index e3fd5b3..332c2d2 100644
--- a/tests/peek/ndnpeek.t.cpp
+++ b/tests/peek/ndnpeek.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2018,  Arizona Board of Regents.
+ * Copyright (c) 2014-2019,  Arizona Board of Regents.
  *
  * This file is part of ndn-tools (Named Data Networking Essential Tools).
  * See AUTHORS.md for complete list of ndn-tools authors and contributors.
@@ -173,6 +173,7 @@
   initialize(options);
 
   auto data = makeData(Name(options.name).append("suffix"));
+  data->setFreshnessPeriod(1_s);
   std::string payload = "NdnPeekTest";
   data->setContent(reinterpret_cast<const uint8_t*>(payload.data()), payload.size());
 
diff --git a/tests/ping/client/ping.t.cpp b/tests/ping/client/ping.t.cpp
index 2b20124..67d7ddc 100644
--- a/tests/ping/client/ping.t.cpp
+++ b/tests/ping/client/ping.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2016,  Arizona Board of Regents.
+/*
+ * Copyright (c) 2014-2019,  Arizona Board of Regents.
  *
  * This file is part of ndn-tools (Named Data Networking Essential Tools).
  * See AUTHORS.md for complete list of ndn-tools authors and contributors.
@@ -76,13 +76,17 @@
   this->advanceClocks(io, time::milliseconds(1), 500);
   BOOST_REQUIRE_EQUAL(face.sentInterests.size(), 4);
 
-  face.receive(*makeData("ndn:/test-prefix/ping/1000"));
+  auto data = makeData("/test-prefix/ping/1000");
+  data->setFreshnessPeriod(1_s);
+  face.receive(*data);
 
   lp::Nack nack(face.sentInterests[1]);
   nack.setReason(lp::NackReason::DUPLICATE);
   face.receive(nack);
 
-  face.receive(*makeData("ndn:/test-prefix/ping/1002"));
+  data = makeData("/test-prefix/ping/1002");
+  data->setFreshnessPeriod(1_s);
+  face.receive(*data);
 
   this->advanceClocks(io, time::milliseconds(100), 20);
 
