nemiver r785 - in branches/0.5: . src/dbgengine src/persp/dbgperspective tests
- From: dodji svn gnome org
- To: svn-commits-list gnome org
- Subject: nemiver r785 - in branches/0.5: . src/dbgengine src/persp/dbgperspective tests
- Date: Sun, 6 Apr 2008 14:58:15 +0100 (BST)
Author: dodji
Date: Sun Apr 6 14:58:15 2008
New Revision: 785
URL: http://svn.gnome.org/viewvc/nemiver?rev=785&view=rev
Log:
Pull commits #779, #780, #781, #782 and #783 from trunk.
The command line was:
svn merge -r778:783 svn+ssh://svn.gnome.org/svn/nemiver/trunk
Modified:
branches/0.5/ChangeLog
branches/0.5/NEWS
branches/0.5/configure.ac
branches/0.5/src/dbgengine/nmv-gdb-engine.cc
branches/0.5/src/dbgengine/nmv-gdbmi-parser.cc
branches/0.5/src/persp/dbgperspective/nmv-dbg-perspective.cc
branches/0.5/tests/Makefile.am
branches/0.5/tests/test-gdbmi.cc
Modified: branches/0.5/NEWS
==============================================================================
--- branches/0.5/NEWS (original)
+++ branches/0.5/NEWS Sun Apr 6 14:58:15 2008
@@ -1,3 +1,14 @@
+0.5.2 Release
+=============
+
+Fixes
+--------------
+
+ * unplug some immature non regression tests for now
+ * fix an infinite loop when parsing an output record having a line starting
+ with '='
+ * fix #526291 â Nemiver doesn't propose to stop the debugging application
+
0.5.1 Release
=============
Modified: branches/0.5/configure.ac
==============================================================================
--- branches/0.5/configure.ac (original)
+++ branches/0.5/configure.ac Sun Apr 6 14:58:15 2008
@@ -1,7 +1,7 @@
dnl **************************************************************
dnl Process this file with autoconf to produce a configure script.
dnl **************************************************************
-AC_INIT(nemiver, 0.5.1)
+AC_INIT(nemiver, 0.5.2)
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR(README)
AC_CONFIG_MACRO_DIR([m4])
@@ -12,7 +12,7 @@
MAJOR_VERSION=0
MINOR_VERSION=5
-MICRO_VERSION=1
+MICRO_VERSION=2
NEMIVER_VERSION="$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION"
AC_SUBST(NEMIVER_VERSION)
Modified: branches/0.5/src/dbgengine/nmv-gdb-engine.cc
==============================================================================
--- branches/0.5/src/dbgengine/nmv-gdb-engine.cc (original)
+++ branches/0.5/src/dbgengine/nmv-gdb-engine.cc Sun Apr 6 14:58:15 2008
@@ -652,7 +652,7 @@
NEMIVER_TRY
if ((a_cond & Glib::IO_IN) || (a_cond & Glib::IO_PRI)) {
- gsize nb_read (0), CHUNK_SIZE(512);
+ gsize nb_read (0), CHUNK_SIZE(10*1024);
char buf[CHUNK_SIZE+1];
Glib::IOStatus status (Glib::IO_STATUS_NORMAL);
UString meaningful_buffer;
@@ -664,8 +664,6 @@
std::string raw_str(buf, nb_read);
UString tmp = Glib::locale_to_utf8 (raw_str);
gdb_stdout_buffer.append (tmp);
-
-
} else {
break;
}
@@ -674,9 +672,9 @@
LOG_DD ("gdb_stdout_buffer: <buf>" << gdb_stdout_buffer << "</buf>");
UString::size_type i=0;
- while ((i = gdb_stdout_buffer.raw ().find ("(gdb)")) !=
+ while ((i = gdb_stdout_buffer.raw ().find ("\n(gdb)")) !=
std::string::npos) {
- i += 4;/*is the offset in the buffer of the end of
+ i += 6;/*is the offset in the buffer of the end of
*of the '(gdb)' prompt
*/
int size = i+1;
Modified: branches/0.5/src/dbgengine/nmv-gdbmi-parser.cc
==============================================================================
--- branches/0.5/src/dbgengine/nmv-gdbmi-parser.cc (original)
+++ branches/0.5/src/dbgengine/nmv-gdbmi-parser.cc Sun Apr 6 14:58:15 2008
@@ -2730,6 +2730,15 @@
record.stream_record (stream_record);
while (cur < end && isspace (a_input.raw ()[cur])) {++cur;}
+ } else if (a_input.raw ()[cur] == '=') {
+ //this is a notification sent by gdb. For now, the only one
+ //I have seen like this is of the form:
+ //'=thread-created,id=1',
+ //and the notification ends with a '\n' character.
+ //Of course it is not documented
+ //Let's ignore this by now
+ while (a_input.raw ()[cur] != '\n') {++cur;}
+ ++cur;//consume the '\n' character
}
if (!a_input.raw ().compare (cur, 9,"*stopped,")) {
Modified: branches/0.5/src/persp/dbgperspective/nmv-dbg-perspective.cc
==============================================================================
--- branches/0.5/src/persp/dbgperspective/nmv-dbg-perspective.cc (original)
+++ branches/0.5/src/persp/dbgperspective/nmv-dbg-perspective.cc Sun Apr 6 14:58:15 2008
@@ -1989,6 +1989,7 @@
unset_where () ;
attached_to_target_signal ().emit (true) ;
display_info (_("Program exited")) ;
+ workbench ().set_title_extension ("");
//****************************
//grey out all the menu
Modified: branches/0.5/tests/Makefile.am
==============================================================================
--- branches/0.5/tests/Makefile.am (original)
+++ branches/0.5/tests/Makefile.am Sun Apr 6 14:58:15 2008
@@ -1,13 +1,16 @@
if AUTOTESTS
# 'make check' automatically runs programs listed in the TESTS variable
-#
+
+
+#runtestoverloads
+#runtestglobalvariables
TESTS=\
runtestgdbmi runtestunicode \
runtestcpptrait runtestvarlist \
runtestvarwalker runtestbreakpoint \
-runtestoverloads runtestderef \
+runtestderef \
runtestlocalvarslist runtestcpplexer \
-runtestcppparser runtestglobalvariables \
+runtestcppparser \
runtestlibtoolwrapperdetection
Modified: branches/0.5/tests/test-gdbmi.cc
==============================================================================
--- branches/0.5/tests/test-gdbmi.cc (original)
+++ branches/0.5/tests/test-gdbmi.cc Sun Apr 6 14:58:15 2008
@@ -14,9 +14,21 @@
static const char* gv_attrs0 = "msg=\"No symbol \\\"g_return_if_fail\\\" in current context.\"" ;
-static const char* gv_stopped_async_output =
+static const char* gv_stopped_async_output0 =
"*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"1\",frame={addr=\"0x0804afb0\",func=\"main\",args=[{name=\"argc\",value=\"1\"},{name=\"argv\",value=\"0xbfc79ed4\"}],file=\"today-main.c\",fullname=\"/home/dodji/devel/gitstore/omoko.git/applications/openmoko-today/src/today-main.c\",line=\"285\"}\n" ;
+static const char* gv_stopped_async_output1 =
+"*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"1\",frame={addr=\"0x08048d38\",func=\"main\",args=[],file=\"fooprog.cc\",fullname=\"/opt/dodji/git/nemiver.git/tests/fooprog.cc\",line=\"80\"}\n";
+
+
+static const char *gv_output_record0 =
+"&\"Failed to read a valid object file image from memory.\\n\"\n"
+"~\"[Thread debugging using libthread_db enabled]\\n\"\n"
+"~\"[New Thread 0xb7892720 (LWP 20182)]\\n\"\n"
+"=thread-created,id=1\n"
+"*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"1\",frame={addr=\"0x08048d38\",func=\"main\",args=[],file=\"fooprog.cc\",fullname=\"/opt/dodji/git/nemiver.git/tests/fooprog.cc\",line=\"80\"}\n"
+"(gdb)";
+
//the partial result of a gdbmi command: -stack-list-argument 1 command
//this command is used to implement IDebugger::list_frames_arguments()
static const char* gv_stack_arguments0 =
@@ -135,18 +147,35 @@
void
test_stoppped_async_output ()
{
- bool is_ok=false,got_frame=false ;
+ bool is_ok=false, got_frame=false ;
UString::size_type to=0 ;
IDebugger::Frame frame ;
map<UString, UString> attrs ;
- is_ok = parse_stopped_async_output (gv_stopped_async_output, 0, to,
+ is_ok = parse_stopped_async_output (gv_stopped_async_output0, 0, to,
+ got_frame, frame, attrs) ;
+ BOOST_REQUIRE (is_ok) ;
+ BOOST_REQUIRE (got_frame) ;
+ BOOST_REQUIRE (attrs.size ()) ;
+
+ to=0;
+ is_ok = parse_stopped_async_output (gv_stopped_async_output1, 0, to,
got_frame, frame, attrs) ;
BOOST_REQUIRE (is_ok) ;
BOOST_REQUIRE (got_frame) ;
BOOST_REQUIRE (attrs.size ()) ;
}
+void
+test_output_record ()
+{
+ bool is_ok=false;
+ UString::size_type to=0;
+ Output output;
+
+ is_ok = parse_output_record (gv_output_record0, 0, to, output);
+ BOOST_REQUIRE (is_ok) ;
+}
void
test_stack_arguments0 ()
@@ -488,6 +517,7 @@
suite->add (BOOST_TEST_CASE (&test_str2)) ;
suite->add (BOOST_TEST_CASE (&test_attr0)) ;
suite->add (BOOST_TEST_CASE (&test_stoppped_async_output)) ;
+ suite->add (BOOST_TEST_CASE (&test_output_record)) ;
suite->add (BOOST_TEST_CASE (&test_stack_arguments0)) ;
suite->add (BOOST_TEST_CASE (&test_stack_arguments1)) ;
suite->add (BOOST_TEST_CASE (&test_local_vars)) ;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]