Add memory usage tracking to test scripts.

Bug:
Change-Id: Ifb0742fb47f4031c973ad39ec09627270bc357ea
diff --git a/tools/test_framework.py b/tools/test_framework.py
index 810935d..57279bf 100755
--- a/tools/test_framework.py
+++ b/tools/test_framework.py
@@ -53,6 +53,12 @@
       required = True,
       help = 'Results will be printed using the specified benchmark name (e.g.'
           ' <NAME>-<segment>(CodeSize): <bytes>)')
+  parser.add_argument('--print-memoryuse',
+      help = 'Prints the line \'<NAME>(MemoryUse):' +
+             ' <mem>\' at the end where <mem> is the peak' +
+             ' peak resident set size (VmHWM) in bytes.',
+      default = False,
+      action = 'store_true')
   return parser.parse_args()
 
 # Return a dictionary: {segment_name -> segments_size}
@@ -96,10 +102,16 @@
       if args.tool == 'd8-release':
         tool_args.append('--release')
 
+
+    cmd = []
+
+    track_memory_file = None
+    if args.print_memoryuse:
+      track_memory_file = os.path.join(temp_dir, utils.MEMORY_USE_TMP_FILE)
+      cmd.extend(['tools/track_memory.sh', track_memory_file])
+
     if tool_file.endswith('.jar'):
-      cmd = ['java', '-jar']
-    else:
-      cmd = []
+      cmd.extend(['java', '-jar'])
 
     cmd.extend([tool_file] + tool_args + [FRAMEWORK_JAR])
 
@@ -109,6 +121,10 @@
     subprocess.check_call(cmd)
     dt = time.time() - t0
 
+    if args.print_memoryuse:
+      print('{}(MemoryUse): {}'
+          .format(args.name, utils.grep_memoryuse(track_memory_file)))
+
     dex_files = [f for f in glob(os.path.join(temp_dir, '*.dex'))]
     code_size = 0
     for dex_file in dex_files: