Changeset - d28d5d62b684
[Not reviewed]
default
0 3 2
Nathan Brink (binki) - 17 years ago 2009-02-28 20:24:33
ohnobinki@ohnopublishing.net
support for tests
5 files changed with 131 insertions and 17 deletions:
0 comments (0 inline, 0 general)
INSTALL
Show inline comments
 
@@ -2,7 +2,7 @@ Installation Instructions
 
*************************
 

	
 
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
 
2006, 2007 Free Software Foundation, Inc.
 
2006, 2007, 2008 Free Software Foundation, Inc.
 

	
 
This file is free documentation; the Free Software Foundation gives
 
unlimited permission to copy, distribute and modify it.
 
@@ -73,9 +73,9 @@ The simplest way to compile this package
 
Compilers and Options
 
=====================
 

	
 
Some systems require unusual options for compilation or linking that the
 
`configure' script does not know about.  Run `./configure --help' for
 
details on some of the pertinent environment variables.
 
   Some systems require unusual options for compilation or linking that
 
the `configure' script does not know about.  Run `./configure --help'
 
for details on some of the pertinent environment variables.
 

	
 
   You can give `configure' initial values for configuration parameters
 
by setting variables in the command line or in the environment.  Here
 
@@ -100,6 +100,20 @@ architecture at a time in the source cod
 
installed the package for one architecture, use `make distclean' before
 
reconfiguring for another architecture.
 

	
 
   On MacOS X 10.5 and later systems, you can create libraries and
 
executables that work on multiple system types--known as "fat" or
 
"universal" binaries--by specifying multiple `-arch' options to the
 
compiler but only a single `-arch' option to the preprocessor.  Like
 
this:
 

	
 
     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
 
                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
 
                 CPP="gcc -E" CXXCPP="g++ -E"
 

	
 
   This is not guaranteed to produce working output in all cases, you
 
may have to build one architecture at a time and combine the results
 
using the `lipo' tool if you have problems.
 

	
 
Installation Names
 
==================
 

	
 
@@ -138,14 +152,36 @@ find the X include and library files aut
 
you can use the `configure' options `--x-includes=DIR' and
 
`--x-libraries=DIR' to specify their locations.
 

	
 
Particular systems
 
==================
 

	
 
   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
 
CC is not installed, it is recommended to use the following options in
 
order to use an ANSI C compiler:
 

	
 
     ./configure CC="cc -Ae"
 

	
 
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 

	
 
   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 
parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 
a workaround.  If GNU CC is not installed, it is therefore recommended
 
to try
 

	
 
     ./configure CC="cc"
 

	
 
and if that doesn't work, try
 

	
 
     ./configure CC="cc -nodtk"
 

	
 
Specifying the System Type
 
==========================
 

	
 
There may be some features `configure' cannot figure out automatically,
 
but needs to determine by the type of machine the package will run on.
 
Usually, assuming the package is built to be run on the _same_
 
architectures, `configure' can figure that out, but if it prints a
 
message saying it cannot guess the machine type, give it the
 
   There may be some features `configure' cannot figure out
 
automatically, but needs to determine by the type of machine the package
 
will run on.  Usually, assuming the package is built to be run on the
 
_same_ architectures, `configure' can figure that out, but if it prints
 
a message saying it cannot guess the machine type, give it the
 
`--build=TYPE' option.  TYPE can either be a short name for the system
 
type, such as `sun4', or a canonical name which has the form:
 

	
 
@@ -171,9 +207,9 @@ eventually be run) with `--host=TYPE'.
 
Sharing Defaults
 
================
 

	
 
If you want to set default values for `configure' scripts to share, you
 
can create a site shell script called `config.site' that gives default
 
values for variables like `CC', `cache_file', and `prefix'.
 
   If you want to set default values for `configure' scripts to share,
 
you can create a site shell script called `config.site' that gives
 
default values for variables like `CC', `cache_file', and `prefix'.
 
`configure' looks for `PREFIX/share/config.site' if it exists, then
 
`PREFIX/etc/config.site' if it exists.  Or, you can set the
 
`CONFIG_SITE' environment variable to the location of the site script.
 
@@ -201,11 +237,19 @@ an Autoconf bug.  Until the bug is fixed
 
`configure' Invocation
 
======================
 

	
 
`configure' recognizes the following options to control how it operates.
 
   `configure' recognizes the following options to control how it
 
operates.
 

	
 
`--help'
 
`-h'
 
     Print a summary of the options to `configure', and exit.
 
     Print a summary of all of the options to `configure', and exit.
 

	
 
`--help=short'
 
`--help=recursive'
 
     Print a summary of the options unique to this package's
 
     `configure', and exit.  The `short' variant lists options used
 
     only in the top level, while the `recursive' variant lists options
 
     also present in any nested packages.
 

	
 
`--version'
 
`-V'
 
@@ -232,6 +276,16 @@ an Autoconf bug.  Until the bug is fixed
 
     Look for the package's source code in directory DIR.  Usually
 
     `configure' can determine that directory automatically.
 

	
 
`--prefix=DIR'
 
     Use DIR as the installation prefix.  *Note Installation Names::
 
     for more details, including other options available for fine-tuning
 
     the installation locations.
 

	
 
`--no-create'
 
`-n'
 
     Run the configure checks, but stop before creating any output
 
     files.
 

	
 
`configure' also accepts some other, not widely useful, options.  Run
 
`configure --help' for more details.
 

	
configure.ac
Show inline comments
 
@@ -19,11 +19,13 @@ AC_PREREQ(2.61)
 
AC_INIT([distren],[0.0],[ohnobinki@ohnopublishing.net])
 
AC_CONFIG_SRCDIR([src/server/distrend.c])
 

	
 
AM_INIT_AUTOMAKE
 

	
 
AC_PROG_CC
 
AC_PROG_LIBTOOL
 

	
 
AM_INIT_AUTOMAKE
 
AM_PROG_CC_C_O
 
AM_PATH_CHECK
 

	
 
PKG_PROG_PKG_CONFIG(0.17.2)
 

	
 
PKG_CHECK_MODULES(DISTLIBS, libconfuse >= 2.6)
 
@@ -33,6 +35,7 @@ src/Makefile
 
src/common/Makefile
 
src/server/Makefile
 
src/client/Makefile
 
src/tests/Makefile
 
])
 

	
 
AC_OUTPUT
src/Makefile.am
Show inline comments
 
SUBDIRS = common server client
 
SUBDIRS = common server client . tests
src/tests/Makefile.am
Show inline comments
 
new file 100644
 
TESTS=check_execio
 
check_PROGRAMS=check_execio
 
check_execio_SOURCES = check_execio.c
 
check_execio_CFLAGS = @CHECK_CFLAGS@ -I$(top_builddir)/src/common
 
check_execio_LDADD = $(top_builddir)/src/common/libdistren.la @CHECK_LIBS@
src/tests/check_execio.c
Show inline comments
 
new file 100644
 
/*
 
  Copyright 2008 Nathan Phillip Brink, Ethan Zonca
 

	
 
  This file is a part of DistRen.
 

	
 
  DistRen is free software: you can redistribute it and/or modify
 
  it under the terms of the GNU Affero General Public License as published by
 
  the Free Software Foundation, either version 3 of the License, or
 
  (at your option) any later version.
 

	
 
  DistRen is distributed in the hope that it will be useful,
 
  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
  GNU Affero General Public License for more details.
 

	
 
  You should have received a copy of the GNU Affero General Public License
 
  along with DistRen.  If not, see <http://www.gnu.org/licenses/>.
 
*/
 

	
 
#include "execio.h"
 

	
 
#include <check.h>
 

	
 
START_TEST (execio)
 
{
 
  struct execio *eio;
 
  char *echoargv[] = 
 
    {
 
      "echo",
 
      "test"
 
    };
 

	
 
  char inbuf[20];
 
  size_t bytesread;
 
  
 
  fail_unless(execio_open(&eio, echoargv[0], echoargv) == 0,
 
	      "execio_open failed");
 
  
 
  fail_unless(execio_read(eio, inbuf, sizeof(inbuf) - 1, &bytesread) == 0,
 
	      "error using execio_read\n");
 
  
 
  fail_unless(execio_close(eio) == 0,
 
	      "error using execio_close\n");
 
}
 
END_TEST
 

	
 
int main(int argc, char *argv[])
 
{
 
  return 0;
 
  /* see http://check.sourceforge.net/doc/check.html/check_6.html#SEC6 */
 
}
 

	
0 comments (0 inline, 0 general)