# These are needed as workaround for the 'verify: false' bug in Jcraft SSH library
BOUNCYCASTLE = [
  '//lib/bouncycastle:bcpkix',
  '//lib/bouncycastle:bcpg',
]

def acceptance_tests(
    srcs,
    deps = [],
    labels = [],
    source_under_test = [],
    vm_args = ['-Xmx256m']):
  from os import environ, path
  if not environ.get('NO_BOUNCYCASTLE'):
    deps = BOUNCYCASTLE + deps
  if path.exists('/dev/urandom'):
    vm_args = vm_args + ['-Djava.security.egd=file:/dev/./urandom']

  for j in srcs:
    java_test(
      name = j[:-len('.java')],
      srcs = [j],
      deps = ['//gerrit-acceptance-tests:lib'] + deps,
      source_under_test = [
        '//gerrit-httpd:httpd',
        '//gerrit-sshd:sshd',
        '//gerrit-server:server',
      ] + source_under_test,
      labels = labels + [
        'acceptance',
        'slow',
      ],
      vm_args = vm_args,
    )
