diff --git a/Lib/test/test_hotshot.py b/Lib/test/test_hotshot.py
index 7188f1b..938687e 100644
--- a/Lib/test/test_hotshot.py
+++ b/Lib/test/test_hotshot.py
@@ -41,8 +41,7 @@
         return hotshot.Profile(self.logfn, lineevents, linetimings)
 
     def get_logreader(self):
-        log = UnlinkingLogReader(self.logfn)
-        return log
+        return UnlinkingLogReader(self.logfn)
 
     def get_events_wotime(self):
         L = []
@@ -68,6 +67,17 @@
         profiler.close()
         self.check_events(events)
 
+    def test_addinfo(self):
+        def f(p):
+            p.addinfo("test-key", "test-value")
+        profiler = self.new_profiler()
+        profiler.runcall(f, profiler)
+        profiler.close()
+        log = self.get_logreader()
+        info = log._info
+        list(log)
+        self.failUnless(info["test-key"] == ["test-value"])
+
     def test_line_numbers(self):
         def f():
             y = 2
