class_docstr: base class for Collector and Item the test collection tree.
  Collector subclasses have children, Items are terminal nodes.
docstr: dynamically add a marker object to the node.
  
  :type marker: ``str`` or ``pytest.mark.*``  object
  :param marker:
      ``append=True`` whether to append the marker,
      if ``False`` insert at position ``0``.
docstr_tok: ["dynamically","add","a","marker","object","to","the","node",".",":","type","marker",":","``","str","``","or","``","pytest.mark",".","*","``","object",":","param","marker",":","``","append=True","``","whether","to","append","the","marker",",","if","``","False","``","insert","at","position","``","0","``","."]
code: def add_marker(self, marker, append=True):
      """dynamically add a marker object to the node.
  
      :type marker: ``str`` or ``pytest.mark.*``  object
      :param marker:
          ``append=True`` whether to append the marker,
          if ``False`` insert at position ``0``.
      """
      from _pytest.mark import MarkDecorator, MARK_GEN
  
      if isinstance(marker, six.string_types):
          marker = getattr(MARK_GEN, marker)
      elif not isinstance(marker, MarkDecorator):
          raise ValueError("is not a string or pytest.mark.* Marker")
      self.keywords[marker.name] = marker
      if append:
          self.own_markers.append(marker.mark)
      else:
          self.own_markers.insert(0, marker.mark)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import warnings
  import py
  import six
  import _pytest._code
  from _pytest.compat import getfslineno
  from _pytest.mark.structures import NodeKeywords
  from _pytest.outcomes import fail
label_desc: Use image node_id 10 for calling the Node obj's underlying member method code with example usage: obj.add_marker(marker, append) without return types