[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/5] objc++: add first tests
From: |
Stefano Lattarini |
Subject: |
Re: [PATCH 5/5] objc++: add first tests |
Date: |
Fri, 27 Apr 2012 11:02:13 +0200 |
On 04/27/2012 10:19 AM, Stefano Lattarini wrote:
> From: Peter Breitenlohner <address@hidden>
>
> * t/objcxx-basic.test: New test.
> * t/objcxx-demo.test: Likewise.
> * t/list-of-tests.mk: Add them.
>
> Signed-off-by: Peter Breitenlohner <address@hidden>
> Signed-off-by: Stefano Lattarini <address@hidden>
> ---
> t/list-of-tests.mk | 2 ++
> t/objcxx-basic.sh | 37 +++++++++++++++++++++++++++++++
> t/objcxx-demo.sh | 61
> ++++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 100 insertions(+)
> create mode 100755 t/objcxx-basic.sh
> create mode 100755 t/objcxx-demo.sh
> diff --git a/t/objcxx-basic.sh b/t/objcxx-basic.sh
> new file mode 100755
> index 0000000..ae0f969
> --- /dev/null
> +++ b/t/objcxx-basic.sh
> @@ -0,0 +1,37 @@
> +#! /bin/sh
> +# Copyright (C) 2009 Free Software Foundation, Inc.
>
Oops. I forgot to update the copyright year. Consider this fixed.
The rest of this test case seems OK.
> diff --git a/t/objcxx-demo.sh b/t/objcxx-demo.sh
> new file mode 100755
> index 0000000..7af089f
> --- /dev/null
> +++ b/t/objcxx-demo.sh
> @@ -0,0 +1,61 @@
> +#! /bin/sh
>
> +# Demo package using Objective C++ and doing distcheck.
> +
> +required='cc c++'
> +. ./defs || Exit 1
> +
> +cat >> configure.ac << 'END'
> +AC_PROG_CC
> +AC_PROG_CXX
> +AC_PROG_OBJC
> +AC_PROG_OBJCXX
>
Here, we should ensure the test is skipped if any of AC_PROG_OBJC or
is undefined AC_PROG_OBJCXX (because the autoconf version being used
is too old, i.e., < 2.66 if I'm not mistaken). That can be done in
a follow-up patch though.
> +AC_CONFIG_HEADERS([config.h])
> +AC_OUTPUT
> +END
> +
> +cat > Makefile.am << 'END'
> +bin_PROGRAMS = play
> +play_SOURCES = play.c playxx.cxx playobjc.m playobjcxx.mm
>
> +END
> +
> +cat > play.c << 'END'
> +#include <config.h>
> +#include <stdio.h>
> +int main (void)
> +{
> + printf("Hello, world! (" PACKAGE_STRING ")\n");
> + return 0;
> +}
> +END
> +
> +echo '//' >> playxx.cxx
> +
> +echo '/* */' >> playobjc.m
> +
> +echo '//' >> playobjcxx.mm
> +
Rather than having dummy files, I'd like to have files with real content
here, to ensure better similarity with real-world usage.
Extra points if you can make the content of the '.m' file valid only as ObjC
(not as ObjC++, C, nor C++) and the content of the '.mm' file valid only as
ObjC++ (not as ObjC C, nor C++), to ensure the correct compiler is being used
based on the file extension.
Even more kudos if you can make the all the functions defined in all of
'playxx.cxx', 'playobjc.m' and 'playobjcxx.mm' actually invoked by the
'main()' function.
> +$ACLOCAL
> +$AUTOCONF
> +$AUTOHEADER
> +$AUTOMAKE --add-missing
> +
> +./configure
> +$MAKE
> +$MAKE distcheck
> +
> +:
Also, for a better coverage, I'd like to have two more tests (in new files):
- one that tests automatic dependency tracking for '.mm' files
(t/objcxx-deps.sh)
- one that checks the use of global compile flags '$(AM_OBJCXXFLAGS)',
per-taget compile flags '$(foo_OBJCXXFLAGS)', that the latter takes
precedence on the former, and that user-specified compile flags
'$(OBJCXXFLAGS)' take precedence over both
(objcxx-flags.sh)
Similar tests should also be added for the Objective C case; but that's material
for a follow-up patch.
Thanks,
Stefano
- [PATCH 0/5] Add Objective C++ support in Automake, (continued)
- [PATCH 0/5] Add Objective C++ support in Automake, Stefano Lattarini, 2012/04/27
- [PATCH 2/5] objc++: add documentation, Stefano Lattarini, 2012/04/27
- [PATCH 4/5] news: announce initial support for Objective C++, Stefano Lattarini, 2012/04/27
- [PATCH 1/5] objc++: initial support for Objective C++, Stefano Lattarini, 2012/04/27
- Re: [PATCH 1/5] objc++: initial support for Objective C++, Stefano Lattarini, 2012/04/30
- Re: [PATCH 1/5] objc++: initial support for Objective C++, Peter Breitenlohner, 2012/04/30
- Re: [PATCH 1/5] objc++: initial support for Objective C++, Stefano Lattarini, 2012/04/30
- [PATCH 5/5] objc++: add first tests, Stefano Lattarini, 2012/04/27
- Re: [PATCH 5/5] objc++: add first tests,
Stefano Lattarini <=
- Re: [PATCH 5/5] objc++: add first tests, Peter Breitenlohner, 2012/04/27
- Re: [PATCH 5/5] objc++: add first tests, Stefano Lattarini, 2012/04/27