foreach arg [split [lindex $args 0] " "] {
# List of switches kept in ASCII collated order.
- if { [regexp -- {^-I([\w+/-]+)} $arg pattern path] } {
+ if [string match "-D" $arg] {
+ lappend out "-fdoc"
+
+ } elseif { [regexp -- {^-I([\w+/-]+)} $arg pattern path] } {
lappend out "-I$path"
} elseif { [regexp -- {^-J([\w+/-]+)} $arg pattern path] } {
# Split base, folder/file.
set type [file dirname $test]
+ set name [file tail $test]
# print "Filename: $base - $test"
# Compilable files are successful if an output is generated.
# Fail compilable are successful if an output is not generated.
# Runnable must compile, link, and return 0 to be successful by default.
- switch [file dirname $test] {
+ switch $type {
runnable {
if ![isnative] {
set out_line "// { dg-final { output-exists } }"
compilable {
set out_line "// { dg-final { output-exists } }"
puts $fdout $out_line
+
+ # Check that Ddoc tests also generate a html file.
+ if [regexp -- "ddoc.*" $name] {
+ set ddocfile "[file rootname $name].html"
+ set out_line "// { dg-final { scan-file $ddocfile \"Generated by Ddoc from $test\" } }"
+ puts $fdout $out_line
+ # Cleanup extra generated files.
+ set out_line "// { dg-final { file delete $ddocfile } }"
+ puts $fdout $out_line
+ }
}
fail_compilation {
compilable {
for { set i 0 } { $i<[llength $options] } { incr i } {
set flags [lindex $options $i]
- #set dg-do-what-default "compile"
- set dg-do-what-default "assemble"
+ # Compilable test may require checking another kind of output file.
+ if [regexp -- "ddoc.*" $name] {
+ set dg-do-what-default "compile"
+ } else {
+ set dg-do-what-default "assemble"
+ }
gdc-dg-runtest $filename $flags $imports
}
}