Megatest

Hex Artifact Content
Login

Artifact 3b78e9fde2c569974ff4579b176d357edbd3a0dc:


0000: 23 21 2f 62 69 6e 2f 62 61 73 68 0a 0a 70 72 65  #!/bin/bash..pre
0010: 66 69 78 3d 24 31 0a 63 6d 64 3d 24 32 0a 74 61  fix=$1.cmd=$2.ta
0020: 72 67 65 74 3d 24 33 0a 63 66 67 66 69 6c 65 3d  rget=$3.cfgfile=
0030: 22 24 70 72 65 66 69 78 2f 62 69 6e 2f 2e 24 28  "$prefix/bin/.$(
0040: 6c 73 62 5f 72 65 6c 65 61 73 65 20 2d 73 72 29  lsb_release -sr)
0050: 2f 63 66 67 2e 73 68 22 0a 0a 69 66 20 5b 20 22  /cfg.sh"..if [ "
0060: 24 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48  $LD_LIBRARY_PATH
0070: 22 20 21 3d 20 22 22 20 5d 3b 74 68 65 6e 0a 20  " != "" ];then. 
0080: 20 65 63 68 6f 20 22 49 4e 46 4f 3a 20 55 73 69   echo "INFO: Usi
0090: 6e 67 20 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41  ng LD_LIBRARY_PA
00a0: 54 48 3d 24 4c 44 5f 4c 49 42 52 41 52 59 5f 50  TH=$LD_LIBRARY_P
00b0: 41 54 48 22 20 3e 26 32 0a 28 20 63 61 74 20 3c  ATH" >&2.( cat <
00c0: 3c 20 5f 5f 45 4f 46 0a 69 66 20 5b 20 22 5c 24  < __EOF.if [ "\$
00d0: 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 22  LD_LIBRARY_PATH"
00e0: 20 21 3d 20 22 22 20 5d 3b 74 68 65 6e 0a 20 20   != "" ];then.  
00f0: 65 78 70 6f 72 74 20 4c 44 5f 4c 49 42 52 41 52  export LD_LIBRAR
0100: 59 5f 50 41 54 48 3d 24 4c 44 5f 4c 49 42 52 41  Y_PATH=$LD_LIBRA
0110: 52 59 5f 50 41 54 48 3a 5c 24 4c 44 5f 4c 49 42  RY_PATH:\$LD_LIB
0120: 52 41 52 59 5f 50 41 54 48 0a 65 6c 73 65 0a 20  RARY_PATH.else. 
0130: 20 65 78 70 6f 72 74 20 4c 44 5f 4c 49 42 52 41   export LD_LIBRA
0140: 52 59 5f 50 41 54 48 3d 24 4c 44 5f 4c 49 42 52  RY_PATH=$LD_LIBR
0150: 41 52 59 5f 50 41 54 48 0a 66 69 0a 5f 5f 45 4f  ARY_PATH.fi.__EO
0160: 46 0a 29 20 3e 20 24 63 66 67 66 69 6c 65 0a 20  F.) > $cfgfile. 
0170: 20 65 63 68 6f 20 0a 65 6c 73 65 0a 20 20 65 63   echo .else.  ec
0180: 68 6f 20 22 49 4e 46 4f 3a 20 4c 44 5f 4c 49 42  ho "INFO: LD_LIB
0190: 52 41 52 59 5f 50 41 54 48 20 6e 6f 74 20 73 65  RARY_PATH not se
01a0: 74 22 20 3e 26 32 0a 66 69 0a 0a 65 63 68 6f 20  t" >&2.fi..echo 
01b0: 22 23 21 2f 62 69 6e 2f 62 61 73 68 22 20 3e 20  "#!/bin/bash" > 
01c0: 24 74 61 72 67 65 74 0a 0a 69 66 20 5b 5b 20 24  $target..if [[ $
01d0: 63 6d 64 20 3d 7e 20 64 62 6f 61 72 64 20 5d 5d  cmd =~ dboard ]]
01e0: 3b 20 74 68 65 6e 0a 20 20 20 20 63 61 74 20 3e  ; then.    cat >
01f0: 3e 20 24 74 61 72 67 65 74 20 3c 3c 27 45 4f 46  > $target <<'EOF
0200: 27 0a 0a 23 20 23 20 64 69 73 61 62 6c 65 20 69  '..# # disable i
0210: 66 20 6e 6f 74 20 72 75 6e 6e 69 6e 67 20 6f 6e  f not running on
0220: 20 68 6f 6d 65 68 6f 73 74 0a 23 20 69 66 20 5b   homehost.# if [
0230: 5b 20 2d 65 20 2e 68 6f 6d 65 68 6f 73 74 20 5d  [ -e .homehost ]
0240: 5d 3b 20 74 68 65 6e 0a 23 20 20 20 68 6f 6d 65  ]; then.#   home
0250: 68 6f 73 74 6e 61 6d 65 3d 24 28 20 68 6f 73 74  hostname=$( host
0260: 20 60 63 61 74 20 2e 68 6f 6d 65 68 6f 73 74 60   `cat .homehost`
0270: 20 7c 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 24   | awk '{print $
0280: 4e 46 7d 27 20 7c 20 73 65 64 20 27 73 2f 5c 2e  NF}' | sed 's/\.
0290: 24 2f 2f 27 20 29 0a 23 20 20 20 68 6f 73 74 6e  $//' ).#   hostn
02a0: 61 6d 65 3d 24 28 20 68 6f 73 74 6e 61 6d 65 20  ame=$( hostname 
02b0: 2d 66 20 29 0a 23 20 0a 23 20 20 20 69 66 20 5b  -f ).# .#   if [
02c0: 5b 20 21 20 28 24 68 6f 6d 65 68 6f 73 74 6e 61  [ ! ($homehostna
02d0: 6d 65 20 3d 3d 20 24 68 6f 73 74 6e 61 6d 65 29  me == $hostname)
02e0: 20 5d 5d 3b 20 74 68 65 6e 0a 23 20 20 20 20 20   ]]; then.#     
02f0: 65 63 68 6f 20 22 45 52 52 4f 52 3a 20 74 68 69  echo "ERROR: thi
0300: 73 20 68 6f 73 74 20 28 24 68 6f 73 74 6e 61 6d  s host ($hostnam
0310: 65 29 20 69 73 20 6e 6f 74 20 74 68 65 20 68 6f  e) is not the ho
0320: 6d 65 68 6f 73 74 20 28 24 68 6f 6d 65 68 6f 73  mehost ($homehos
0330: 74 6e 61 6d 65 29 20 66 6f 72 20 74 68 69 73 20  tname) for this 
0340: 6d 65 67 61 74 65 73 74 20 72 75 6e 20 61 72 65  megatest run are
0350: 61 2e 20 20 43 61 6e 6e 6f 74 20 73 74 61 72 74  a.  Cannot start
0360: 20 64 61 73 68 62 6f 61 72 64 2e 22 0a 23 20 20   dashboard.".#  
0370: 20 20 20 65 63 68 6f 20 22 20 20 20 20 20 20 20     echo "       
0380: 50 6c 65 61 73 65 20 6c 6f 67 20 69 6e 74 6f 20  Please log into 
0390: 68 6f 6d 65 68 6f 73 74 20 62 65 66 6f 72 65 20  homehost before 
03a0: 6c 61 75 6e 63 68 69 6e 67 20 64 61 73 68 62 6f  launching dashbo
03b0: 61 72 64 2e 22 0a 23 20 20 20 20 20 65 78 69 74  ard.".#     exit
03c0: 20 31 0a 23 20 20 20 66 69 0a 23 20 66 69 0a 0a   1.#   fi.# fi..
03d0: 23 20 63 68 65 63 6b 20 74 68 61 74 20 24 44 49  # check that $DI
03e0: 53 50 4c 41 59 20 69 73 20 73 65 74 0a 69 66 20  SPLAY is set.if 
03f0: 5b 5b 20 2d 7a 20 24 44 49 53 50 4c 41 59 20 5d  [[ -z $DISPLAY ]
0400: 5d 3b 20 74 68 65 6e 0a 20 20 20 65 63 68 6f 20  ]; then.   echo 
0410: 27 45 52 52 4f 52 3a 20 24 44 49 53 50 4c 41 59  'ERROR: $DISPLAY
0420: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72   environment var
0430: 69 61 62 6c 65 20 69 73 20 6e 6f 74 20 73 65 74  iable is not set
0440: 3b 20 6d 65 67 61 74 65 73 74 20 64 61 73 68 62  ; megatest dashb
0450: 6f 61 72 64 20 72 65 71 75 69 72 65 73 20 58 20  oard requires X 
0460: 64 69 73 70 6c 61 79 20 61 64 64 72 65 73 73 20  display address 
0470: 74 6f 20 62 65 20 73 65 74 20 69 6e 20 24 44 49  to be set in $DI
0480: 53 50 4c 41 59 2e 27 0a 20 20 20 65 78 69 74 20  SPLAY.'.   exit 
0490: 31 0a 66 69 0a 0a 23 20 63 68 65 63 6b 20 74 68  1.fi..# check th
04a0: 61 74 20 24 44 49 53 50 4c 41 59 20 69 73 20 70  at $DISPLAY is p
04b0: 72 6f 70 65 72 0a 69 66 20 5b 5b 20 2d 78 20 24  roper.if [[ -x $
04c0: 28 77 68 69 63 68 20 78 64 70 79 69 6e 66 6f 20  (which xdpyinfo 
04d0: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 20 5d 5d   2>/dev/null) ]]
04e0: 3b 20 74 68 65 6e 0a 20 20 69 66 20 21 20 78 64  ; then.  if ! xd
04f0: 70 79 69 6e 66 6f 20 2d 64 69 73 70 6c 61 79 20  pyinfo -display 
0500: 22 24 44 49 53 50 4c 41 59 22 20 26 3e 2f 64 65  "$DISPLAY" &>/de
0510: 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 20 20 20  v/null; then.   
0520: 20 65 63 68 6f 20 27 45 52 52 4f 52 3a 20 6d 65   echo 'ERROR: me
0530: 67 61 74 65 73 74 20 64 61 73 68 62 6f 61 72 64  gatest dashboard
0540: 20 63 61 6e 6e 6f 74 20 6f 70 65 6e 20 64 69 73   cannot open dis
0550: 70 6c 61 79 20 22 27 24 44 49 53 50 4c 41 59 27  play "'$DISPLAY'
0560: 22 2e 20 20 50 6c 65 61 73 65 20 63 68 65 63 6b  ".  Please check
0570: 20 24 44 49 53 50 4c 41 59 20 65 6e 76 69 72 6f   $DISPLAY enviro
0580: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 27  nment variable.'
0590: 0a 20 20 20 20 65 78 69 74 20 31 0a 20 20 66 69  .    exit 1.  fi
05a0: 0a 66 69 0a 45 4f 46 0a 0a 66 69 0a 0a 63 61 74  .fi.EOF..fi..cat
05b0: 20 3e 3e 20 24 74 61 72 67 65 74 20 3c 3c 20 45   >> $target << E
05c0: 4f 46 20 0a 69 66 20 5b 5b 20 5c 24 28 75 6c 69  OF .if [[ \$(uli
05d0: 6d 69 74 20 2d 61 20 7c 20 67 72 65 70 20 27 6f  mit -a | grep 'o
05e0: 70 65 6e 20 66 69 6c 65 73 27 20 7c 20 61 77 6b  pen files' | awk
05f0: 20 27 7b 70 72 69 6e 74 20 5c 24 34 7d 27 29 20   '{print \$4}') 
0600: 2d 67 74 20 31 30 30 30 30 20 5d 5d 3b 74 68 65  -gt 10000 ]];the
0610: 6e 20 75 6c 69 6d 69 74 20 2d 6e 20 31 30 30 30  n ulimit -n 1000
0620: 30 3b 66 69 0a 45 4f 46 0a 0a 23 20 65 63 68 6f  0;fi.EOF..# echo
0630: 20 22 23 21 2f 62 69 6e 2f 62 61 73 68 22 20 3e   "#!/bin/bash" >
0640: 20 24 74 61 72 67 65 74 0a 23 20 65 63 68 6f 20   $target.# echo 
0650: 22 65 78 65 63 20 24 70 72 65 66 69 78 2f 62 69  "exec $prefix/bi
0660: 6e 2f 2e 5c 24 28 6c 73 62 5f 72 65 6c 65 61 73  n/.\$(lsb_releas
0670: 65 20 2d 73 72 29 2f 24 63 6d 64 20 5c 22 5c 24  e -sr)/$cmd \"\$
0680: 40 5c 22 22 20 3e 3e 20 24 74 61 72 67 65 74 0a  @\"" >> $target.
0690: 0a 65 63 68 6f 20 22 6c 73 62 72 3d 5c 24 28 6c  .echo "lsbr=\$(l
06a0: 73 62 5f 72 65 6c 65 61 73 65 20 2d 73 72 29 22  sb_release -sr)"
06b0: 20 3e 3e 20 24 74 61 72 67 65 74 0a 69 66 20 5b   >> $target.if [
06c0: 20 22 24 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41   "$LD_LIBRARY_PA
06d0: 54 48 22 20 21 3d 20 22 22 20 5d 3b 74 68 65 6e  TH" != "" ];then
06e0: 0a 20 20 65 63 68 6f 20 22 73 6f 75 72 63 65 20  .  echo "source 
06f0: 24 70 72 65 66 69 78 2f 62 69 6e 2f 2e 5c 24 6c  $prefix/bin/.\$l
0700: 73 62 72 2f 63 66 67 2e 73 68 22 20 3e 3e 20 24  sbr/cfg.sh" >> $
0710: 74 61 72 67 65 74 0a 66 69 0a 0a 23 20 65 63 68  target.fi..# ech
0720: 6f 20 22 69 66 20 5b 5b 20 2d 65 20 5c 24 6c 73  o "if [[ -e \$ls
0730: 62 72 20 5d 5d 3b 74 68 65 6e 20 73 6f 75 72 63  br ]];then sourc
0740: 65 20 5c 24 6c 73 62 72 3b 66 69 22 20 3e 3e 20  e \$lsbr;fi" >> 
0750: 24 74 61 72 67 65 74 0a 65 63 68 6f 20 22 65 78  $target.echo "ex
0760: 65 63 20 24 70 72 65 66 69 78 2f 62 69 6e 2f 2e  ec $prefix/bin/.
0770: 5c 24 6c 73 62 72 2f 24 63 6d 64 20 5c 22 5c 24  \$lsbr/$cmd \"\$
0780: 40 5c 22 22 20 3e 3e 20 24 74 61 72 67 65 74 0a  @\"" >> $target.