docs: def make_script():
      """ Return the full testing script, with all the tests. """
      # tests
      easy = [
          'misra1a', 'chwirut2', 'chwirut1', 'lanczos3',
          'gauss1', 'gauss2', 'danwood', 'misra1b',
          ]
      medium = [
          'kirby2', 'hahn1', 'nelson', 'mgh17', 'lanczos1',
          'lanczos2', 'gauss3', 'misra1c', 'misra1d', 'roszman1', 'enso',
          ]
      hard = [
          'mgh09', 'thurber', 'boxbod', 'rat42', 'mgh10',
          'eckerle4', 'rat43', 'bennett5',
          ]
  
      # beginning material
      text = \
  """
  from __future__ import print_function
  
  import gvar as gv
  import numpy as np
  import lsqfit
  
  log = np.log
  exp = np.exp
  arctan = np.arctan
  cos = np.cos
  sin = np.sin
  pi = np.pi
  
  """
      if USE_2ND_STARTING_VALUE:
          text += '# 2nd starting values\n\n'
      else:
          text += '# 1st starting values\n\n'
      # main() program
      text += 'def main():\n'
      text += '    # easy\n'
      for n in easy:
          text += '    ' + n + '()\n'
      text += '\n    # medium\n'
      for n in medium:
          text += '    ' + n + '()\n'
      text += '\n    # hard\n'
      for n in hard:
          text += '    ' + n + '()\n'
  
      # add test-fit functions
      for n in easy:
          text += '\n'
          text += make_fcn(n + '.txt')
      for n in medium:
          text += '\n'
          text += make_fcn(n + '.txt')
      for n in hard:
          text += '\n'
          text += make_fcn(n + '.txt')
  
      # ending material
      text += \
  """
  
  if __name__ == '__main__':
      main()
  """
      return text