diff --git a/tools/internal_test.py b/tools/internal_test.py
index f5956e8..be9779a 100755
--- a/tools/internal_test.py
+++ b/tools/internal_test.py
@@ -55,7 +55,9 @@
 TIMED_OUT = 'timed_out'
 
 TEST_COMMANDS = [
+    # Run test.py internal testing.
     ['tools/test.py', '--only_internal'],
+    # Ensure that all internal apps compile.
     ['tools/run_on_app.py', '--ignore-java-version','--run-all', '--out=out']
 ]
 
@@ -292,18 +294,10 @@
   failed = False
   git_hash = utils.get_HEAD_sha1()
   log('Running once with hash %s' % git_hash)
-  # Run test.py internal testing.
-  cmd = ['tools/test.py', '--only_internal', '--r8lib']
   env = os.environ.copy()
   # Bot does not have a lot of memory.
   env['R8_GRADLE_CORES_PER_FORK'] = '8'
-  if execute(cmd, archive, env):
-    failed = True
-  # Ensure that all internal apps compile.
-  cmd = ['tools/run_on_app.py', '--ignore-java-version','--run-all',
-         '--out=out']
-  if execute(cmd, archive):
-    failed = True
+  failed = any([execute(cmd, archive, env) for cmd in TEST_COMMANDS])
   archive_status(1 if failed else 0)
   return failed
 
diff --git a/tools/test.py b/tools/test.py
index 043487c..031a016 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -103,11 +103,10 @@
   result.add_option('--use-golden-files-in', '--use_golden_files_in',
       help='Download golden files hierarchy for this commit in the specified'
            ' location and use them instead of executing on host runtime.')
-  result.add_option('--r8lib', '--r8lib', action='store_true',
-      help='Run the tests on r8lib with relocated dependencies.')
+  result.add_option('--no_r8lib', '--no_r8lib', default=False, action='store_true',
+      help='Run the tests on R8 full with relocated dependencies.')
   result.add_option('--r8lib_no_deps', '--r8lib_no_deps', default=False, action='store_true',
       help='Run the tests on r8lib without relocated dependencies.')
-
   return result.parse_args()
 
 def archive_failures():
@@ -178,10 +177,10 @@
     if not os.path.exists(options.use_golden_files_in):
       os.makedirs(options.use_golden_files_in)
     gradle_args.append('-PHEAD_sha1=' + utils.get_HEAD_sha1())
-  if options.r8lib and options.r8lib_no_deps:
-    print('Cannot run tests on r8lib with and without deps')
+  if not options.no_r8lib and options.r8lib_no_deps:
+    print('Cannot run tests on r8lib with and without deps. R8lib is now default target.')
     exit(1)
-  if options.r8lib:
+  if not options.no_r8lib:
     gradle_args.append('-Pr8lib')
   if options.r8lib_no_deps:
     gradle_args.append('-Pr8lib_no_deps')
