Index: sources/test_regression/04052005/Makefile
===================================================================
--- sources/test_regression/04052005/Makefile	(revision 15)
+++ sources/test_regression/04052005/Makefile	(revision 55)
@@ -1,54 +1,14 @@
+
 include ../env.mk
+include ../Makefile.common
 
-SYSTEM    = system.cpp
-EXE_SCASS = $(SYSTEM:.cpp=_systemcass.x)
-EXE_SC    = $(SYSTEM:.cpp=_systemc.x)
-EXE       = ${EXE_SCASS} ${EXE_SC}
-LOG       = $(SYSTEM:.cpp=.log)
-OBJECTS   = $(EXE:.x=.o)
-LINKS     = $(OBJECTS:.o=.cpp)
+test : all
+	@echo -ne "| Testing $$(basename $$(pwd)): " ;
+	@./$(EXE_SCASS) > $(LOG_SCASS) 2> /dev/null
+	@./$(EXE_SC) > $(LOG_SC) 2> /dev/null
+	@if diff $(LOG_SC) $(LOG_SCASS) > /dev/null ; then \
+    echo "OK" ; \
+    else echo "KO" ; \
+    fi ;
 
-.SECONDARY:
 
-main : $(EXE) 
-
-test : ${EXE}
-	./system_systemcass.x || eval ${failcom}
-
-%.gif : %.dot
-	dot -Tgif -o $*.gif $*.dot
-
-%_systemc.x : %_systemc.o $(SYSTEMC_LIB)
-	$(CXX) -o $@ $*_systemc.o $(LFLAGS_SYSTEMC) 2>&1 | $(CPPFILT)
-
-%_systemcass.x : %_systemcass.o  $(SYSTEMCASS_LIB)
-	$(CXX) -o $@ $*_systemcass.o $(LFLAGS_SYSTEMCASS) 2>&1 | $(CPPFILT)
-
--include Makefile.deps
-
-%_systemc.cpp : %.cpp 
-	ln -s $*.cpp $*_systemc.cpp
-
-%_systemcass.cpp : %.cpp 
-	ln -s $*.cpp $*_systemcass.cpp
-
-%_systemc.o : %_systemc.cpp 
-	$(CXX) $(CFLAGS_SYSTEMC) -MM $*_systemc.cpp >> Makefile.deps
-	$(CXX) $(CFLAGS_SYSTEMC) -c $*_systemc.cpp -o $*_systemc.o
-
-%_systemcass.o : %_systemcass.cpp
-	$(CXX) $(CFLAGS_SYSTEMCASS) -MM $*_systemcass.cpp >> Makefile.deps
-	$(CXX) $(CFLAGS_SYSTEMCASS) -c $*_systemcass.cpp -o $*_systemcass.o
-
-clean :
-	rm -f Makefile.deps
-	-rm -f *.o gmon.out *~
-	-rm -f ${LOG}
-	-rm -f signal_order.txt module_order.dot signal_graph.dot
-	-rm -f module_order.gif signal_graph.gif
-	-rm -f $(EXE) $(OBJECTS) 
-	-for i in $(LINKS) ; do unlink $$i ; done 2> /dev/null
-	-rm -f core*
-	-rm -rf system_systemcass.x.vcd system_systemc.x.vcd
-	-rm -rf generated_by_systemcass
-	
Index: sources/test_regression/04052005/system.cpp
===================================================================
--- sources/test_regression/04052005/system.cpp	(revision 15)
+++ sources/test_regression/04052005/system.cpp	(revision 55)
@@ -1,102 +1,85 @@
-#include "systemc.h"
+
 #include <iostream>
 
+#include "systemc.h"
+#include "test.h"
 
 using namespace std;
 
 
-int
-sc_main (int argc, char ** argv)
-{
-  int errnum = 0;
- 
-  sc_uint<32> a;
-  sc_uint<3>  b;
-  sc_uint<2>  c;
-  sc_uint<5>  d;
-  sc_uint<8>  e;
-  sc_uint<10> f;
+int sc_main (int argc, char ** argv) {
 
-  a = 0xCFFFFFFF;
-  b = 0x7;
-  c = 0x3;
-  d = 0xA0;
-  e = 0x11;
-  f = 0x1A0;
- 
-  cerr << "a = 0x" << hex << (unsigned int)a << " = " << a.to_string (SC_BIN) << "\n";
-  if (a.to_string (SC_BIN) != "0b011001111111111111111111111111111")
-    exit (errnum);
-  errnum++;
+    sc_uint<32> a;
+    sc_uint<3>  b;
+    sc_uint<2>  c;
+    sc_uint<5>  d;
+    sc_uint<8>  e;
+    sc_uint<10> f;
 
-  cerr << "b = 0x" << hex << (unsigned int)b << " = " << b.to_string (SC_BIN) << "\n";
-  if (b.to_string (SC_BIN) != "0b0111")
-    exit (errnum);
-  errnum++;
+    a = 0xCFFFFFFF;
+    b = 0x7;
+    c = 0x3;
+    d = 0xA0;
+    e = 0x11;
+    f = 0x1A0;
 
-  cerr << "c = 0x" << hex << (unsigned int)c << " = " << c.to_string (SC_BIN) << "\n";
-  if (c.to_string (SC_BIN) != "0b011")
-    exit (errnum);
-  errnum++;
+    cout << "a = 0x" << hex << (unsigned int) a << " = " << a.to_string(SC_BIN) << "\n";
+    ASSERT(a.to_string (SC_BIN) == "0b011001111111111111111111111111111");
 
-  cerr << "d = 0x" << hex << (unsigned int)d << " = " << d.to_string (SC_BIN) << "\n";
-  if (d.to_string (SC_BIN) != "0b000000")
-    exit (errnum);
-  errnum++;
+    cout << "b = 0x" << hex << (unsigned int) b << " = " << b.to_string(SC_BIN) << "\n";
+    ASSERT(b.to_string (SC_BIN) == "0b0111");
 
-  cerr << "e = 0x" << hex << (unsigned int)e << " = " << e.to_string (SC_BIN) << "\n";
-  if (e.to_string (SC_BIN) != "0b000010001")
-    exit (errnum);
-  errnum++;
+    cout << "c = 0x" << hex << (unsigned int) c << " = " << c.to_string(SC_BIN) << "\n";
+    ASSERT(c.to_string (SC_BIN) == "0b011");
 
-  cerr << "f = 0x" << hex << (unsigned int)f << " = " << f.to_string (SC_BIN) << "\n";
-  if (f.to_string (SC_BIN) != "0b00110100000")
-    exit (errnum);
-  errnum++;
+    cout << "d = 0x" << hex << (unsigned int) d << " = " << d.to_string(SC_BIN) << "\n";
+    ASSERT(d.to_string (SC_BIN) == "0b000000");
+
+    cout << "e = 0x" << hex << (unsigned int) e << " = " << e.to_string(SC_BIN) << "\n";
+    ASSERT(e.to_string (SC_BIN) == "0b000010001");
+
+    cout << "f = 0x" << hex << (unsigned int) f << " = " << f.to_string(SC_BIN) << "\n";
+    ASSERT(f.to_string (SC_BIN) == "0b00110100000");
+
+    cout << "b,e = 0x" << hex << (unsigned int) (b,e) << " = " << (b, e).to_string(SC_BIN) << "\n";
+    ASSERT((b, e).to_string (SC_BIN) == "0b011100010001");
+
+    cout << "b,c,d,e,f = 0x" << hex << (unsigned int) (b, c, d, e, f) << " = " << (b, c, d, e, f).to_string (SC_BIN) << "\n";
+    ASSERT((b, c, d, e, f).to_string (SC_BIN) == "0b01111100000000100010110100000");
+
+    a = b,c,d,e,f;
+    cout << "a = b,c,d,e,f; a = 0x" << hex << (unsigned int) a << " = " << a.to_string (SC_BIN) << "\n";
+    ASSERT(a.to_string (SC_BIN) == "0b000000000000000000000000000000111");
+
+    sc_uint<3> tb = b.range (2, 0);
+    cout << "b.range (2,0) = 0x" << hex << (unsigned int) tb << " = " << tb.to_string (SC_BIN) << "\n";
+    ASSERT(tb.to_string (SC_BIN) == "0b0111");
+
+    sc_uint<5> te = e.range(5, 1);
+    cout << "e.range (5,1) = 0x" << hex << (unsigned int) te << " = " << te.to_string(SC_BIN) << "\n";
+    ASSERT(te.to_string(SC_BIN) == "0b001000");
+
+    sc_uint<5> tf = f.range(9, 5);
+    cout << "f.range (9,5) = 0x" << hex << (unsigned int) tf << " = " << tf.to_string (SC_BIN) << "\n";
+    ASSERT(tf.to_string (SC_BIN) == "0b001101");
+
+    sc_uint<5> tf2 = f.range(8, 4);
+    a = (tf2, b, c, d, e, f);
+    cout << "a = f.range (7,3),b,c,d,e,f; a = 0x" << hex << (unsigned int) a << " = " << a.to_string (SC_BIN) << "\n";
+    ASSERT(a.to_string (SC_BIN) == "0b010101111100000000100010110100000");
+
+    return 0;
+}
 
 
-  cerr << "b,e = 0x" << hex << (unsigned int)(b,e) << " = " << (b,e).to_string (SC_BIN) << "\n";
-  if ((b,e).to_string (SC_BIN) != "0b011100010001")
-    exit (errnum);
-  errnum++;
+/*
+# Local Variables:
+# tab-width: 4;
+# c-basic-offset: 4;
+# c-file-offsets:((innamespace . 0)(inline-open . 0));
+# indent-tabs-mode: nil;
+# End:
+#
+# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
+*/
 
-
-  cerr << "b,c,d,e,f = 0x" << hex << (unsigned int)(b,c,d,e,f) << " = " << (b,c,d,e,f).to_string (SC_BIN) << "\n";
-  if ((b,c,d,e,f).to_string (SC_BIN) != "0b01111100000000100010110100000")
-    exit (errnum);
-  errnum++;
-
-  a = b,c,d,e,f;
-  cerr << "a = b,c,d,e,f; a = 0x" << hex << (unsigned int) a << " = " << a.to_string (SC_BIN) << "\n";
-  if (a.to_string (SC_BIN) != "0b000000000000000000000000000000111")
-    exit (errnum);
-  errnum++;
-
-  sc_uint<3> tb = b.range (2,0);
-  cerr << "b.range (2,0) = 0x" << hex << (unsigned int) tb << " = " << tb.to_string (SC_BIN) << "\n";
-  if (tb.to_string (SC_BIN) != "0b0111")
-    exit (errnum);
-  errnum++;
-
-  sc_uint<5> te = e.range (5,1);
-  cerr << "e.range (5,1) = 0x" << hex << (unsigned int) te << " = " << te.to_string (SC_BIN) << "\n";
-  if (te.to_string (SC_BIN) != "0b001000")
-    exit (errnum);
-  errnum++;
-  
-  sc_uint<5> tf = f.range (9,5);
-  cerr << "f.range (9,5) = 0x" << hex << (unsigned int) tf << " = " << tf.to_string (SC_BIN) << "\n";
-  if (tf.to_string (SC_BIN) != "0b001101")
-    exit (errnum);
-  errnum++;
-
-  sc_uint<5> tf2 = f.range (8,4);
-  a = (tf2,b,c,d,e,f);
-  cerr << "a = f.range (7,3),b,c,d,e,f; a = 0x" << hex << (unsigned int) a << " = " << a.to_string (SC_BIN) << "\n";
-  if (a.to_string (SC_BIN) != "0b010101111100000000100010110100000")
-    exit (errnum);
-  errnum++;
-
-  return 0;
-}
-
