anchor.diff:      start_all()
       server.wait_for_unit("mosquitto.service")
   
  -    def check_passwords():
  +    with subtest("check passwords"):
           client1.succeed(publish("-m test", "password_store"))
           client1.succeed(publish("-m test", "password_file"))
           client1.succeed(publish("-m test", "hashed_store"))
           client1.succeed(publish("-m test", "hashed_file"))
   
  -    check_passwords()
  -
  -    def check_acl():
  +    with subtest("check acl"):
           client1.succeed(subscribe("", "reader", topic="$SYS/#"))
  -        client1.fail(subscribe("-W 5", "writer", topic="$SYS/#"))
  +        client1.fail(subscribe("", "writer", topic="$SYS/#"))
   
           parallel(
               lambda: client1.succeed(subscribe("-i 3688cdd7-aa07-42a4-be22-cb9352917e40", "reader")),
  
positive.code:                 topic="$SYS/#",
                  port=${toString tlsPort},
                  user="no_such_user"))
  
      check_tls()
    '';
  })
  
negative.code:     def publish(args, user, topic="${topic}", port=${toString port}):
          return "{} {}".format(mosquitto_cmd("pub", user, topic, port), args)
  
      def subscribe(args, user, topic="${topic}", port=${toString port}):
          return "{} -W 5 -C 1 {}".format(mosquitto_cmd("sub", user, topic, port), args)
  
      def parallel(*fns):
          from threading import Thread
  