patch 8.0.0368: not all options are tested with a range of values

Problem:    Not all options are tested with a range of values.
Solution:   Generate a test script from the source code.
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index 076d8b2..623e46c 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -275,3 +275,21 @@
     call assert_equal(&ttytype, &term)
   endif
 endfunc
+
+func Test_set_all()
+  set tw=75
+  set iskeyword=a-z,A-Z
+  set nosplitbelow
+  let out = execute('set all')
+  call assert_match('textwidth=75', out)
+  call assert_match('iskeyword=a-z,A-Z', out)
+  call assert_match('nosplitbelow', out)
+  set tw& iskeyword& splitbelow&
+endfunc
+
+func Test_set_values()
+  " The file is only generated when running "make test" in the src directory.
+  if filereadable('opt_test.vim')
+    source opt_test.vim
+  endif
+endfunc