403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/nami/node_modules/mocha-multi/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/nami/node_modules/mocha-multi/verify
#!/bin/bash

mocha_multi="mocha-multi.js"
normal="\033[0m"

function log {
  local color
  if [ "$2" = "info" ]; then
    color="" # normal
  elif [ "$2" = "fail" ]; then
    color="\033[01;31m" # red
  elif [ "$2" = "pass" ]; then
    color="\033[01;32m" # green
  else
    color="\033[01;30m" # grey
  fi
  echo -e "${color}VERIFY: $1${normal}" 1>&2
}

function normalise_timers {
  local file=$1
  cmd="sed -i'.bak' -e 's/[0-9]\{1,\}\(\.[0-9]\{1,\}\)\{0,1\}/0/g' '$file'"
  eval $cmd
  rm "$file.bak"
}

# pipe through cat to ensure istty = false, but capture exit code
function eval_notty {
  log "Running formatter $1: $2"
  eval $2 | cat
  return ${PIPESTATUS[0]}
}

function compare {
  local reporter=$1

  log "Running comparison for $reporter" info

  local builtin_out=$(mktemp /tmp/mocha-multi.XXXXXXXXX)
  local multi_env_out=$(mktemp /tmp/mocha-multi.XXXXXXXXX)
  local multi_arg_out=$(mktemp /tmp/mocha-multi.XXXXXXXXX)
  local multi_file_in=$(mktemp /tmp/mocha-multi.XXXXXXXXX)
  local multi_file_out=$(mktemp /tmp/mocha-multi.XXXXXXXXX)

  local builtin_cmd="mocha -R $reporter &> $builtin_out"
  eval_notty "normally" "$builtin_cmd"
  local builtin_result=$?
  normalise_timers $builtin_out

  local multi_env_cmd="multi='$reporter=$multi_env_out' mocha -R $mocha_multi"
  eval_notty "via mocha-multi using environment variable" "$multi_env_cmd"
  local multi_env_result=$?
  normalise_timers $multi_env_out

  local multi_arg_cmd="mocha -R $mocha_multi --reporter-options '$reporter=$multi_arg_out'"
  eval_notty "via mocha-multi using --reporter-options" "$multi_arg_cmd"
  local multi_arg_result=$?
  normalise_timers $multi_arg_out

  echo "{\"$reporter\": \"$multi_file_out\"}" > "$multi_file_in"
  local multi_file_cmd="mocha -R $mocha_multi --reporter-options 'mocha-multi=$multi_file_in'"
  eval_notty "via mocha-multi using file" "$multi_file_cmd"
  local multi_file_result=$?
  normalise_timers $multi_file_out

  log "Comparing exit codes"

  if [ "$builtin_result" = "$multi_arg_result" -a "$builtin_result" = "$multi_env_result" -a "$builtin_result" = "$multi_file_result" ]; then
    log 'Codes match, hooray!' pass
  else
    log "Codes do not match" fail
    log "Result ${normal}$builtin_result"
    log "Result (env) ${normal}$multi_env_result"
    log "Result (arg) ${normal}$multi_arg_result"
    log "Result (file) ${normal}$multi_file_result"
    return 1
  fi

  log "Comparing output"

  local diff_cmd_env="diff -U1 -Lbuiltin -Lmulti $builtin_out $multi_env_out"
  log "Running $diff_cmd_env"
  local difference_env=$($diff_cmd_env)

  local diff_cmd_arg="diff -U1 -Lbuiltin -Lmulti $builtin_out $multi_arg_out"
  log "Running $diff_cmd_arg"
  local difference_arg=$($diff_cmd_arg)

  local diff_cmd_file="diff -U1 -Lbuiltin -Lmulti $builtin_out $multi_file_out"
  log "Running $diff_cmd_file"
  local difference_file=$($diff_cmd_file)

  rm "$builtin_out" "$multi_env_out" "$multi_arg_out" "$multi_file_out" "$multi_file_in"

  if [ "$difference_env" = "" -a "$difference_arg" = ""  -a "$difference_file" = "" ]; then
    log 'Output matches, hooray!' pass
    return 0
  else
    log "Output does not match" fail
    log "Difference (env)\n${normal}$difference_env"
    log "Difference (arg)\n${normal}$difference_arg"
    log "Difference (file)\n${normal}$difference_file"
    return 1
  fi
}

badfilecheck="ERROR: Missing or malformed options file 'missing.json' -- Error: ENOENT: no such file or directory, open 'missing.json'"
badfile=`mocha --reporter "$mocha_multi" --reporter-options mocha-multi=missing.json --recursive test 2>&1`
log "$badfile"
if [ "$badfile" != "$badfilecheck" ]; then
  log "Wrong error message trying to load missing options file" fail
  exit 1
else
  log "Correct error message trying to load missing options file" pass
fi

if [ "$1" = "" ]; then
  log "No reporter chosen"
  exit 1
fi

if [ "$1" = "all" ]; then
  reporters=(\
    dot doc spec json progress \
    list tap landing xunit min \
    json-stream markdown nyan\
  )
  result=0
  for reporter in ${reporters[@]}; do
     compare $reporter
     result=$(($result + $?))
  done
  exit $result
else
  compare $1
fi

Youez - 2016 - github.com/yon3zu
LinuXploit