# File test/test_priv.rb, line 11
    def setup
      # test repository
      @rep = Rucy::Repository.new

      # for Etc module
      @getpwnam_call = 0
      @getpwnam_name = nil
      @getgrnam_call = 0
      @getgrnam_name = nil

      @etc = Forwarder.new(self)
      class << @etc
        def_delegator :__getobj__, :getpwnam
        def_delegator :__getobj__, :getgrnam
      end
      @rep.set_value(:Etc_module, @etc)

      # for Struct::Passwd class
      @uid_call = 0

      @passwd = Forwarder.new(self)
      class << @passwd
        def_delegator :__getobj__, :uid
      end

      # for Struct::Group class
      @gid_call = 0

      @group = Forwarder.new(self)
      class << @group
        def_delegator :__getobj__, :gid
      end

      # for Process module
      @euid_call = 0
      @euid = nil
      @set_uid_call = 0
      @set_uid_id = nil
      @set_gid_call = 0
      @set_gid_id = nil
      @set_euid_call = 0
      @set_euid_id = nil
      @set_egid_call = 0
      @set_egid_id = nil

      @process = Forwarder.new(self)
      class << @process
        def_delegator :__getobj__, :euid
        def_delegator :__getobj__, :uid=
        def_delegator :__getobj__, :gid=
        def_delegator :__getobj__, :euid=
        def_delegator :__getobj__, :egid=
      end
      @rep.set_value(:Process_module, @process)

      # for File class
      @chown_call = 0
      @chown_owner = nil
      @chown_group = nil
      @chown_path = nil
      @open_call = 0
      @open_path = 0
      @open_mode = 0
      @exist_call = 0
      @exist_path = nil

      @file = Forwarder.new(self)
      class << @file
        def_delegator :__getobj__, :chown
        def_delegator :__getobj__, :open
        def_delegator :__getobj__, :exist?
      end
      @rep.set_value(:File_class, @file)

      # target
      @priv = Rucy::Privilege.new('http_user', 'http_group', @rep)
    end