kvm-recheck.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/bash
  2. #
  3. # Given the results directories for previous KVM-based torture runs,
  4. # check the build and console output for errors. Given a directory
  5. # containing results directories, this recursively checks them all.
  6. #
  7. # Usage: kvm-recheck.sh resdir ...
  8. #
  9. # This program is free software; you can redistribute it and/or modify
  10. # it under the terms of the GNU General Public License as published by
  11. # the Free Software Foundation; either version 2 of the License, or
  12. # (at your option) any later version.
  13. #
  14. # This program is distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. # GNU General Public License for more details.
  18. #
  19. # You should have received a copy of the GNU General Public License
  20. # along with this program; if not, you can access it online at
  21. # http://www.gnu.org/licenses/gpl-2.0.html.
  22. #
  23. # Copyright (C) IBM Corporation, 2011
  24. #
  25. # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
  26. PATH=`pwd`/tools/testing/selftests/rcutorture/bin:$PATH; export PATH
  27. . tools/testing/selftests/rcutorture/bin/functions.sh
  28. for rd in "$@"
  29. do
  30. firsttime=1
  31. dirs=`find $rd -name Make.defconfig.out -print | sort | sed -e 's,/[^/]*$,,' | sort -u`
  32. for i in $dirs
  33. do
  34. if test -n "$firsttime"
  35. then
  36. firsttime=""
  37. resdir=`echo $i | sed -e 's,/$,,' -e 's,/[^/]*$,,'`
  38. head -1 $resdir/log
  39. fi
  40. TORTURE_SUITE="`cat $i/../TORTURE_SUITE`"
  41. kvm-recheck-${TORTURE_SUITE}.sh $i
  42. if test -f "$i/console.log"
  43. then
  44. configcheck.sh $i/.config $i/ConfigFragment
  45. if test -r $i/Make.oldconfig.err
  46. then
  47. cat $i/Make.oldconfig.err
  48. fi
  49. parse-build.sh $i/Make.out $configfile
  50. if test "$TORTURE_SUITE" != rcuperf
  51. then
  52. parse-torture.sh $i/console.log $configfile
  53. fi
  54. parse-console.sh $i/console.log $configfile
  55. if test -r $i/Warnings
  56. then
  57. cat $i/Warnings
  58. fi
  59. else
  60. if test -f "$i/qemu-cmd"
  61. then
  62. print_bug qemu failed
  63. echo " $i"
  64. elif test -f "$i/buildonly"
  65. then
  66. echo Build-only run, no boot/test
  67. configcheck.sh $i/.config $i/ConfigFragment
  68. parse-build.sh $i/Make.out $configfile
  69. else
  70. print_bug Build failed
  71. echo " $i"
  72. fi
  73. fi
  74. done
  75. done