** Bug watch added: Debian Bug tracker #924361
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924361

** Also affects: smcroute (Debian) via
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924361
   Importance: Unknown
       Status: Unknown

** Description changed:

  Please sync smcroute 2.4.4-3 (universe) from Debian unstable (main)
  
  Explanation of FeatureFreeze exception:
- This updated version of smcroute fixes a racy systemd service unit and makes 
the autopkgtests much more reliable.
+ This updated version of smcroute fixes a racy systemd service unit and makes 
the autopkgtests much more reliable (Debian debbugs #924361).
  
  Changelog entries since current smcroute version 2.4.4-1:
  
  smcroute (2.4.4-3) unstable; urgency=medium
  
-   * debian/tests: Skip multicast cache tests on systems without multicast
-     capable interfaces.
- 
-  -- Micha Lenk <mi...@debian.org>  Mon, 01 Mar 2021 09:22:50 +0100
+   * debian/tests: Skip multicast cache tests on systems without multicast
+     capable interfaces.
+ 
+  -- Micha Lenk <mi...@debian.org>  Mon, 01 Mar 2021 09:22:50 +0100
  
  smcroute (2.4.4-2) unstable; urgency=medium
  
-   * debian/changelog: Mark bug #952418 as closed in 2.4.4-1
-   * Add sd_notify.patch teaching smcrouted to call sd_notify() when up and
-     running. This fixes the systemd race condition that causes CI tests to 
fail
-     on slow systems (closes: #924361).
-   * autopkgtests: daemon-init-scripts: Revert the sleeps that were trying to
-     "make tricky operations succeed". This is now fixed properly (see above).
-   * Add build dependency on libsystemd-dev.
- 
-  -- Micha Lenk <mi...@debian.org>  Sun, 28 Feb 2021 16:30:39 +0100
+   * debian/changelog: Mark bug #952418 as closed in 2.4.4-1
+   * Add sd_notify.patch teaching smcrouted to call sd_notify() when up and
+     running. This fixes the systemd race condition that causes CI tests to 
fail
+     on slow systems (closes: #924361).
+   * autopkgtests: daemon-init-scripts: Revert the sleeps that were trying to
+     "make tricky operations succeed". This is now fixed properly (see above).
+   * Add build dependency on libsystemd-dev.
+ 
+  -- Micha Lenk <mi...@debian.org>  Sun, 28 Feb 2021 16:30:39 +0100
  
  The debdiff output for the source package changes since smcroute 2.4.4-1 is:
  diff -Nru smcroute-2.4.4/debian/changelog smcroute-2.4.4/debian/changelog
  --- smcroute-2.4.4/debian/changelog   2021-02-25 13:28:54.000000000 +0100
  +++ smcroute-2.4.4/debian/changelog   2021-03-01 09:22:50.000000000 +0100
  @@ -1,7 +1,27 @@
  +smcroute (2.4.4-3) unstable; urgency=medium
  +
  +  * debian/tests: Skip multicast cache tests on systems without multicast
  +    capable interfaces.
  +
  + -- Micha Lenk <mi...@debian.org>  Mon, 01 Mar 2021 09:22:50 +0100
  +
  +smcroute (2.4.4-2) unstable; urgency=medium
  +
  +  * debian/changelog: Mark bug #952418 as closed in 2.4.4-1
  +  * Add sd_notify.patch teaching smcrouted to call sd_notify() when up and
  +    running. This fixes the systemd race condition that causes CI tests to 
fail
  +    on slow systems (closes: #924361).
  +  * autopkgtests: daemon-init-scripts: Revert the sleeps that were trying to
  +    "make tricky operations succeed". This is now fixed properly (see above).
  +  * Add build dependency on libsystemd-dev.
  +
  + -- Micha Lenk <mi...@debian.org>  Sun, 28 Feb 2021 16:30:39 +0100
  +
-  smcroute (2.4.4-1) unstable; urgency=medium
-  
-    [ Adrien ]
+  smcroute (2.4.4-1) unstable; urgency=medium
+ 
+    [ Adrien ]
  -  * Remove invalid comma in "After" list of systemd service file.
  +  * Remove invalid comma in "After" list of systemd service file (closes:
  +    #952418).
-  
-    [ Micha Lenk ]
-    * New upstream version 2.4.4.
+ 
+    [ Micha Lenk ]
+    * New upstream version 2.4.4.
  diff -Nru smcroute-2.4.4/debian/control smcroute-2.4.4/debian/control
  --- smcroute-2.4.4/debian/control     2021-02-25 12:27:21.000000000 +0100
  +++ smcroute-2.4.4/debian/control     2021-03-01 09:22:50.000000000 +0100
  @@ -3,7 +3,11 @@
-  Priority: optional
-  Maintainer: Micha Lenk <mi...@debian.org>
-  Uploaders: Joachim Nilsson <troglo...@gmail.com>
+  Priority: optional
+  Maintainer: Micha Lenk <mi...@debian.org>
+  Uploaders: Joachim Nilsson <troglo...@gmail.com>
  -Build-Depends: debhelper-compat (= 13), libcap-dev, systemd, pkg-config
  +Build-Depends: debhelper-compat (= 13),
  + libcap-dev [!kfreebsd-any],
  + libsystemd-dev [!kfreebsd-any],
  + pkg-config,
  + systemd [!kfreebsd-any]
-  Standards-Version: 4.5.1
-  Homepage: http://troglobit.com/smcroute.html
-  Vcs-Browser: https://salsa.debian.org/debian/smcroute
+  Standards-Version: 4.5.1
+  Homepage: http://troglobit.com/smcroute.html
+  Vcs-Browser: https://salsa.debian.org/debian/smcroute
  diff -Nru smcroute-2.4.4/debian/patches/sd_notify.patch 
smcroute-2.4.4/debian/patches/sd_notify.patch
  --- smcroute-2.4.4/debian/patches/sd_notify.patch     1970-01-01 
01:00:00.000000000 +0100
  +++ smcroute-2.4.4/debian/patches/sd_notify.patch     2021-02-28 
16:41:59.000000000 +0100
  @@ -0,0 +1,113 @@
  +Author: Micha Lenk <mi...@debian.org>
  +Summary: Switch to systemd service type 'notify' for synchronous service 
management
  + By calling sd_notify() the smcroute daemon (smcrouted) can tell the systemd
  + service manager when it is fully up and running. This allows systemd to 
manage
  + services synchronously (service type 'notify') so that dependent tasks can
  + rely on smcrouted being fully up and running.
  +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924361
  +Forwarded-Upstream: no
  +Last-Update: 2021-02-28
  +
  +diff --git a/src/Makefile.am b/src/Makefile.am
  +index ae2bcdc..51d24af 100644
  +--- a/src/Makefile.am
  ++++ b/src/Makefile.am
  +@@ -30,3 +30,7 @@ if USE_DOTCONF
  + smcrouted_SOURCES      += conf.c conf.h
  + endif
- + 
+ +
  ++if HAVE_LIBSYSTEMD
  ++smcrouted_CFLAGS      += $(LIBSYSTEMD_CFLAGS)
  ++smcrouted_LDADD       += $(LIBSYSTEMD_LIBS)
  ++endif
  +diff --git a/src/smcrouted.c b/src/smcrouted.c
  +index 74076c6..d87e242 100644
  +--- a/src/smcrouted.c
  ++++ b/src/smcrouted.c
  +@@ -23,12 +23,17 @@
  + #include <errno.h>
  + #include <getopt.h>
  + #include <stdio.h>
  ++#include <stdbool.h>
  + #include <signal.h>
  + #include <unistd.h>
  + #include <arpa/inet.h>
  + #include <sys/time.h>               /* gettimeofday() */
  + #include <sys/un.h>
- + 
+ +
  ++#if HAVE_LIBSYSTEMD
  ++#include <systemd/sd-daemon.h>
  ++#endif
  ++
  + #include "cap.h"
  + #include "ipc.h"
  + #include "log.h"
  +@@ -136,13 +141,31 @@ static int server_loop(void)
  + {
  +     script_init(script);
  +     mrdisc_init(interval);
  ++#if HAVE_LIBSYSTEMD
  ++    bool need_sd_notify_ready = true;
  ++#endif
- + 
+ +
  +     while (running) {
  +             if (reloading) {
  ++#if HAVE_LIBSYSTEMD
  ++                    sd_notify(0, "RELOADING=1\n"
  ++                              "STATUS=Reloading configuration...\n");
  ++                    need_sd_notify_ready = true;
  ++#endif
  ++
  +                     reload();
  +                     reloading = 0;
  +             }
- + 
+ +
  ++
  ++#if HAVE_LIBSYSTEMD
  ++            if (need_sd_notify_ready) {
  ++                    sd_notify(0, "READY=1\n"
  ++                              "STATUS=Configuration loaded.\n");
  ++                    need_sd_notify_ready = false;
  ++            }
  ++#endif
  ++
  +             socket_poll(NULL);
  +     }
- + 
+ +
  +diff --git a/configure.ac b/configure.ac
  +index bafccfa..7514e97 100644
  +--- a/configure.ac
  ++++ b/configure.ac
  +@@ -106,6 +106,17 @@ AS_IF([test "x$with_systemd" != "xno"],
  +      [AC_SUBST([systemddir], [$with_systemd])])
  + AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemd" != "xno"])
- + 
+ +
  ++have_libsystemd=no
  ++AS_IF([test "x$with_systemd" != "xno"],
  ++     [PKG_CHECK_MODULES(LIBSYSTEMD, libsystemd,
  ++         [AC_DEFINE(HAVE_LIBSYSTEMD, 1, [Enable libsystemd integration])
  ++         have_libsystemd=yes])]
  ++)
  ++AS_IF([test "x$have_libsystemd" = "xyes"],
  ++     [AC_SUBST([systemd_service_type], [notify])],
  ++     [AC_SUBST([systemd_service_type], [simple])])
  ++AM_CONDITIONAL([HAVE_LIBSYSTEMD], [test "x$have_libsystemd" = "xyes"])
  ++
  + # Check if we need -lpthread (building statically) and -lrt (older GLIBC)
  + # Unset cached values when retrying with -lpthread and reset LIBS for each 
API
  + need_librt=no
  +diff --git a/smcroute.service.in b/smcroute.service.in
  +index 910f486..42fdb0e 100644
  +--- a/smcroute.service.in
  ++++ b/smcroute.service.in
  +@@ -8,8 +8,9 @@ After=network-online.target
  + Requires=network-online.target
- + 
+ +
  + [Service]
  +-Type=simple
  ++Type=@systemd_service_type@
  + ExecStart=@SBINDIR@/smcrouted -n -s
  ++NotifyAccess=main
- + 
+ +
  + # Hardening settings
  + NoNewPrivileges=true
  diff -Nru smcroute-2.4.4/debian/patches/series 
smcroute-2.4.4/debian/patches/series
  --- smcroute-2.4.4/debian/patches/series      1970-01-01 01:00:00.000000000 
+0100
  +++ smcroute-2.4.4/debian/patches/series      2021-02-28 16:30:22.000000000 
+0100
  @@ -0,0 +1 @@
  +sd_notify.patch
  diff -Nru smcroute-2.4.4/debian/rules smcroute-2.4.4/debian/rules
  --- smcroute-2.4.4/debian/rules       2021-02-25 12:27:21.000000000 +0100
  +++ smcroute-2.4.4/debian/rules       2021-03-01 09:22:50.000000000 +0100
  @@ -6,14 +6,20 @@
-  export DEB_CFLAGS_MAINT_APPEND = -Werror -ggdb
-  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-  
+  export DEB_CFLAGS_MAINT_APPEND = -Werror -ggdb
+  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+ 
  +# Determine whether or not to build with libcap depending on architecture
  +extraconfflags = --with-systemd --with-libcap
  +include /usr/share/dpkg/architecture.mk
  +ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
  +extraconfflags = --without-systemd --without-libcap
  +endif
  +
-  %:
-       dh $@
-  
-  override_dh_auto_configure:
-       dh_auto_configure -- \
-               --bindir=/usr/sbin \
+  %:
+   dh $@
+ 
+  override_dh_auto_configure:
+   dh_auto_configure -- \
+    --bindir=/usr/sbin \
  -             --with-systemd \
  -             --with-libcap \
  +             $(extraconfflags) \
-               --enable-mrdisc
-  
-  override_dh_auto_install:
+    --enable-mrdisc
+ 
+  override_dh_auto_install:
  diff -Nru smcroute-2.4.4/debian/tests/daemon-init-scripts 
smcroute-2.4.4/debian/tests/daemon-init-scripts
  --- smcroute-2.4.4/debian/tests/daemon-init-scripts   2021-02-25 
13:18:44.000000000 +0100
  +++ smcroute-2.4.4/debian/tests/daemon-init-scripts   2021-03-01 
08:57:12.000000000 +0100
  @@ -15,32 +15,28 @@
-  pass($startup);
-  
-  # Verify that smcroute is running
+  pass($startup);
+ 
+  # Verify that smcroute is running
  -my $initial_smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcroute'; chomp 
$initial_smcroute_pid;
  +my $initial_smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcrouted'; chomp 
$initial_smcroute_pid;
-  is $EXITVAL, 0, "smcroute is running".( $EXITVAL ? '' : " (pid 
$initial_smcroute_pid)" );
-  
-  # Try to stop the daemon
-  my $stop_output = capture EXIT_ANY, INIT_SCRIPT, 'stop';
-  is $EXITVAL, 0, "stopping smcroute";
+  is $EXITVAL, 0, "smcroute is running".( $EXITVAL ? '' : " (pid 
$initial_smcroute_pid)" );
+ 
+  # Try to stop the daemon
+  my $stop_output = capture EXIT_ANY, INIT_SCRIPT, 'stop';
+  is $EXITVAL, 0, "stopping smcroute";
  -my $smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcroute'; chomp 
$smcroute_pid;
  +my $smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcrouted'; chomp 
$smcroute_pid;
-  is $EXITVAL, 1, "smcroute is really stopped".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
-  
-  my $double_stop_output = capture EXIT_ANY, INIT_SCRIPT, 'stop';
-  is $EXITVAL, 0, "stopping smcroute twice in a row";
+  is $EXITVAL, 1, "smcroute is really stopped".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
+ 
+  my $double_stop_output = capture EXIT_ANY, INIT_SCRIPT, 'stop';
+  is $EXITVAL, 0, "stopping smcroute twice in a row";
  -$smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcroute'; chomp $smcroute_pid;
  +$smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcrouted'; chomp $smcroute_pid;
-  is $EXITVAL, 1, "smcroute is really stopped".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
-  
-  # Try to start the daemon again
+  is $EXITVAL, 1, "smcroute is really stopped".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
+ 
+  # Try to start the daemon again
  -sleep(1);
-  my $start_output = capture EXIT_ANY, INIT_SCRIPT, 'start';
-  is $EXITVAL, 0, "starting smcroute";
+  my $start_output = capture EXIT_ANY, INIT_SCRIPT, 'start';
+  is $EXITVAL, 0, "starting smcroute";
  -sleep(1);
  -my $new_smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcroute'; chomp 
$new_smcroute_pid;
  +my $new_smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcrouted'; chomp 
$new_smcroute_pid;
-  is $EXITVAL, 0, "smcroute is really running".( $EXITVAL ? '' : " (pid 
$new_smcroute_pid)" );
-  isnt $new_smcroute_pid, $initial_smcroute_pid, "smcroute pid changed 
($new_smcroute_pid != $initial_smcroute_pid)";
-  
+  is $EXITVAL, 0, "smcroute is really running".( $EXITVAL ? '' : " (pid 
$new_smcroute_pid)" );
+  isnt $new_smcroute_pid, $initial_smcroute_pid, "smcroute pid changed 
($new_smcroute_pid != $initial_smcroute_pid)";
+ 
  -sleep(1);
-  my $double_start_output = capture EXIT_ANY, INIT_SCRIPT, 'start';
-  is $EXITVAL, 0, "starting smcroute twice in a row";
+  my $double_start_output = capture EXIT_ANY, INIT_SCRIPT, 'start';
+  is $EXITVAL, 0, "starting smcroute twice in a row";
  -sleep(1);
  -$smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcroute'; chomp $smcroute_pid;
  +$smcroute_pid = capture EXIT_ANY, 'pgrep', 'smcrouted'; chomp $smcroute_pid;
-  is $EXITVAL, 0, "smcroute is really running".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
+  is $EXITVAL, 0, "smcroute is really running".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
  diff -Nru smcroute-2.4.4/debian/tests/mr-cache-ipv4 
smcroute-2.4.4/debian/tests/mr-cache-ipv4
  --- smcroute-2.4.4/debian/tests/mr-cache-ipv4 2021-02-24 12:04:39.000000000 
+0100
  +++ smcroute-2.4.4/debian/tests/mr-cache-ipv4 2021-03-01 09:22:50.000000000 
+0100
  @@ -20,39 +20,42 @@
-  }
-  
-  # Verify that smcroute is running
+  }
+ 
+  # Verify that smcroute is running
  -my $smcroute_pid = capture( EXIT_ANY, 'pgrep', 'smcroute' );
  +my $smcroute_pid = capture( EXIT_ANY, 'pgrep', 'smcrouted' );
-  chomp $smcroute_pid;
-  is $EXITVAL, 0, "smcroute is running".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
-  
-  # Get a valid multicast interface
-  my @interfaces = get_multicast_interfaces();
-  my $first_itf = $interfaces[0];
+  chomp $smcroute_pid;
+  is $EXITVAL, 0, "smcroute is running".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
+ 
+  # Get a valid multicast interface
+  my @interfaces = get_multicast_interfaces();
+  my $first_itf = $interfaces[0];
  -ok @interfaces >= 1, "At least one multicast capable interface found: 
$first_itf"
  -    or diag read_file(VIF_TABLE);
  -
  -# Verify that there are no multicast routes when we start
  -my @routes = get_multicast_routes();
  -is @routes, 0, "Multicast routing cache is empty"
  -    or diag read_file(MR_CACHE);
  -
  -# Add a multicast route
  -my $route_txt = MC_SENDER."->$first_itf->$first_itf->".MC_GROUP;
  -my $output = capture( EXIT_ANY, 'smcroute', '-a', $first_itf, MC_SENDER, 
MC_GROUP, $first_itf);
  -is $EXITVAL, 0, "adding multicast route $route_txt doesn't fail (return 
code: $EXITVAL)";
  -is $output, '', "adding multicast route $route_txt doesn't generate any 
console output"
  -    or diag "Unexpected output\n$output";
  -@routes = get_multicast_routes();
  -is @routes, 1, "Multicast routing cache now contains one entry";
  -diag read_file(MR_CACHE);
  -
  -# Remove the multicast route again
  -$output = capture( EXIT_ANY, 'smcroute', '-r', $first_itf, MC_SENDER, 
MC_GROUP);
  -is $EXITVAL, 0, "removing multicast route $route_txt doesn't fail (return 
code: $EXITVAL)";
  -is $output, '', "removing multicast route $route_txt doesn't generate any 
console output"
  -    or diag "Unexpected output\n$output";
  -@routes = get_multicast_routes();
  -is @routes, 0, "Multicast routing cache is empty again"
  -    or diag read_file(MR_CACHE);
  +SKIP: {
  +    skip "No multicast capable interfaces found", 8 unless @interfaces >= 1;
  +    pass "At least one multicast capable interface found: $first_itf";
  +    diag read_file(VIF_TABLE) unless @interfaces >= 1;
  +
  +    # Verify that there are no multicast routes when we start
  +    my @routes = get_multicast_routes();
  +    is @routes, 0, "Multicast routing cache is empty"
  +        or diag read_file(MR_CACHE);
  +
  +    # Add a multicast route
  +    my $route_txt = MC_SENDER."->$first_itf->$first_itf->".MC_GROUP;
  +    my $output = capture( EXIT_ANY, 'smcroute', '-a', $first_itf, MC_SENDER, 
MC_GROUP, $first_itf);
  +    is $EXITVAL, 0, "adding multicast route $route_txt doesn't fail (return 
code: $EXITVAL)";
  +    is $output, '', "adding multicast route $route_txt doesn't generate any 
console output"
  +        or diag "Unexpected output\n$output";
  +    @routes = get_multicast_routes();
  +    is @routes, 1, "Multicast routing cache now contains one entry";
  +    diag read_file(MR_CACHE);
  +
  +    # Remove the multicast route again
  +    $output = capture( EXIT_ANY, 'smcroute', '-r', $first_itf, MC_SENDER, 
MC_GROUP);
  +    is $EXITVAL, 0, "removing multicast route $route_txt doesn't fail 
(return code: $EXITVAL)";
  +    is $output, '', "removing multicast route $route_txt doesn't generate 
any console output"
  +        or diag "Unexpected output\n$output";
  +    @routes = get_multicast_routes();
  +    is @routes, 0, "Multicast routing cache is empty again"
  +        or diag read_file(MR_CACHE);
  +};
-  
-  
####################################################################################
-  # sub routines
+ 
+  
####################################################################################
+  # sub routines
  diff -Nru smcroute-2.4.4/debian/tests/mr-cache-ipv6 
smcroute-2.4.4/debian/tests/mr-cache-ipv6
  --- smcroute-2.4.4/debian/tests/mr-cache-ipv6 2021-02-24 12:04:39.000000000 
+0100
  +++ smcroute-2.4.4/debian/tests/mr-cache-ipv6 2021-03-01 09:21:57.000000000 
+0100
  @@ -20,39 +20,42 @@
-  }
-  
-  # Verify that smcroute is running
+  }
+ 
+  # Verify that smcroute is running
  -my $smcroute_pid = capture( EXIT_ANY, 'pgrep', 'smcroute' );
  +my $smcroute_pid = capture( EXIT_ANY, 'pgrep', 'smcrouted' );
-  chomp $smcroute_pid;
-  is $EXITVAL, 0, "smcroute is running".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
-  
-  # Get a valid multicast interface
-  my @interfaces = get_multicast_interfaces();
-  my $first_itf = $interfaces[0];
+  chomp $smcroute_pid;
+  is $EXITVAL, 0, "smcroute is running".( $EXITVAL ? '' : " (pid 
$smcroute_pid)" );
+ 
+  # Get a valid multicast interface
+  my @interfaces = get_multicast_interfaces();
+  my $first_itf = $interfaces[0];
  -ok @interfaces >= 1, "At least one multicast capable interface found: 
$first_itf"
  -    or diag read_file(VIF_TABLE);
  -
  -# Verify that there are no multicast routes when we start
  -my @routes = get_multicast_routes();
  -is @routes, 0, "Multicast routing cache is empty"
  -    or diag read_file(MR_CACHE);
  -
  -# Add a multicast route
  -my $route_txt = MC_SENDER."->$first_itf->$first_itf->".MC_GROUP;
  -my $output = capture( EXIT_ANY, 'smcroute', '-a', $first_itf, MC_SENDER, 
MC_GROUP, $first_itf);
  -is $EXITVAL, 0, "adding multicast route $route_txt doesn't fail (return 
code: $EXITVAL)";
  -is $output, '', "adding multicast route $route_txt doesn't generate any 
console output"
  -    or diag "Unexpected output\n$output";
  -@routes = get_multicast_routes();
  -is @routes, 1, "Multicast routing cache now contains one entry";
  -diag read_file(MR_CACHE);
  -
  -# Remove the multicast route again
  -$output = capture( EXIT_ANY, 'smcroute', '-r', $first_itf, MC_SENDER, 
MC_GROUP);
  -is $EXITVAL, 0, "removing multicast route $route_txt doesn't fail (return 
code: $EXITVAL)";
  -is $output, '', "removing multicast route $route_txt doesn't generate any 
console output"
  -    or diag "Unexpected output\n$output";
  -@routes = get_multicast_routes();
  -is @routes, 0, "Multicast routing cache is empty again"
  -    or diag read_file(MR_CACHE);
  +SKIP: {
  +    skip "No multicast capable interfaces found", 8 unless @interfaces >= 1;
  +    pass "At least one multicast capable interface found: $first_itf";
  +    diag read_file(VIF_TABLE) unless @interfaces >= 1;
  +
  +    # Verify that there are no multicast routes when we start
  +    my @routes = get_multicast_routes();
  +    is @routes, 0, "Multicast routing cache is empty"
  +        or diag read_file(MR_CACHE);
  +
  +    # Add a multicast route
  +    my $route_txt = MC_SENDER."->$first_itf->$first_itf->".MC_GROUP;
  +    my $output = capture( EXIT_ANY, 'smcroute', '-a', $first_itf, MC_SENDER, 
MC_GROUP, $first_itf);
  +    is $EXITVAL, 0, "adding multicast route $route_txt doesn't fail (return 
code: $EXITVAL)";
  +    is $output, '', "adding multicast route $route_txt doesn't generate any 
console output"
  +        or diag "Unexpected output\n$output";
  +    @routes = get_multicast_routes();
  +    is @routes, 1, "Multicast routing cache now contains one entry";
  +    diag read_file(MR_CACHE);
  +
  +    # Remove the multicast route again
  +    $output = capture( EXIT_ANY, 'smcroute', '-r', $first_itf, MC_SENDER, 
MC_GROUP);
  +    is $EXITVAL, 0, "removing multicast route $route_txt doesn't fail 
(return code: $EXITVAL)";
  +    is $output, '', "removing multicast route $route_txt doesn't generate 
any console output"
  +        or diag "Unexpected output\n$output";
  +    @routes = get_multicast_routes();
  +    is @routes, 0, "Multicast routing cache is empty again"
  +        or diag read_file(MR_CACHE);
  +};
-  
-  
####################################################################################
-  # sub routines
+ 
+  
####################################################################################
+  # sub routines

** Package changed: libchipcard (Ubuntu) => smcroute (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1918260

Title:
  FFe: Sync smcroute 2.4.4-3 (universe) from Debian unstable (main)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/smcroute/+bug/1918260/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to