# HG changeset patch
# User Alpar Juttner <alpar@cs.elte.hu>
# Date 1198064029 0
# Node ID 3f411aa35bd7dfecf640bb3f0b5558a24e1d828c
# Parent  4c9552759a8ea7616e407c6df7310d37713594d4
Add test_tool_fail and test_tool_pass

All graph related things was temporarily removed from test_tools.h

diff -r 4c9552759a8e -r 3f411aa35bd7 test/Makefile.am
--- a/test/Makefile.am	Tue Dec 18 12:52:45 2007 +0100
+++ b/test/Makefile.am	Wed Dec 19 11:33:49 2007 +0000
@@ -1,9 +1,15 @@
 EXTRA_DIST += \
 	test/Makefile
 
-noinst_HEADERS +=
-
-check_PROGRAMS +=
-
+noinst_HEADERS += \
+        test/test_tools.h
+ 
+check_PROGRAMS += \
+        test/test_tools_fail \
+        test/test_tools_pass
+ 
 TESTS += $(check_PROGRAMS)
 XFAIL_TESTS += test/test_tools_fail$(EXEEXT)
+
+test_test_tools_fail_SOURCES = test/test_tools_fail.cc
+test_test_tools_pass_SOURCES = test/test_tools_pass.cc
diff -r 4c9552759a8e -r 3f411aa35bd7 test/test_tools.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test_tools.h	Wed Dec 19 11:33:49 2007 +0000
@@ -0,0 +1,48 @@
+/* -*- C++ -*-
+ *
+ * This file is a part of LEMON, a generic C++ optimization library
+ *
+ * Copyright (C) 2003-2007
+ * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
+ * (Egervary Research Group on Combinatorial Optimization, EGRES).
+ *
+ * Permission to use, modify and distribute this software is granted
+ * provided that this copyright notice appears in all copies. For
+ * precise terms see the accompanying LICENSE file.
+ *
+ * This software is provided "AS IS" with no warranty of any kind,
+ * express or implied, and with no claim as to its suitability for any
+ * purpose.
+ *
+ */
+
+#ifndef LEMON_TEST_TEST_TOOLS_H
+#define LEMON_TEST_TEST_TOOLS_H
+
+#include <iostream>
+
+//! \ingroup misc
+//! \file
+//! \brief Some utilities to write test programs.
+
+
+///If \c rc is fail, writes an error message end exit.
+
+///If \c rc is fail, writes an error message end exit.
+///The error message contains the file name and the line number of the
+///source code in a standard from, which makes it possible to go there
+///using good source browsers like e.g. \c emacs.
+///
+///For example
+///\code check(0==1,"This is obviously false.");\endcode will
+///print this (and then exits).
+///\verbatim graph_test.cc:123: error: This is obviously false. \endverbatim
+///
+///\todo It should be in \c error.h
+#define check(rc, msg) \
+  if(!(rc)) { \
+    std::cerr << __FILE__ ":" << __LINE__ << ": error: " << msg << std::endl; \
+    abort(); \
+  } else { } \
+
+#endif
diff -r 4c9552759a8e -r 3f411aa35bd7 test/test_tools_fail.cc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test_tools_fail.cc	Wed Dec 19 11:33:49 2007 +0000
@@ -0,0 +1,25 @@
+/* -*- C++ -*-
+ *
+ * This file is a part of LEMON, a generic C++ optimization library
+ *
+ * Copyright (C) 2003-2007
+ * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
+ * (Egervary Research Group on Combinatorial Optimization, EGRES).
+ *
+ * Permission to use, modify and distribute this software is granted
+ * provided that this copyright notice appears in all copies. For
+ * precise terms see the accompanying LICENSE file.
+ *
+ * This software is provided "AS IS" with no warranty of any kind,
+ * express or implied, and with no claim as to its suitability for any
+ * purpose.
+ *
+ */
+
+#include "test_tools.h"
+
+int main() 
+{
+  check(false, "Don't panic. Failing is the right behaviour here.");
+  return 0;
+}
diff -r 4c9552759a8e -r 3f411aa35bd7 test/test_tools_pass.cc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test_tools_pass.cc	Wed Dec 19 11:33:49 2007 +0000
@@ -0,0 +1,25 @@
+/* -*- C++ -*-
+ *
+ * This file is a part of LEMON, a generic C++ optimization library
+ *
+ * Copyright (C) 2003-2007
+ * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
+ * (Egervary Research Group on Combinatorial Optimization, EGRES).
+ *
+ * Permission to use, modify and distribute this software is granted
+ * provided that this copyright notice appears in all copies. For
+ * precise terms see the accompanying LICENSE file.
+ *
+ * This software is provided "AS IS" with no warranty of any kind,
+ * express or implied, and with no claim as to its suitability for any
+ * purpose.
+ *
+ */
+
+#include "test_tools.h"
+
+int main() 
+{
+  check(true, "It should pass.");
+  return 0;
+}