import os
import platform

# If you are adding a new entry, please include a short comment
# explaining why the specific test is blacklisted.

_unix_black_list = set([name.lower() for name in [
  'blackparrot',
  'blackucode',
  'blackunicore',
  'earlgrey_nexysvideo',   # ram size in ci machines
  'lpddr',
  'simpleparsertestcache', # race condition
]])

_windows_black_list = _unix_black_list.union(set([name.lower() for name in [
  'ariane',                       # Uses shell script with make command
  'earlgrey_verilator_01_05_21',  # lowmem is unsupported
  'unitpython',                   # Python is unsupported
]]))

_msys2_black_list = _unix_black_list.union(set([name.lower() for name in [
  'earlgrey_verilator_01_05_21', # lowmem is unsupported
]]))


def is_blacklisted(name):
  if platform.system() == 'Windows':
    blacklist = _msys2_black_list if 'MSYSTEM' in os.environ else _windows_black_list
  else:
    blacklist = _unix_black_list
  return name.lower() in blacklist

import os
import platform

# If you are adding a new entry, please include a short comment
# explaining why the specific test is blacklisted.

_unix_black_list = set([name.lower() for name in [
  'blackparrot',
  'blackucode',
  'blackunicore',
  'earlgrey_nexysvideo',    # ram size in ci machines
  'lpddr',
  'rsd',                    # Out of memory on CI machines
  'simpleparsertestcache',  # race condition
]])

_windows_black_list = _unix_black_list.union(set([name.lower() for name in [
  'ariane',                       # Uses shell script with make command
  'earlgrey_verilator_01_05_21',  # lowmem is unsupported
  'unitpython',                   # Python is unsupported
  'verilator',                    # Stack overflow with clang due to expression evaluation
]]))

_msys2_black_list = _unix_black_list.union(set([name.lower() for name in [
  'earlgrey_verilator_01_05_21', # lowmem is unsupported
]]))


def is_blacklisted(name):
  if platform.system() == 'Windows':
    blacklist = _msys2_black_list if 'MSYSTEM' in os.environ else _windows_black_list
  else:
    blacklist = _unix_black_list
  return name.lower() in blacklist

Exclude a few failing tests
Exclude a few failing tests

Rsd - failing on linux due to running out of memory
Verilator - failing on Windows clang due to stack overflow caused by
            expression evaluation

  import os
  import platform
  
  # If you are adding a new entry, please include a short comment
  # explaining why the specific test is blacklisted.
  
  _unix_black_list = set([name.lower() for name in [
    'blackparrot',
    'blackucode',
    'blackunicore',
-   'earlgrey_nexysvideo',   # ram size in ci machines
+   'earlgrey_nexysvideo',    # ram size in ci machines
    'lpddr',
+   'rsd',                    # Out of memory on CI machines
-   'simpleparsertestcache', # race condition
+   'simpleparsertestcache',  # race condition
  ]])
  
  _windows_black_list = _unix_black_list.union(set([name.lower() for name in [
    'ariane',                       # Uses shell script with make command
    'earlgrey_verilator_01_05_21',  # lowmem is unsupported
    'unitpython',                   # Python is unsupported
+   'verilator',                    # Stack overflow with clang due to expression evaluation
  ]]))
  
  _msys2_black_list = _unix_black_list.union(set([name.lower() for name in [
    'earlgrey_verilator_01_05_21', # lowmem is unsupported
  ]]))
  
  
  def is_blacklisted(name):
    if platform.system() == 'Windows':
      blacklist = _msys2_black_list if 'MSYSTEM' in os.environ else _windows_black_list
    else:
      blacklist = _unix_black_list
    return name.lower() in blacklist
  
Exclude a few failing tests
## Code Before:
import os
import platform

# If you are adding a new entry, please include a short comment
# explaining why the specific test is blacklisted.

_unix_black_list = set([name.lower() for name in [
  'blackparrot',
  'blackucode',
  'blackunicore',
  'earlgrey_nexysvideo',   # ram size in ci machines
  'lpddr',
  'simpleparsertestcache', # race condition
]])

_windows_black_list = _unix_black_list.union(set([name.lower() for name in [
  'ariane',                       # Uses shell script with make command
  'earlgrey_verilator_01_05_21',  # lowmem is unsupported
  'unitpython',                   # Python is unsupported
]]))

_msys2_black_list = _unix_black_list.union(set([name.lower() for name in [
  'earlgrey_verilator_01_05_21', # lowmem is unsupported
]]))


def is_blacklisted(name):
  if platform.system() == 'Windows':
    blacklist = _msys2_black_list if 'MSYSTEM' in os.environ else _windows_black_list
  else:
    blacklist = _unix_black_list
  return name.lower() in blacklist

## Instruction:
Exclude a few failing tests
## Code After:
import os
import platform

# If you are adding a new entry, please include a short comment
# explaining why the specific test is blacklisted.

_unix_black_list = set([name.lower() for name in [
  'blackparrot',
  'blackucode',
  'blackunicore',
  'earlgrey_nexysvideo',    # ram size in ci machines
  'lpddr',
  'rsd',                    # Out of memory on CI machines
  'simpleparsertestcache',  # race condition
]])

_windows_black_list = _unix_black_list.union(set([name.lower() for name in [
  'ariane',                       # Uses shell script with make command
  'earlgrey_verilator_01_05_21',  # lowmem is unsupported
  'unitpython',                   # Python is unsupported
  'verilator',                    # Stack overflow with clang due to expression evaluation
]]))

_msys2_black_list = _unix_black_list.union(set([name.lower() for name in [
  'earlgrey_verilator_01_05_21', # lowmem is unsupported
]]))


def is_blacklisted(name):
  if platform.system() == 'Windows':
    blacklist = _msys2_black_list if 'MSYSTEM' in os.environ else _windows_black_list
  else:
    blacklist = _unix_black_list
  return name.lower() in blacklist
