summary refs log tree commit diff stats
path: root/all_tests.py
blob: dde73d53608fbf1f5b1662e1c6f1e1c2867b49e4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python3
"""Run all the tests inside the test/ directory as a test suite."""
if __name__ == '__main__':
	import unittest
	from test import *

	tests = []
	for key, val in vars().copy().items():
		if key.startswith('tc_'):
			tests.extend(v for k,v in vars(val).items() if type(v) == type)

	suite = unittest.TestSuite(map(unittest.makeSuite, tests))
	unittest.TextTestRunner(verbosity=2).run(suite)
;? finish "? endif "? let b:syntax = "mu" setlocal iskeyword=@,48-57,?,!,_,$,- setlocal formatoptions-=t " mu programs have long lines setlocal formatoptions+=c " but comments should still wrap syntax match muComment /#.*$/ | highlight link muComment Comment syntax match muSalientComment /##.*$/ | highlight link muSalientComment SalientComment syntax match muComment /;.*$/ | highlight link muComment Comment syntax match muSalientComment /;;.*$/ | highlight link muSalientComment SalientComment set comments+=n:# syntax match CommentedCode "#? .*" let b:cmt_head = "#? " " mu strings are inside [ ... ] and can span multiple lines " don't match '[' at end of line, that's usually code syntax region muString start=+\[[^\]]+ end=+\]+ syntax match muString "\[\]" highlight link muString String " mu syntax for representing the screen in scenarios syntax region muScreen start=+ \.+ end=+\.$\|$+ highlight link muScreen muString " mu literals syntax match muNumber %[^ ]\+:literal/\?[^ ,]*% syntax match muNumber %\<[0-9-]\?[0-9]\+\>% syntax match muNumber %\<[0-9-]\?[0-9]\+/[^ ,]*% highlight link muNumber Constant syntax match muLabel "^\s\+[^ 0-9a-zA-Z{}#\[\]][^ ]*\s*$" syntax match muLabel %[^ ]\+:label/\?[^ ,]*% syntax match muLabel "<[^ ]*>" highlight link muLabel Constant syntax match muLiteral %[^ ]\+:type/\?[^ ,]*% syntax match muLiteral %[^ ]\+:offset/\?[^ ,]*% syntax match muLiteral %[^ ]\+:variant/\?[^ ,]*% highlight link muLiteral Constant syntax keyword muKeyword default-space global-space new-default-space local-scope next-ingredient ingredient rewind-ingredients load-ingredients | highlight link muKeyword Constant syntax match muDelimiter "[{}]" | highlight link muDelimiter Delimiter syntax match muAssign " <- \|\<raw\>" | highlight link muAssign SpecialChar syntax match muGlobal %[^ ]\+:global/\?[^ ,]*% | highlight link muGlobal SpecialChar syntax keyword muControl reply reply-if reply-unless return return-if return-unless jump jump-if jump-unless loop loop-if loop-unless break break-if break-unless current-continuation continue-from create-delimited-continuation reply-delimited-continuation | highlight muControl ctermfg=3 " common keywords syntax keyword muRecipe recipe recipe! def def! before after | highlight muRecipe ctermfg=208 syntax match muRecipe " -> " syntax keyword muScenario scenario | highlight muScenario ctermfg=34 syntax keyword muData container exclusive-container | highlight muData ctermfg=226 let &cpo = s:save_cpo