On Thu, Oct 01, 2020 at 11:25:34AM +0200, Jiri Olsa wrote:
> On Wed, Sep 30, 2020 at 07:00:05PM -0700, Ian Rogers wrote:
> > On Wed, Sep 30, 2020 at 10:15 AM Jiri Olsa <jo...@kernel.org> wrote:
> > >
> > > Adding test for build id cache that adds binary
> > > with sha1 and md5 build ids and verifies it's
> > > added properly.
> > >
> > > The test updates build id cache with perf record
> > > and perf buildid-cache -a.
> > >
> > > Signed-off-by: Jiri Olsa <jo...@kernel.org>
> > 
> > Acked-by: Ian Rogers <irog...@google.com>
> > 
> > This is great! If I build perf and test from the build directory the
> > test gets run. If I build using O=/tmp/perf and run from that
> > directory then ./tests/shell isn't found and the test doesn't run.
> > Similarly the install directory doesn't contain the executables and so
> > the test is skipped. Is there any way to get the test running in these
> > other scenarios?
> 
> ok, if there's already some way to get the build path I did not see that
> I'll check and add something if it's missing

would the patch below work for you?

thanks,
jirka


---
diff --git a/tools/perf/tests/shell/buildid.sh 
b/tools/perf/tests/shell/buildid.sh
index 57fcd28bc4bd..dd9f9c306c34 100755
--- a/tools/perf/tests/shell/buildid.sh
+++ b/tools/perf/tests/shell/buildid.sh
@@ -2,12 +2,23 @@
 # build id cache operations
 # SPDX-License-Identifier: GPL-2.0
 
+ex_md5=buildid-ex-md5
+ex_sha1=buildid-ex-sha1
+
 # skip if there are no test binaries
 if [ ! -x buildid-ex-sha1 -a ! -x buildid-ex-md5 ]; then
-       echo "failed: no test binaries"
-       exit 2
+       ex_dir=$(dirname `which perf`)
+       ex_md5=${ex_dir}/buildid-ex-md5
+       ex_sha1=${ex_dir}/buildid-ex-sha1
+
+       if [ ! -x ${ex_sha1} -a ! -x ${ex_md5} ]; then
+               echo "failed: no test binaries"
+               exit 2
+       fi
 fi
 
+echo "test binaries: ${ex_sha1} ${ex_md5}"
+
 # skip if there's no readelf
 if [ ! -x `which readelf` ]; then
        echo "failed: no readelf, install binutils"
@@ -80,11 +91,11 @@ test_record()
 }
 
 # add binaries manual via perf buildid-cache -a
-test_add buildid-ex-sha1
-test_add buildid-ex-md5
+test_add ${ex_sha1}
+test_add ${ex_md5}
 
 # add binaries via perf record post processing
-test_record buildid-ex-sha1
-test_record buildid-ex-md5
+test_record ${ex_sha1}
+test_record ${ex_md5}
 
 exit ${err}

Reply via email to