Re: [lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-06-05 Thread Jérémie Galarneau
Merged in master, stable-2.10, and stable-2.9.

Thanks!
Jérémie

On Thu, May 17, 2018 at 10:50:41PM +0200, Anders Wallin wrote:
> lttng-sessiond can auto load sessions at startup;
> - with "--load" option to lttng-sessiond, load one file
>   or all sessions files in that directory
> - from session files in $LTTNG_HOME/.lttng/sessions/auto/
> - from session files in $sysconfdir/lttng/sessions/auto
> 
> This test case validate the two first scenarios.
> 
> Signed-off-by: Anders Wallin 
> ---
>  tests/fast_regression |   1 +
>  .../regression/tools/save-load/test_autoload  | 107 ++
>  2 files changed, 108 insertions(+)
>  create mode 100755 tests/regression/tools/save-load/test_autoload
> 
> diff --git a/tests/fast_regression b/tests/fast_regression
> index bbce068f..2f02f872 100644
> --- a/tests/fast_regression
> +++ b/tests/fast_regression
> @@ -13,6 +13,7 @@ regression/tools/snapshots/test_ust_fast
>  regression/tools/snapshots/test_ust_streaming
>  regression/tools/save-load/test_save
>  regression/tools/save-load/test_load
> +regression/tools/save-load/test_autoload
>  regression/tools/mi/test_mi
>  regression/tools/wildcard/test_event_wildcard
>  regression/tools/crash/test_crash
> diff --git a/tests/regression/tools/save-load/test_autoload 
> b/tests/regression/tools/save-load/test_autoload
> new file mode 100755
> index ..26193be6
> --- /dev/null
> +++ b/tests/regression/tools/save-load/test_autoload
> @@ -0,0 +1,107 @@
> +#!/bin/bash
> +#
> +# Copyright (C) - 2018 Anders Wallin 
> +#
> +# This library is free software; you can redistribute it and/or modify it 
> under
> +# the terms of the GNU Lesser General Public License as published by the Free
> +# Software Foundation; version 2.1 of the License.
> +#
> +# This library is distributed in the hope that it will be useful, but WITHOUT
> +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
> FITNESS
> +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 
> more
> +# details.
> +#
> +# You should have received a copy of the GNU Lesser General Public License
> +# along with this library; if not, write to the Free Software Foundation, 
> Inc.,
> +# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
> +
> +TEST_DESC="Auto load session(s)"
> +
> +CURDIR=$(dirname $0)/
> +CONFIG_DIR="${CURDIR}/configuration"
> +TESTDIR=$CURDIR/../../../
> +SESSIOND_BIN="lttng-sessiond"
> +RELAYD_BIN="lttng-relayd"
> +LTTNG_BIN="lttng"
> +export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m 
> ${TESTDIR}../src/common/config/)
> +
> +DIR=$(readlink -f $TESTDIR)
> +
> +NUM_TESTS=10
> +
> +source $TESTDIR/utils/utils.sh
> +
> +# MUST set TESTDIR before calling those functions
> +plan_tests $NUM_TESTS
> +
> +print_test_banner "$TEST_DESC"
> +
> +function test_auto_load_file()
> +{
> + diag "Test auto load file"
> +
> + export LTTNG_HOME=
> +
> + start_lttng_sessiond $CURDIR/load-42.lttng
> + list_lttng_with_opts load-42
> + stop_lttng_sessiond
> +}
> +
> +function test_auto_load_dir()
> +{
> + diag "Test auto load directory"
> +
> + export LTTNG_HOME=
> + export LTTNG_DIR=$(mktemp -d)
> + cp -f $CURDIR/load-42.lttng $LTTNG_DIR/
> +
> + start_lttng_sessiond $LTTNG_DIR
> + list_lttng_with_opts load-42
> + stop_lttng_sessiond
> +
> + rm -rf $LTTNG_DIR
> +}
> +
> +function test_auto_load_lttng_home()
> +{
> + diag "Test auto load by setting LTTNG_HOME"
> +
> + export LTTNG_HOME=$(mktemp -d)
> + mkdir -p $LTTNG_HOME/.lttng/sessions/auto
> + cp -f $CURDIR/load-42.lttng $LTTNG_HOME/.lttng/sessions/auto
> +
> + start_lttng_sessiond
> + list_lttng_with_opts load-42
> + stop_lttng_sessiond
> +
> + rm -rf $LTTNG_HOME
> +}
> +
> +TESTS=(
> + test_auto_load_file
> + test_auto_load_dir
> + test_auto_load_lttng_home
> +)
> +
> +# Need to be sure that no lttng-sessiond is running
> +# - "stop_lttng_sessiond" is using the SESSIOND_PIDS created with
> +#   "start_lttng_sessiond"
> +# - "sigstop_lttng_sessiond" keep lttng-runas dangling
> +# - "stop_lttng_sessiond SIGKILL" will leave kernel modules loaded
> +# The code below are killing all lttng-* programs and remove the 
> +# the lttng kernel modules
> +SESSIOND_PIDS=$(pgrep $SESSIOND_MATCH)
> +kill $SESSIOND_PIDS
> +stop_lttng_sessiond
> +
> +for fct_test in ${TESTS[@]};
> +do
> + TRACE_PATH=$(mktemp -d)
> +
> + ${fct_test}
> + if [ $? -ne 0 ]; then
> + break;
> + fi
> + # Only delete if successful
> + rm -rf $TRACE_PATH
> +done
> -- 
> 2.17.0
> 
> ___
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
___
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


[lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-05-17 Thread Anders Wallin
lttng-sessiond can auto load sessions at startup;
- with "--load" option to lttng-sessiond, load one file
  or all sessions files in that directory
- from session files in $LTTNG_HOME/.lttng/sessions/auto/
- from session files in $sysconfdir/lttng/sessions/auto

This test case validate the two first scenarios.

Signed-off-by: Anders Wallin 
---
 tests/fast_regression |   1 +
 .../regression/tools/save-load/test_autoload  | 107 ++
 2 files changed, 108 insertions(+)
 create mode 100755 tests/regression/tools/save-load/test_autoload

diff --git a/tests/fast_regression b/tests/fast_regression
index bbce068f..2f02f872 100644
--- a/tests/fast_regression
+++ b/tests/fast_regression
@@ -13,6 +13,7 @@ regression/tools/snapshots/test_ust_fast
 regression/tools/snapshots/test_ust_streaming
 regression/tools/save-load/test_save
 regression/tools/save-load/test_load
+regression/tools/save-load/test_autoload
 regression/tools/mi/test_mi
 regression/tools/wildcard/test_event_wildcard
 regression/tools/crash/test_crash
diff --git a/tests/regression/tools/save-load/test_autoload 
b/tests/regression/tools/save-load/test_autoload
new file mode 100755
index ..26193be6
--- /dev/null
+++ b/tests/regression/tools/save-load/test_autoload
@@ -0,0 +1,107 @@
+#!/bin/bash
+#
+# Copyright (C) - 2018 Anders Wallin 
+#
+# This library is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this library; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+
+TEST_DESC="Auto load session(s)"
+
+CURDIR=$(dirname $0)/
+CONFIG_DIR="${CURDIR}/configuration"
+TESTDIR=$CURDIR/../../../
+SESSIOND_BIN="lttng-sessiond"
+RELAYD_BIN="lttng-relayd"
+LTTNG_BIN="lttng"
+export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m 
${TESTDIR}../src/common/config/)
+
+DIR=$(readlink -f $TESTDIR)
+
+NUM_TESTS=10
+
+source $TESTDIR/utils/utils.sh
+
+# MUST set TESTDIR before calling those functions
+plan_tests $NUM_TESTS
+
+print_test_banner "$TEST_DESC"
+
+function test_auto_load_file()
+{
+   diag "Test auto load file"
+
+   export LTTNG_HOME=
+
+   start_lttng_sessiond $CURDIR/load-42.lttng
+   list_lttng_with_opts load-42
+   stop_lttng_sessiond
+}
+
+function test_auto_load_dir()
+{
+   diag "Test auto load directory"
+
+   export LTTNG_HOME=
+   export LTTNG_DIR=$(mktemp -d)
+   cp -f $CURDIR/load-42.lttng $LTTNG_DIR/
+
+   start_lttng_sessiond $LTTNG_DIR
+   list_lttng_with_opts load-42
+   stop_lttng_sessiond
+
+   rm -rf $LTTNG_DIR
+}
+
+function test_auto_load_lttng_home()
+{
+   diag "Test auto load by setting LTTNG_HOME"
+
+   export LTTNG_HOME=$(mktemp -d)
+   mkdir -p $LTTNG_HOME/.lttng/sessions/auto
+   cp -f $CURDIR/load-42.lttng $LTTNG_HOME/.lttng/sessions/auto
+
+   start_lttng_sessiond
+   list_lttng_with_opts load-42
+   stop_lttng_sessiond
+
+   rm -rf $LTTNG_HOME
+}
+
+TESTS=(
+   test_auto_load_file
+   test_auto_load_dir
+   test_auto_load_lttng_home
+)
+
+# Need to be sure that no lttng-sessiond is running
+# - "stop_lttng_sessiond" is using the SESSIOND_PIDS created with
+#   "start_lttng_sessiond"
+# - "sigstop_lttng_sessiond" keep lttng-runas dangling
+# - "stop_lttng_sessiond SIGKILL" will leave kernel modules loaded
+# The code below are killing all lttng-* programs and remove the 
+# the lttng kernel modules
+SESSIOND_PIDS=$(pgrep $SESSIOND_MATCH)
+kill $SESSIOND_PIDS
+stop_lttng_sessiond
+
+for fct_test in ${TESTS[@]};
+do
+   TRACE_PATH=$(mktemp -d)
+
+   ${fct_test}
+   if [ $? -ne 0 ]; then
+   break;
+   fi
+   # Only delete if successful
+   rm -rf $TRACE_PATH
+done
-- 
2.17.0

___
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


[lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-05-17 Thread Anders Wallin
Update the first stop of lttng-session to kill all running lttng-sessiond

___
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


[lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-05-15 Thread Anders Wallin
lttng-sessiond can auto load sessions at startup;
- with "--load" option to lttng-sessiond, load one file
  or all sessions files in that directory
- from session files in $LTTNG_HOME/.lttng/sessions/auto/
- from session files in $sysconfdir/lttng/sessions/auto

This test case validate the two first scenarios.

Signed-off-by: Anders Wallin 
---
 tests/fast_regression |  1 +
 .../regression/tools/save-load/test_autoload  | 98 +++
 2 files changed, 99 insertions(+)
 create mode 100755 tests/regression/tools/save-load/test_autoload

diff --git a/tests/fast_regression b/tests/fast_regression
index bbce068f..2f02f872 100644
--- a/tests/fast_regression
+++ b/tests/fast_regression
@@ -13,6 +13,7 @@ regression/tools/snapshots/test_ust_fast
 regression/tools/snapshots/test_ust_streaming
 regression/tools/save-load/test_save
 regression/tools/save-load/test_load
+regression/tools/save-load/test_autoload
 regression/tools/mi/test_mi
 regression/tools/wildcard/test_event_wildcard
 regression/tools/crash/test_crash
diff --git a/tests/regression/tools/save-load/test_autoload 
b/tests/regression/tools/save-load/test_autoload
new file mode 100755
index ..b9972bc6
--- /dev/null
+++ b/tests/regression/tools/save-load/test_autoload
@@ -0,0 +1,98 @@
+#!/bin/bash
+#
+# Copyright (C) - 2018 Anders Wallin 
+#
+# This library is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this library; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+
+TEST_DESC="Auto load session(s)"
+
+CURDIR=$(dirname $0)/
+CONFIG_DIR="${CURDIR}/configuration"
+TESTDIR=$CURDIR/../../../
+SESSIOND_BIN="lttng-sessiond"
+RELAYD_BIN="lttng-relayd"
+LTTNG_BIN="lttng"
+export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m 
${TESTDIR}../src/common/config/)
+
+DIR=$(readlink -f $TESTDIR)
+
+NUM_TESTS=10
+
+source $TESTDIR/utils/utils.sh
+
+# MUST set TESTDIR before calling those functions
+plan_tests $NUM_TESTS
+
+print_test_banner "$TEST_DESC"
+
+function test_auto_load_file()
+{
+   diag "Test auto load file"
+
+   export LTTNG_HOME=
+
+   start_lttng_sessiond $CURDIR/load-42.lttng
+   list_lttng_with_opts load-42
+   stop_lttng_sessiond
+}
+
+function test_auto_load_dir()
+{
+   diag "Test auto load directory"
+
+   export LTTNG_HOME=
+   export LTTNG_DIR=$(mktemp -d)
+   cp -f $CURDIR/load-42.lttng $LTTNG_DIR/
+
+   start_lttng_sessiond $LTTNG_DIR
+   list_lttng_with_opts load-42
+   stop_lttng_sessiond
+
+   rm -rf $LTTNG_DIR
+}
+
+function test_auto_load_lttng_home()
+{
+   diag "Test auto load by setting LTTNG_HOME"
+
+   export LTTNG_HOME=$(mktemp -d)
+   mkdir -p $LTTNG_HOME/.lttng/sessions/auto
+   cp -f $CURDIR/load-42.lttng $LTTNG_HOME/.lttng/sessions/auto
+
+   start_lttng_sessiond
+   list_lttng_with_opts load-42
+   stop_lttng_sessiond
+
+   rm -rf $LTTNG_HOME
+}
+
+TESTS=(
+   test_auto_load_file
+   test_auto_load_dir
+   test_auto_load_lttng_home
+)
+
+stop_lttng_sessiond
+
+for fct_test in ${TESTS[@]};
+do
+   TRACE_PATH=$(mktemp -d)
+
+   ${fct_test}
+   if [ $? -ne 0 ]; then
+   break;
+   fi
+   # Only delete if successful
+   rm -rf $TRACE_PATH
+done
-- 
2.17.0

___
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


Re: [lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-05-14 Thread Anders Wallin
Hi,

I will update the patch and resend it tomorrow

Regards
Anders

mån 14 maj 2018 kl 18:17 skrev Jonathan Rajotte-Julien <
jonathan.rajotte-jul...@efficios.com>:

> Hi Anders
>
> Thanks for proposing this patch.
>
> We will need more context here. Are those currently failing and exposing a
> problem?
>
Yes, lttng-tools 2.10.4 is broken when having auto-load sessions, see
https://lists.lttng.org/pipermail/lttng-dev/2018-May/028014.html

I will add a longer commit message

>
> See comments inline.
>
>
> On Mon, May 14, 2018 at 05:30:53PM +0200, Anders Wallin wrote:
> > Signed-off-by: Anders Wallin 
> > ---
> >  tests/fast_regression |   1 +
> >  .../regression/tools/save-load/test_autoload  | 101 ++
> >  2 files changed, 102 insertions(+)
> >  create mode 100755 tests/regression/tools/save-load/test_autoload
> >
> > diff --git a/tests/fast_regression b/tests/fast_regression
> > index bbce068f..2f02f872 100644
> > --- a/tests/fast_regression
> > +++ b/tests/fast_regression
> > @@ -13,6 +13,7 @@ regression/tools/snapshots/test_ust_fast
> >  regression/tools/snapshots/test_ust_streaming
> >  regression/tools/save-load/test_save
> >  regression/tools/save-load/test_load
> > +regression/tools/save-load/test_autoload
> >  regression/tools/mi/test_mi
> >  regression/tools/wildcard/test_event_wildcard
> >  regression/tools/crash/test_crash
> > diff --git a/tests/regression/tools/save-load/test_autoload
> b/tests/regression/tools/save-load/test_autoload
> > new file mode 100755
> > index ..ea1210de
> > --- /dev/null
> > +++ b/tests/regression/tools/save-load/test_autoload
> > @@ -0,0 +1,101 @@
> > +#!/bin/bash
> > +#
> > +# Copyright (C) - 2014 David Goulet 
>
> I doubt dgoulet wrote this file :). Even if this was "copied" from another
> test
> plan the majority of the test plan was written/contributed by you.
> Your name and email should be there.
>
Ok

>
> > +#
> > +# This library is free software; you can redistribute it and/or modify
> it under
> > +# the terms of the GNU Lesser General Public License as published by
> the Free
> > +# Software Foundation; version 2.1 of the License.
> > +#
> > +# This library is distributed in the hope that it will be useful, but
> WITHOUT
> > +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> FITNESS
> > +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
> for more
> > +# details.
> > +#
> > +# You should have received a copy of the GNU Lesser General Public
> License
> > +# along with this library; if not, write to the Free Software
> Foundation, Inc.,
> > +# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
> > +
> > +TEST_DESC="Load session(s)"
>
> Should reflect the overall test: "Auto load session(s)"
>
OK

>
> > +
> > +CURDIR=$(dirname $0)/
> > +CONFIG_DIR="${CURDIR}/configuration"
> > +TESTDIR=$CURDIR/../../../
> > +SESSIOND_BIN="lttng-sessiond"
> > +RELAYD_BIN="lttng-relayd"
> > +LTTNG_BIN="lttng"
> > +export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m
> ${TESTDIR}../src/common/config/)
> > +
> > +DIR=$(readlink -f $TESTDIR)
> > +
> > +NUM_TESTS=10
> > +
> > +source $TESTDIR/utils/utils.sh
> > +
> > +# MUST set TESTDIR before calling those functions
> > +plan_tests $NUM_TESTS
> > +
> > +print_test_banner "$TEST_DESC"
> > +
> > +function test_auto_load_file()
> > +{
> > + diag "Test auto load file"
> > +
> > + stop_lttng_sessiond
>
> The stop_lttng_sessiond should be moved at the end of each sub test.
>
Ok, but I need one stop_lttng_session before the test, since it can't be
any lttng_sessiond
running when starting the tests.

>
> > + export LTTNG_HOME=
> > +
> > + start_lttng_sessiond $CURDIR/load-42.lttng
> > + list_lttng_with_opts load-42
>
> Put stop_lttng_sessiond here.
>
> > +}
> > +
> > +function test_auto_load_dir()
> > +{
> > + diag "Test auto load directory"
> > +
> > + stop_lttng_sessiond
> > +
> > + export LTTNG_HOME=
> > + export LTTNG_DIR=/tmp/lttng_home
>
> Use "mktemp -d" here.
>
OK

>
> > + mkdir -p $LTTNG_DIR
> > + cp -f $CURDIR/load-42.lttng $LTTNG_DIR/
> > +
> > + start_lttng_sessiond $LTTNG_DIR
> > + list_lttng_with_opts load-42
> > +
> > + rm -rf $LTTNG_DIR
> > +}
> > +
> > +function test_auto_load_lttng_home()
> > +{
> > + diag "Test auto load by setting LTTNG_HOME"
> > +
> > + stop_lttng_sessiond
> > +
> > + export LTTNG_HOME=/tmp/lttng_home
>
> Use "mktemp -d" here.
>
OK

>
> > + mkdir -p $LTTNG_HOME/.lttng/sessions/auto
> > + cp -f $CURDIR/load-42.lttng $LTTNG_HOME/.lttng/sessions/auto
> > +
> > + start_lttng_sessiond
> > + list_lttng_with_opts load-42
> > +
> > + rm -rf $LTTNG_HOME/.lttng/sessions/auto
>
> Make sure to remove the complete LTTNG_HOME directory.
>
OK

>
> > +}
> > +
> > +TESTS=(
> > + test_auto_load_file
> > + test_auto_load_dir
> > + test_auto_load_lttng_home
> > +)
> > +
> > +for 

Re: [lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-05-14 Thread Jonathan Rajotte-Julien
Hi Anders

Thanks for proposing this patch.

We will need more context here. Are those currently failing and exposing a
problem?

See comments inline.


On Mon, May 14, 2018 at 05:30:53PM +0200, Anders Wallin wrote:
> Signed-off-by: Anders Wallin 
> ---
>  tests/fast_regression |   1 +
>  .../regression/tools/save-load/test_autoload  | 101 ++
>  2 files changed, 102 insertions(+)
>  create mode 100755 tests/regression/tools/save-load/test_autoload
> 
> diff --git a/tests/fast_regression b/tests/fast_regression
> index bbce068f..2f02f872 100644
> --- a/tests/fast_regression
> +++ b/tests/fast_regression
> @@ -13,6 +13,7 @@ regression/tools/snapshots/test_ust_fast
>  regression/tools/snapshots/test_ust_streaming
>  regression/tools/save-load/test_save
>  regression/tools/save-load/test_load
> +regression/tools/save-load/test_autoload
>  regression/tools/mi/test_mi
>  regression/tools/wildcard/test_event_wildcard
>  regression/tools/crash/test_crash
> diff --git a/tests/regression/tools/save-load/test_autoload 
> b/tests/regression/tools/save-load/test_autoload
> new file mode 100755
> index ..ea1210de
> --- /dev/null
> +++ b/tests/regression/tools/save-load/test_autoload
> @@ -0,0 +1,101 @@
> +#!/bin/bash
> +#
> +# Copyright (C) - 2014 David Goulet 

I doubt dgoulet wrote this file :). Even if this was "copied" from another test
plan the majority of the test plan was written/contributed by you.
Your name and email should be there.

> +#
> +# This library is free software; you can redistribute it and/or modify it 
> under
> +# the terms of the GNU Lesser General Public License as published by the Free
> +# Software Foundation; version 2.1 of the License.
> +#
> +# This library is distributed in the hope that it will be useful, but WITHOUT
> +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
> FITNESS
> +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 
> more
> +# details.
> +#
> +# You should have received a copy of the GNU Lesser General Public License
> +# along with this library; if not, write to the Free Software Foundation, 
> Inc.,
> +# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
> +
> +TEST_DESC="Load session(s)"

Should reflect the overall test: "Auto load session(s)"

> +
> +CURDIR=$(dirname $0)/
> +CONFIG_DIR="${CURDIR}/configuration"
> +TESTDIR=$CURDIR/../../../
> +SESSIOND_BIN="lttng-sessiond"
> +RELAYD_BIN="lttng-relayd"
> +LTTNG_BIN="lttng"
> +export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m 
> ${TESTDIR}../src/common/config/)
> +
> +DIR=$(readlink -f $TESTDIR)
> +
> +NUM_TESTS=10
> +
> +source $TESTDIR/utils/utils.sh
> +
> +# MUST set TESTDIR before calling those functions
> +plan_tests $NUM_TESTS
> +
> +print_test_banner "$TEST_DESC"
> +
> +function test_auto_load_file()
> +{
> + diag "Test auto load file"
> +
> + stop_lttng_sessiond

The stop_lttng_sessiond should be moved at the end of each sub test.

> + export LTTNG_HOME=
> +
> + start_lttng_sessiond $CURDIR/load-42.lttng
> + list_lttng_with_opts load-42

Put stop_lttng_sessiond here.

> +}
> +
> +function test_auto_load_dir()
> +{
> + diag "Test auto load directory"
> +
> + stop_lttng_sessiond
> +
> + export LTTNG_HOME=
> + export LTTNG_DIR=/tmp/lttng_home

Use "mktemp -d" here.

> + mkdir -p $LTTNG_DIR
> + cp -f $CURDIR/load-42.lttng $LTTNG_DIR/
> +
> + start_lttng_sessiond $LTTNG_DIR
> + list_lttng_with_opts load-42
> +
> + rm -rf $LTTNG_DIR
> +}
> +
> +function test_auto_load_lttng_home()
> +{
> + diag "Test auto load by setting LTTNG_HOME"
> +
> + stop_lttng_sessiond
> +
> + export LTTNG_HOME=/tmp/lttng_home

Use "mktemp -d" here.

> + mkdir -p $LTTNG_HOME/.lttng/sessions/auto
> + cp -f $CURDIR/load-42.lttng $LTTNG_HOME/.lttng/sessions/auto
> +
> + start_lttng_sessiond
> + list_lttng_with_opts load-42
> +
> + rm -rf $LTTNG_HOME/.lttng/sessions/auto

Make sure to remove the complete LTTNG_HOME directory.

> +}
> +
> +TESTS=(
> + test_auto_load_file
> + test_auto_load_dir
> + test_auto_load_lttng_home
> +)
> +
> +for fct_test in ${TESTS[@]};
> +do
> + TRACE_PATH=$(mktemp -d)
> +
> + ${fct_test}
> + if [ $? -ne 0 ]; then
> + break;
> + fi
> + # Only delete if successful
> + rm -rf $TRACE_PATH
> +done
> +
> +stop_lttng_sessiond

Remove this.

> -- 
> 2.17.0
> 
> ___
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Jonathan Rajotte-Julien
EfficiOS
___
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


[lttng-dev] [PATCH lttng-tools] Tests: Added autoloading session test cases

2018-05-14 Thread Anders Wallin
Signed-off-by: Anders Wallin 
---
 tests/fast_regression |   1 +
 .../regression/tools/save-load/test_autoload  | 101 ++
 2 files changed, 102 insertions(+)
 create mode 100755 tests/regression/tools/save-load/test_autoload

diff --git a/tests/fast_regression b/tests/fast_regression
index bbce068f..2f02f872 100644
--- a/tests/fast_regression
+++ b/tests/fast_regression
@@ -13,6 +13,7 @@ regression/tools/snapshots/test_ust_fast
 regression/tools/snapshots/test_ust_streaming
 regression/tools/save-load/test_save
 regression/tools/save-load/test_load
+regression/tools/save-load/test_autoload
 regression/tools/mi/test_mi
 regression/tools/wildcard/test_event_wildcard
 regression/tools/crash/test_crash
diff --git a/tests/regression/tools/save-load/test_autoload 
b/tests/regression/tools/save-load/test_autoload
new file mode 100755
index ..ea1210de
--- /dev/null
+++ b/tests/regression/tools/save-load/test_autoload
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+# Copyright (C) - 2014 David Goulet 
+#
+# This library is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this library; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+
+TEST_DESC="Load session(s)"
+
+CURDIR=$(dirname $0)/
+CONFIG_DIR="${CURDIR}/configuration"
+TESTDIR=$CURDIR/../../../
+SESSIOND_BIN="lttng-sessiond"
+RELAYD_BIN="lttng-relayd"
+LTTNG_BIN="lttng"
+export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m 
${TESTDIR}../src/common/config/)
+
+DIR=$(readlink -f $TESTDIR)
+
+NUM_TESTS=10
+
+source $TESTDIR/utils/utils.sh
+
+# MUST set TESTDIR before calling those functions
+plan_tests $NUM_TESTS
+
+print_test_banner "$TEST_DESC"
+
+function test_auto_load_file()
+{
+   diag "Test auto load file"
+
+   stop_lttng_sessiond
+   export LTTNG_HOME=
+
+   start_lttng_sessiond $CURDIR/load-42.lttng
+   list_lttng_with_opts load-42
+}
+
+function test_auto_load_dir()
+{
+   diag "Test auto load directory"
+
+   stop_lttng_sessiond
+
+   export LTTNG_HOME=
+   export LTTNG_DIR=/tmp/lttng_home
+   mkdir -p $LTTNG_DIR
+   cp -f $CURDIR/load-42.lttng $LTTNG_DIR/
+
+   start_lttng_sessiond $LTTNG_DIR
+   list_lttng_with_opts load-42
+
+   rm -rf $LTTNG_DIR
+}
+
+function test_auto_load_lttng_home()
+{
+   diag "Test auto load by setting LTTNG_HOME"
+
+   stop_lttng_sessiond
+
+   export LTTNG_HOME=/tmp/lttng_home
+   mkdir -p $LTTNG_HOME/.lttng/sessions/auto
+   cp -f $CURDIR/load-42.lttng $LTTNG_HOME/.lttng/sessions/auto
+
+   start_lttng_sessiond
+   list_lttng_with_opts load-42
+
+   rm -rf $LTTNG_HOME/.lttng/sessions/auto
+}
+
+TESTS=(
+   test_auto_load_file
+   test_auto_load_dir
+   test_auto_load_lttng_home
+)
+
+for fct_test in ${TESTS[@]};
+do
+   TRACE_PATH=$(mktemp -d)
+
+   ${fct_test}
+   if [ $? -ne 0 ]; then
+   break;
+   fi
+   # Only delete if successful
+   rm -rf $TRACE_PATH
+done
+
+stop_lttng_sessiond
-- 
2.17.0

___
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev