diff --git a/runtime/syntax/testdir/README.txt b/runtime/syntax/testdir/README.txt
index 22b6084..7628ef1 100644
--- a/runtime/syntax/testdir/README.txt
+++ b/runtime/syntax/testdir/README.txt
@@ -26,14 +26,30 @@
 -----------------------------
 
 Create a source file in the language you want to test in the "input"
-directory.  Make sure to include some interesting constructs with complicated
-highlighting.
-
-Use the filetype name as the base and a file name extension matching the
-filetype.  Let's use Java as an example.  The file would then be
+directory.  Use the filetype name as the base and a file name extension
+matching the filetype.  Let's use Java as an example. The file would then be
 "input/java.java".
 
+Make sure to include some interesting constructs with plenty of complicated
+highlighting.  Optionally, pre-configure the testing environment by including
+setup commands at the top of the input file. The format for these lines is:
+
+	TEST_SETUP {command}
+
+where {command} is any valid Ex command, which extends to the end of the line.
+The first 20 lines of the input file are ALWAYS scanned for setup commands and
+these will be executed before the syntax highlighting is enabled.  Typically,
+these lines would be included as comments so as not to introduce any syntax
+errors in the input file but this is not required.
+
+Continuing the Java example:
+
+	// TEST_SETUP let g:java_space_errors = 1
+	// TEST_SETUP let g:java_minlines = 5
+	class Test { }
+
 If there is no further setup required, you can now run the tests:
+
 	make test
 
 The first time this will fail with an error for a missing screendump.  The
@@ -69,8 +85,10 @@
    pass, but if you fixed syntax highlighting that was already visible in the
    input file, carefully check that the changes in the screendump are
    intentional:
+
 	let fname = '{name}_99.dump'
 	call term_dumpdiff('failed/' .. fname, 'dumps/' .. fname)
+
    Fix the syntax plugin until the result is good.
 2. Edit the input file for your language to add the items you have improved.
    (TODO: how to add another screendump?).
@@ -91,7 +109,6 @@
 
 
 
-TODO: run test for one specific filetype
 
-TODO: testing with various option values
+TODO: run test for one specific filetype
 TODO: test syncing by jumping around
diff --git a/runtime/syntax/testdir/runtest.vim b/runtime/syntax/testdir/runtest.vim
index a2cdef3..ffa2be8 100644
--- a/runtime/syntax/testdir/runtest.vim
+++ b/runtime/syntax/testdir/runtest.vim
@@ -114,8 +114,6 @@
       call delete('done/' .. root)
 
       let lines =<< trim END
-	syntax on
-
 	" extra info for shell variables
 	func ShellInfo()
 	  let msg = ''
@@ -145,6 +143,25 @@
 	  redraw!
 	endfunc
 
+	func SetUpVim()
+	  call cursor(1, 1)
+	  " Defend against rogue TEST_SETUP commands.
+	  for _ in range(20)
+	    let lnum = search('\<TEST_SETUP\>', 'eW', 20)
+	    if lnum < 1
+	      break
+	    endif
+	    exe substitute(getline(lnum), '.*TEST_SETUP', '', '')
+	  endfor
+	  call cursor(1, 1)
+	  " BEGIN [runtime/defaults.vim]
+	  set display=truncate ruler scrolloff=5
+	  " Provide pre-TEST_SETUP support for input/*.c.
+	  let g:c_comment_strings = 1
+	  syntax on
+	  " END [runtime/defaults.vim]
+	  redraw!
+	endfunc
       END
       call writefile(lines, 'Xtestscript')
 
@@ -157,9 +174,12 @@
       " for the terminal window.
       redraw
 
-      let buf = RunVimInTerminal('-S Xtestscript', {})
+      " Let "Xtestscript#SetUpVim()" turn the syntax on.
+      let buf = RunVimInTerminal('-Nu NONE -S Xtestscript', {})
       " edit the file only after catching the SwapExists event
       call term_sendkeys(buf, ":edit " .. fname .. "\<CR>")
+      " set up the testing environment
+      call term_sendkeys(buf, ":call SetUpVim()\<CR>")
       " load filetype specific settings
       call term_sendkeys(buf, ":call LoadFiletype('" .. filetype .. "')\<CR>")
 
