#
# Common Makefile, defines the list of tests to run.
#

NO_PLUGIN = -U NONE --noplugin --not-a-term

# The first script creates small.vim.
SCRIPTS_FIRST = \
	test1.out

# Tests that run on all systems.
SCRIPTS_ALL = \
	test3.out \
	test4.out \
	test5.out \
	test7.out \
	test8.out \
	test9.out \
	test14.out \
	test15.out \
	test19.out \
	test20.out \
	test22.out \
	test23.out \
	test24.out \
	test26.out \
	test28.out \
	test29.out \
	test31.out \
	test33.out \
	test34.out \
	test36.out \
	test37.out \
	test38.out \
	test39.out \
	test40.out \
	test41.out \
	test42.out \
	test43.out \
	test44.out \
	test45.out \
	test48.out \
	test51.out \
	test53.out \
	test55.out \
	test56.out \
	test57.out \
	test60.out \
	test64.out \
	test65.out \
	test66.out \
	test67.out \
	test68.out \
	test69.out \
	test70.out \
	test73.out \
	test75.out \
	test76.out \
	test77.out \
	test79.out \
	test80.out \
	test82.out \
	test84.out \
	test88.out \
	test90.out \
	test91.out \
	test92.out \
	test93.out \
	test94.out \
	test95.out \
	test98.out \
	test99.out \
	test103.out \
	test104.out \
	test107.out \
	test108.out \
	test_autocmd_option.out \
	test_autoformat_join.out \
	test_breakindent.out \
	test_changelist.out \
	test_close_count.out \
	test_comparators.out \
	test_erasebackword.out \
	test_eval.out \
	test_fixeol.out \
	test_getcwd.out \
	test_insertcount.out \
	test_listchars.out \
	test_listlbr.out \
	test_search_mbyte.out \
	test_utf8.out \
	test_wordcount.out


# Tests that run on most systems, but not on Amiga.
SCRIPTS_MORE1 = \
	test11.out \
	test52.out \
	test85.out \
	test86.out \
	test87.out


# Tests that run on most systems, but not on Amiga and DOS/Windows.
SCRIPTS_MORE2 = \
	test12.out \
	test25.out \
	test49.out \
	test97.out \
	test_listlbr_utf8.out


# Tests that run on most systems, but not MingW and Cygwin.
SCRIPTS_MORE3 = \
	test54.out


# Tests that run on most systems, but not on VMS
SCRIPTS_MORE4 = \
	test17.out \
	test30.out \
	test32.out \
	test58.out \
	test59.out \
	test72.out \
	test78.out \
	test83.out \
	test89.out


# Tests specifically for MS-Windows.
SCRIPTS_WIN32 = test50.out


# Tests for the GUI.
SCRIPTS_GUI =


# Tests using runtest.vim.vim.
# Keep test_alot*.res as the last one, sort the others.
NEW_TESTS = test_arglist.res \
	    test_assert.res \
	    test_autochdir.res \
	    test_backspace_opt.res \
	    test_bufwintabinfo.res \
	    test_cdo.res \
	    test_channel.res \
	    test_charsearch.res \
	    test_cmdline.res \
	    test_crypt.res \
	    test_cscope.res \
	    test_diffmode.res \
	    test_digraph.res \
	    test_farsi.res \
	    test_fnameescape.res \
	    test_gf.res \
	    test_gn.res \
	    test_gui.res \
	    test_hardcopy.res \
	    test_history.res \
	    test_hlsearch.res \
	    test_increment.res \
	    test_increment_dbcs.res \
	    test_job_fails.res \
	    test_json.res \
	    test_langmap.res \
	    test_man.res \
	    test_marks.res \
	    test_matchadd_conceal.res \
	    test_nested_function.res \
	    test_netbeans.res \
	    test_normal.res \
	    test_packadd.res \
	    test_perl.res \
	    test_quickfix.res \
	    test_ruby.res \
	    test_search.res \
	    test_signs.res \
	    test_smartindent.res \
	    test_startup.res \
	    test_startup_utf8.res \
	    test_stat.res \
	    test_substitute.res \
	    test_syntax.res \
	    test_textobjects.res \
	    test_undo.res \
	    test_usercommands.res \
	    test_viminfo.res \
	    test_viml.res \
	    test_visual.res \
	    test_window_id.res \
	    test_writefile.res \
	    test_alot_latin.res \
	    test_alot_utf8.res \
	    test_alot.res


# Explicit dependencies.
test49.out: test49.vim

test60.out: test60.vim

