text: # -*- coding: utf-8 -*-
  '''
      :codeauthor: :email:`Pedro Algarvio (pedro@algarvio.me)`
  
  
      tests.integration.states.match
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  '''
  
  # Import python libs
  from __future__ import absolute_import
  import os
  
  # Import Salt Testing libs
  from tests.support.case import ModuleCase
  from tests.support.paths import FILES
  from tests.support.helpers import skip_if_not_root
  
  # Import salt libs
  import salt.utils
  
  STATE_DIR = os.path.join(FILES, 'file', 'base')
  
  
  class StateMatchTest(ModuleCase):
      '''
      Validate the file state
      '''
  
      @skip_if_not_root
      def test_issue_2167_ipcidr_no_AttributeError(self):
          subnets = self.run_function('network.subnets')
          self.assertTrue(len(subnets) > 0)
          top_filename = 'issue-2167-ipcidr-match.sls'
          top_file = os.path.join(STATE_DIR, top_filename)
          try:
              with salt.utils.fopen(top_file, 'w') as fp_:
                  fp_.write(
                      'base:\n'
                      '  {0}:\n'
                      '    - match: ipcidr\n'
                      '    - test\n'.format(subnets[0])
                  )
              ret = self.run_function('state.top', [top_filename])
              self.assertNotIn(
                  'AttributeError: \'Matcher\' object has no attribute '
                  '\'functions\'',
                  ret
              )
          finally:
              os.remove(top_file)
  