Automatic generation of test hex files
authorHugo Villeneuve <hugo@hugovil.com>
Sun, 24 Nov 2013 05:10:14 +0000 (00:10 -0500)
committerHugo Villeneuve <hugo@hugovil.com>
Mon, 2 Dec 2013 02:00:07 +0000 (21:00 -0500)
Makefile.am
configure.ac
tests/Makefile.am [new file with mode: 0644]

index 71bd259..b387b0f 100644 (file)
@@ -4,6 +4,10 @@ AUTOMAKE_OPTIONS = gnu
 
 SUBDIRS = src data doc
 
+if RUN_TESTS
+SUBDIRS += tests
+endif
+
 ## We want these in the dist tarball
 EXTRA_DIST = autogen.sh \
              pixmaps
index c8e8135..c4be40f 100644 (file)
@@ -7,7 +7,7 @@ AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_SRCDIR(src/cpu8051.c)
 AM_CONFIG_HEADER(config.h:config-h.in)
 dnl Checking if the NEWS file has been updated to reflect the current version.
-AM_INIT_AUTOMAKE(check-news -Wall std-options)
+AM_INIT_AUTOMAKE(check-news -Wall std-options color-tests parallel-tests)
 AM_SILENT_RULES([yes])
 
 dnl Testing the C compiler.
@@ -47,9 +47,31 @@ fi
 
 AM_CONDITIONAL([USE_GTK], [test x${ac_cv_enable_gui} = xyes])
 
+dnl Check if tests are enabled (disabled by default)
+AC_ARG_ENABLE([tests],
+              [AS_HELP_STRING([--enable-tests],[Run test suite])],
+              [run_tests=${enableval}],
+              [run_tests="no"])
+
+dnl If tests are enabled, try to locate asem 8051 compiler
+if test x"${run_tests}" = xyes; then
+    dnl Tests for 8051 assembler to generate hex test files
+    dnl TODO: add argument to specify location of asem executable...
+    AC_CHECK_PROG(ASEM_CHECK,asem,yes)
+    if test x"$ASEM_CHECK" != x"yes" ; then
+        AC_MSG_ERROR([Please install asem (http://plit.de/asem-51) to run test suite.])
+    fi
+fi
+
+AM_CONDITIONAL([RUN_TESTS],[test "x$run_tests" = "xyes"])
+
 AC_SUBST(CFLAGS)
 AC_SUBST(LIBS)
 AC_SUBST(ac_aux_dir)
 
 dnl Creating output file(s)
 AC_OUTPUT(Makefile src/Makefile data/Makefile doc/Makefile)
+
+if test x"${run_tests}" = xyes; then
+    AC_OUTPUT(tests/Makefile)
+fi
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644 (file)
index 0000000..baae742
--- /dev/null
@@ -0,0 +1,18 @@
+# tests for emu8051
+
+AS51 = asem
+
+SUFFIXES = .hex .asm
+
+bin_PROGRAMS = mul1.hex mul2.hex
+
+mul1.hex: mul1.asm
+
+mul2.hex: mul2.asm
+
+.asm.hex:
+       $(AS51) $<
+
+CLEANFILES = *~ *.lst
+
+MAINTAINERCLEANFILES = Makefile.in