Index: tests/pybin/settings.py
===================================================================
--- tests/pybin/settings.py	(revision f866d1533865d0b4f018bbcd150815363407ee0e)
+++ tests/pybin/settings.py	(revision 3c80ccc84498117773bedfc351f42492113bbde8)
@@ -98,4 +98,18 @@
 		self.path   = "debug" if value else "nodebug"
 
+class AST:
+	def __init__(self, ast):
+		if ast == "new":
+			self.string = "New AST"
+			self.flags  = """AST_FLAGS=-XCFA,--new-ast"""
+		elif ast == "old":
+			self.string = "Old AST"
+			self.flags  = """AST_FLAGS=-XCFA,--old-ast"""
+		elif ast == None:
+			self.string = "Default AST (%s)" % ("new" if config.NEWAST else "old")
+			self.flags  = """AST_FLAGS="""
+		else:
+			print("""ERROR: Invalid ast configuration, must be "old", "new" or left unspecified, was %s""" % (value), file=sys.stderr)
+
 class Install:
 	def __init__(self, value):
@@ -120,14 +134,17 @@
 
 def init( options ):
+	global all_ast
 	global all_arch
 	global all_debug
 	global all_install
+	global ast
 	global arch
+	global debug
 	global archive
+	global install
+
 	global continue_
-	global debug
 	global dry_run
 	global generating
-	global install
 	global make
 	global output_width
@@ -135,4 +152,5 @@
 	global timeout2gdb
 
+	all_ast      = [AST(o)          for o in list(dict.fromkeys(options.ast    ))] if options.ast  else [AST(None)]
 	all_arch     = [Architecture(o) for o in list(dict.fromkeys(options.arch   ))] if options.arch else [Architecture(None)]
 	all_debug    = [Debug(o)        for o in list(dict.fromkeys(options.debug  ))]
Index: tests/pybin/tools.py
===================================================================
--- tests/pybin/tools.py	(revision f866d1533865d0b4f018bbcd150815363407ee0e)
+++ tests/pybin/tools.py	(revision 3c80ccc84498117773bedfc351f42492113bbde8)
@@ -181,4 +181,5 @@
 		'-s' if silent else None,
 		test_param,
+		settings.ast.flags,
 		settings.arch.flags,
 		settings.debug.flags,
