aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-05-27 13:11:33 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-05-27 13:11:33 +0300
commita8f94d2f6c840d44cc389f4fd00eec5b7fc3a79f (patch)
treef76014da9c68f59ebc7d05437529155507999773 /src
parenta7e344ee831c2199751756b6addf8a5cb4450f29 (diff)
downloadcfpeek-a8f94d2f6c840d44cc389f4fd00eec5b7fc3a79f.tar.gz
cfpeek-a8f94d2f6c840d44cc389f4fd00eec5b7fc3a79f.tar.bz2
Add testsuite
* Makefile.am (SUBDIRS): Add tests. * configure.ac: Initialize test framework. * src/cmdline.opt: Print information about Guile and Grecs versions along with normal --version output. * src/Makefile.am (INCLUDES): Add $(top_srcdir), needed to locate gitid.h (MAINTAINERCLEANFILES): New variable. * tests: New directory. * tests/.gitignore: New file. * tests/Makefile.am: New file. * tests/atlocal.in: New file. * tests/gmatch.at: New file. * tests/guile-itr.at: New file. * tests/guile-list.at: New file. * tests/guile-list2.at: New file. * tests/list.at: New file. * tests/literal.at: New file. * tests/locus.at: New file. * tests/lookupfail.at: New file. * tests/parent.at: New file. * tests/path.at: New file. * tests/smatch.at: New file. * tests/testsuite.at: New file. * tests/up.at: New file. * tests/value.at: New file. * tests/version.at: New file.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am3
-rw-r--r--src/cmdline.opt18
2 files changed, 19 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index b77c0c4..061956c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,7 +28,7 @@ cfpeek_SOURCES = \
script.c
LDADD=@GRECS_LDADD@ @GUILE_LIBS@
-INCLUDES = @GRECS_INCLUDES@ @GUILE_INCLUDES@
+INCLUDES = -I$(top_srcdir) @GRECS_INCLUDES@ @GUILE_INCLUDES@
AM_CPPFLAGS= \
-DDEFAULT_PREPROCESSOR="$(DEFAULT_PREPROCESSOR)"
@@ -46,4 +46,5 @@ DOT_X_FILES = $(CFPEEK_GUILE_SRC:.c=.x)
DOT_DOC_FILES = $(CFPEEK_GUILE_SRC:.c=.doc)
CLEANFILES =
DISTCLEANFILES =
+MAINTAINERCLEANFILES =
include ../gint/gint.mk
diff --git a/src/cmdline.opt b/src/cmdline.opt
index 8ddfffd..a8d134d 100644
--- a/src/cmdline.opt
+++ b/src/cmdline.opt
@@ -18,6 +18,7 @@
# include <getopt.h>
#endif
#include <unistd.h>
+#include "grecs/gitid.h"
static struct grecs_txtacc *pp_cmd_acc;
char *program_name;
@@ -27,6 +28,9 @@ char *program_name;
#define PREPROC_DEFAULT 2
static int preproc_settings = PREPROC_NOT_SET;
+#define CFPEEK_NODE_FLAG_DEFAULT \
+ (GRECS_NODE_FLAG_PATH|GRECS_NODE_FLAG_VALUE|GRECS_NODE_FLAG_DESCEND)
+
static int flags_on, flags_off;
struct format_flag {
@@ -77,7 +81,7 @@ struct format_flag format_flag_table[] = {
{ "descend", NULL, "descend into subnodes",
GRECS_NODE_FLAG_DESCEND },
{ "default", NULL, "set default options",
- GRECS_NODE_FLAG_DEFAULT },
+ CFPEEK_NODE_FLAG_DEFAULT },
{ NULL }
};
@@ -325,6 +329,17 @@ END
OPTIONS_END
void
+cfpeek_version_hook(FILE *stream)
+{
+ fprintf(stream, "compiled with:\n");
+ fprintf(stream, " Grecs %s\n", GRECS_GIT_ID);
+#ifdef GUILE_VERSION
+ fprintf(stream, " Guile %s\n", GUILE_VERSION);
+#endif
+}
+
+
+void
parse_options(int argc, char *argv[])
{
program_name = strrchr(argv[0], '/');
@@ -333,6 +348,7 @@ parse_options(int argc, char *argv[])
else
program_name = argv[0];
print_help_hook = flags_help;
+ print_version_hook = cfpeek_version_hook;
GETOPT(argc, argv, file_index, exit(EX_USAGE))
if (!(flags_on & _GRECS_NODE_MASK_OUTPUT))
flags_on |= GRECS_NODE_FLAG_PATH|GRECS_NODE_FLAG_VALUE;

Return to:

Send suggestions and report system problems to the System administrator.