You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
210 lines
4.3 KiB
210 lines
4.3 KiB
#!/bin/bash
|
|
echo "Kile System Check script..."
|
|
|
|
outfile=$1
|
|
basedir=$2
|
|
|
|
echo "outfile = $1, basedir = $2"
|
|
|
|
goAhead=ok
|
|
|
|
kileDCOP="dcop kile Kile"
|
|
openDoc="$kileDCOP openDocument"
|
|
closeDoc="$kileDCOP closeDocument"
|
|
|
|
declare -i totalnotests=17
|
|
declare -i current=0
|
|
|
|
echo "#script:$0" > $outfile
|
|
echo "#basedir:$basedir" >> $outfile
|
|
|
|
function setTool
|
|
{
|
|
goAhead=ok
|
|
echo "" >> $outfile
|
|
echo "[$*]" >> $outfile
|
|
}
|
|
|
|
function setKey
|
|
{
|
|
key=$1
|
|
shift
|
|
echo "$key=$*" >> $outfile
|
|
}
|
|
|
|
function performTest
|
|
{
|
|
if [ $goAhead != ok ]; then return; fi
|
|
|
|
test=$1
|
|
shift
|
|
$* >/dev/null 2>&1
|
|
declare -i result=$?
|
|
if [ $result -eq 0 ]; then goAhead=ok; else goAhead=notok; fi
|
|
|
|
setKey $test $result
|
|
current=$current+1
|
|
echo $(( (100*$current)/$totalnotests));
|
|
}
|
|
|
|
function performKileTest
|
|
{
|
|
if [ $goAhead != ok ]; then return; fi
|
|
|
|
key=$1
|
|
shift
|
|
declare -i result=`$kileDCOP $*`
|
|
setKey $key $result
|
|
current=$current+1
|
|
echo $(( (100*$current)/$totalnotests));
|
|
}
|
|
|
|
function getVersion
|
|
{
|
|
echo `$* -v || $* -version || $* --version`
|
|
}
|
|
|
|
function getTeXVersion
|
|
{
|
|
($* -v || $* -version || $* --version) | grep '^TeX' | sed 's/TeX\s*\(.*\)\s*([^\s]*)/\1/'
|
|
}
|
|
|
|
cd $basedir
|
|
echo "current dir $PWD"
|
|
|
|
testFile=test_plain.tex
|
|
echo "opening $basedir/$testFile"
|
|
$openDoc $basedir/$testFile
|
|
|
|
echo "starting test: TeX"
|
|
setTool TeX
|
|
tool="tex --interaction=nonstopmode"
|
|
setKey mustpass "where,basic,kile"
|
|
setKey executable tex
|
|
setKey where `which tex`
|
|
setKey version `getTeXVersion tex`
|
|
performTest basic "$tool test_plain.tex"
|
|
performKileTest kile "run TeX"
|
|
|
|
echo "starting test: PDFTeX"
|
|
setTool PDFTeX
|
|
tool="pdftex --interaction=nonstopmode"
|
|
setKey mustpass ""
|
|
setKey executable pdftex
|
|
setKey where `which pdftex`
|
|
performTest basic "$tool test_plain.tex"
|
|
performKileTest kile "run PDFTeX"
|
|
$closeDoc
|
|
|
|
testFileBase="test"
|
|
testFile=$testFileBase.tex
|
|
echo "opening $basedir/$testFile"
|
|
$openDoc $basedir/$testFile
|
|
echo "starting test: LaTeX"
|
|
setTool LaTeX
|
|
tool="latex --interaction=nonstopmode"
|
|
setKey mustpass "where,basic,kile"
|
|
setKey executable latex
|
|
setKey where `which latex`
|
|
performTest basic "$tool $testFile"
|
|
performKileTest kile "run LaTeX"
|
|
performTest src "$tool -src $testFile"
|
|
|
|
echo "starting test: PDFLaTeX"
|
|
setTool PDFLaTeX
|
|
setKey mustpass ""
|
|
setKey executable pdflatex
|
|
setKey where `which pdflatex`
|
|
performTest basic "pdflatex $testFile"
|
|
performKileTest kile "run PDFLaTeX"
|
|
|
|
echo "starting test: DVItoPS"
|
|
setTool DVItoPS
|
|
setKey mustpass ""
|
|
setKey executable dvips
|
|
setKey where `which dvips`
|
|
if [ -r $testFileBase.dvi ]; then performKileTest kile "run DVItoPS"; fi
|
|
|
|
echo "starting test: DVItoPDF"
|
|
setTool DVItoPDF
|
|
setKey mustpass ""
|
|
setKey executable dvipdfm
|
|
setKey where `which dvipdfm`
|
|
if [ -r $testFileBase.dvi ]; then performKileTest kile "run DVItoPDF"; fi
|
|
|
|
echo "starting test: PStoPDF"
|
|
setTool PStoPDF
|
|
setKey mustpass ""
|
|
setKey executable ps2pdf
|
|
setKey where `which ps2pdf`
|
|
if [ -r $testFileBase.ps ]; then performKileTest kile "run PStoPDF"; fi
|
|
$closeDoc
|
|
|
|
echo "starting test: BibTeX"
|
|
setTool BibTeX
|
|
setKey mustpass ""
|
|
setKey executable bibtex
|
|
setKey where `which bibtex`
|
|
if [ -r "test.dvi" ] #LaTeX is working
|
|
then
|
|
testFileBase=test_bib
|
|
testFile=$testFileBase.tex
|
|
$openDoc $basedir/$testFile
|
|
latex --interaction=nonstopmode $testFile
|
|
performTest basic "bibtex $testFileBase"
|
|
performKileTest kile "run BibTeX"
|
|
$closeDoc
|
|
fi
|
|
|
|
echo "starting test: MakeIndex"
|
|
setTool MakeIndex
|
|
setKey mustpass ""
|
|
setKey executable makeindex
|
|
setKey where `which makeindex`
|
|
if [ -r "test.dvi" ] #LaTeX is working
|
|
then
|
|
testFileBase=test_index
|
|
testFile=$testFileBase.tex
|
|
$openDoc $basedir/$testFile
|
|
latex --interaction=nonstopmode $testFile
|
|
performTest basic "makeindex $testFileBase"
|
|
performKileTest kile "run MakeIndex"
|
|
$closeDoc
|
|
fi
|
|
|
|
echo "starting test: KDVI"
|
|
setTool KDVI
|
|
setKey mustpass "where"
|
|
setKey executable kdvi
|
|
setKey where `which kdvi`
|
|
|
|
echo "starting test: KGhostView"
|
|
setTool KGhostView
|
|
setKey mustpass ""
|
|
setKey executable kghostview
|
|
setKey where `which kghostview`
|
|
|
|
echo "starting test: KPDF"
|
|
setTool KPDF
|
|
setKey mustpass ""
|
|
setKey executable kpdf
|
|
setKey where `which kpdf`
|
|
|
|
echo "starting test: Acroread"
|
|
setTool Acroread
|
|
setKey mustpass ""
|
|
setKey executable acroread
|
|
setKey where `which acroread`
|
|
|
|
echo "starting test: DVItoPNG"
|
|
setTool DVItoPNG
|
|
setKey mustpass ""
|
|
setKey executable dvipng
|
|
setKey where `which dvipng`
|
|
|
|
echo "starting test: Convert"
|
|
setTool Convert
|
|
setKey mustpass ""
|
|
setKey executable convert
|
|
setKey where `which convert`
|