code: def _check_listening_on_services_ports(services, test=False):
      
      test = not(not(test))  # ensure test is True or False
      all_ports = list(itertools.chain(*services.values()))
      ports_states = [port_has_listener('0.0.0.0', p) for p in all_ports]
      map_ports = OrderedDict()
      matched_ports = [p for p, opened in zip(all_ports, ports_states)
                       if opened == test]  # essentially opened xor test
      for service, ports in services.items():
          set_ports = set(ports).intersection(matched_ports)
          if set_ports:
              map_ports[service] = set_ports
      return map_ports, ports_states
docs: Check that the unit is actually listening (has the port open) on the
      ports that the service specifies are open. If test is True then the
      function returns the services with ports that are open rather than
      closed.
  
      Returns an OrderedDict of service: ports and a list of booleans
  
      @param services: OrderedDict(service: [port, ...], ...)
      @param test: default=False, if False, test for closed, otherwise open.
      @returns OrderedDict(service: [port-not-open, ...]...), [boolean]