#include <ccan/talloc/talloc.h>
#include <ccan/foreach/foreach.h>
#include <ccan/str/str.h>
+#include <ccan/cast/cast.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
foreach_ptr(fmt, "outputs '%s'", "outputs \"%s\"") {
if (scan_for(file, p, fmt, &expect)) {
- *input = "";
+ *input = cast_const(char *, "");
*exact = true;
return expect;
}
"outputs \"%s\"",
"outputs %s") {
if (scan_for(file, p, fmt, &expect)) {
- *input = "";
+ *input = cast_const(char *, "");
*exact = true;
return expect;
}
"output contains \"%s\"",
"output contains %s") {
if (scan_for(file, p, fmt, &expect)) {
- *input = "";
+ *input = cast_const(char *, "");
*exact = false;
return expect;
}
unsigned int default_time = default_timeout_ms;
cmd = talloc_asprintf(i, "echo '%s' | %s %s",
- input, i->compiled, input);
+ input, i->compiled[COMPILE_NORMAL], input);
output = run_with_timeout(i, cmd, &ok, &default_time);
if (!ok)
return output;
}
-static void run_examples(struct manifest *m, bool keep,
+static void run_examples(struct manifest *m,
unsigned int *timeleft, struct score *score)
{
struct ccan_file *i;
linenum++,
expect = find_expect(i, lines, &input,
&exact, &linenum)) {
- if (i->compiled == NULL)
+ if (i->compiled[COMPILE_NORMAL] == NULL)
continue;
score->total++;
}
}
+/* FIXME: Test with reduced features, valgrind! */
struct ccanlint examples_run = {
.key = "examples_run",
.name = "Module examples with expected output give that output",