pike.git
/
src
/
testsuite.in
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/testsuite.in:14369:
for (int i = 0; i < level; i++) ret = (ret && ret->ctx); return ret || this; } }; return A(0)->get(UNDEFINED); ]])
+
dnl Verify some coding practices.
+
test_tests([[
+
void report_test(array res, int failed, string fail_msg, mixed ... extra)
+
{
+
if (!failed) {
+
res[0]++;
+
return;
+
}
+
res[1]++;
+
log_msg(fail_msg, @extra);
+
}
+
+
array(int) test_dir(string dir)
+
{
+
log_status("Testing directory %s/.\n", dir);
+
+
string configure_script = Stdio.read_bytes(combine_path(dir, "configure.in"));
+
array(int) res = ({ 0, 0 });
+
+
if (!configure_script) return res;
+
+
// Makefile.in should exist.
+
string makefile_in = Stdio.read_bytes(combine_path(dir, "Makefile.in"));
+
report_test(res, !makefile_in, "Makefile.in missing in directory %O.\n", dir);
+
+
if (sscanf(configure_script, "%*sAC_CONFIG_HEADER(%s)", string config_h)) {
+
// acconfig.h should exist.
+
report_test(res, !Stdio.is_file(combine_path(dir, "acconfig.h")),
+
"acconfig.h missing in directory %s.\n", dir);
+
// config_h + ".in" should exist.
+
report_test(res, !Stdio.is_file(combine_path(dir, config_h + ".in")),
+
"%s missing in directory %s.\n", config_h + ".in", dir);
+
// The Makefile should regenerate config_h et al.
+
report_test(res,
+
!has_value(makefile_in||"", "CONFIG_HEADERS=@CONFIG_HEADERS@"),
+
"Makefile.in in directory %s is missing CONFIG_HEADERS.", dir);
+
}
+
return res;
+
}
+
+
array(int) recur_test_dir(string dir)
+
{
+
array(int) res = test_dir(dir);
+
+
foreach(get_dir(dir), string f) {
+
string path = combine_path(dir, f);
+
if (Stdio.is_dir(path)) {
+
array(int) delta = recur_test_dir(path);
+
res[0] += delta[0];
+
res[1] += delta[1];
+
}
+
}
+
return res;
+
}
+
+
array(int) a()
+
{
+
return recur_test_dir("]]SRCDIR[[");
+
}
+
]])
+
END_MARKER