old_contents: import sys
  import platform
  import multiprocessing
  
  import pytest
  
  import keyring
  
  
  def subprocess_get():
      keyring.get_password('test_app', 'test_user')
  
  
  def test_multiprocess_get():
      proc1 = multiprocessing.Process(target=subprocess_get)
      proc1.start()
      proc1.join()
      assert proc1.exitcode == 0
  
  
  @pytest.mark.skipif(
      # always skip as it crashes the interpreter
      sys.version_info < (3, 8) and platform.system() == 'Darwin',
      reason="#281: Prior to 3.8, multiprocess invocation fails",
  )
  @pytest.mark.xfail(
      sys.version_info > (3, 8) and platform.system() == 'Linux',
      reason="#410: After Python 3.6 or 3.7, tests fail",
  )
  def test_multiprocess_get_after_native_get():
      keyring.get_password('test_app', 'test_user')
      test_multiprocess_get()
  
new_contents: import sys
  import platform
  import multiprocessing
  
  import pytest
  
  import keyring
  
  
  def subprocess_get():
      keyring.get_password('test_app', 'test_user')
  
  
  def test_multiprocess_get():
      proc1 = multiprocessing.Process(target=subprocess_get)
      proc1.start()
      proc1.join()
      assert proc1.exitcode == 0
  
  
  @pytest.mark.skipif(
      # always skip as it crashes the interpreter
      sys.version_info < (3, 8) and platform.system() == 'Darwin',
      reason="#281: Prior to 3.8, multiprocess invocation fails",
  )
  @pytest.mark.xfail(
      platform.system() == 'Linux',
      reason="#410: tests fail intermittently",
  )
  def test_multiprocess_get_after_native_get():
      keyring.get_password('test_app', 'test_user')
      test_multiprocess_get()
  
subject: Mark tests as xfailing (intermittently) regardless of Python version. Ref #410.