Re: [PATCH 0/3] Keep track of files copied to host and target

Yao Qi
2014-08-21T00:35:35Z

On 08/20/2014 11:48 PM, Doug Evans wrote:
> How about separating out 3/3 from the rest of the patch set.
> We can fix this part now, and unblock that from the discussion of
> the rest of the patch set.

That sounds good to me. In fact patch 3/3 is independent and can be
used as-is. I update commit log a little bit to explain why *.py files
are not removed on host. Is it OK?

--
Yao (é½å°§)

Subject: [PATCH] Copy .py files to remote host

Some gdb.python/*.exp tests fail because the .py files aren't copied
to the (remote) host. This patch is to copy needed .py files to host.
Most of gdb.python/*.exp tests do this.

As it is still controversial to delete *.py files on host, we don't do
that in this patch.

gdb/testsuite:

2014-08-21 Yao Qi <yao@codesourcery.com>

* gdb.python/py-finish-breakpoint.exp: Copy .py file to host.
* gdb.python/py-finish-breakpoint2.exp: Likewise.
* gdb.python/python.exp: Likewise. Use .py file on the host
instead of the build.
---
gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 6 +++---
gdb/testsuite/gdb.python/py-finish-breakpoint2.exp | 4 +++-
gdb/testsuite/gdb.python/python.exp | 7 +++++--
3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/gdb/testsuite/gdb.python/py-finish-breakpoint.exp b/gdb/testsuite/gdb.python/py-finish-breakpoint.exp
index 43d0d81..b30dccc 100644
--- a/gdb/testsuite/gdb.python/py-finish-breakpoint.exp
+++ b/gdb/testsuite/gdb.python/py-finish-breakpoint.exp
@@ -53,9 +53,6 @@ if { $gdb_py_is_py24 == 1 } {
return 0
}

-set python_file ${srcdir}/${subdir}/${testfile}.py
-
-
# Skip all tests if Python scripting is not enabled.
if { [skip_python_tests] } { continue }

@@ -71,6 +68,9 @@ if ![runto_main] then {
return 0
}

+set python_file [gdb_remote_download host \
+ ${srcdir}/${subdir}/${testfile}.py]
+
gdb_test_no_output "set confirm off" "disable confirmation"
gdb_test "source $python_file" "Python script imported.*" \
"import python scripts"
diff --git a/gdb/testsuite/gdb.python/py-finish-breakpoint2.exp b/gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
index 95f55b7..203fc99 100644
--- a/gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
+++ b/gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
@@ -19,7 +19,6 @@
load_lib gdb-python.exp

standard_testfile .cc
-set pyfile ${srcdir}/${subdir}/${testfile}.py

if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
@@ -33,6 +32,9 @@ if ![runto_main] then {
return 0
}

+set pyfile [gdb_remote_download host \
+ ${srcdir}/${subdir}/${testfile}.py]
+
#
# Check FinishBreakpoints against C++ exceptions
#
diff --git a/gdb/testsuite/gdb.python/python.exp b/gdb/testsuite/gdb.python/python.exp
index c03c284..49f6e88 100644
--- a/gdb/testsuite/gdb.python/python.exp
+++ b/gdb/testsuite/gdb.python/python.exp
@@ -30,6 +30,9 @@ gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir

+set remote_source2_py [gdb_remote_download host \
+ ${srcdir}/${subdir}/source2.py]
+
# Do this instead of the skip_python_check.
# We want to do some tests when Python is not present.
gdb_test_multiple "python print (23)" "verify python support" {
@@ -38,7 +41,7 @@ gdb_test_multiple "python print (23)" "verify python support" {

# If Python is not supported, verify that sourcing a python script
# causes an error.
- gdb_test "source $srcdir/$subdir/source2.py" \
+ gdb_test "source $remote_source2_py" \
"Error in sourced command file:.*" \
"source source2.py when python disabled"

@@ -73,7 +76,7 @@ gdb_py_test_multiple "indented multi-line python command" \
"foo ()" "" \
"end" "hello, world!"

-gdb_test "source $srcdir/$subdir/source2.py" "yes" "source source2.py"
+gdb_test "source $remote_source2_py" "yes" "source source2.py"

gdb_test "source -s source2.py" "yes" "source -s source2.py"

--
1.9.3