From 594b0ac0051fae536e616122755dace7f63e4ee5 Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Sun, 24 Nov 2013 00:10:14 -0500 Subject: [PATCH] Automatic generation of test hex files --- Makefile.am | 4 ++++ configure.ac | 24 +++++++++++++++++++++++- tests/Makefile.am | 18 ++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 tests/Makefile.am diff --git a/Makefile.am b/Makefile.am index 71bd259..b387b0f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/configure.ac b/configure.ac index c8e8135..c4be40f 100644 --- a/configure.ac +++ b/configure.ac @@ -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 index 0000000..baae742 --- /dev/null +++ b/tests/Makefile.am @@ -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 -- 2.20.1