-- -*- lua -*-
local testName = "cache"
testdescript = {
   owner   = "rtm",
   product = "modules",
   description = [[
	 Test initial module load
   ]],
   keywords = {testName },

   active = 1,
   testName = testName,
   job_submit_method = "INTERACTIVE",

   runScript = [[

     . $(projectDir)/rt/common_funcs.sh

     unsetMT
     initStdEnvVars
     MODULEPATH_ROOT=$(testDir)/mf;     export MODULEPATH_ROOT
     MODULEPATH=$MODULEPATH_ROOT/Core;  export MODULEPATH

     rm -fr _stderr.* _stdout.* err.* out.* .lmod.d cacheDir .lmodrc.lua fn
     cp $(projectDir)/init/lmodrc.lua .lmodrc.lua

     cat > fn << EOF
$(outputDir)/cacheDir: $(outputDir)/last_update
EOF

     lua $(projectDir)/src/spiderCacheSupport.in.lua --descriptFn fn >> .lmodrc.lua
     mkdir cacheDir

     runLmod --version        # 1
     runLmod spider           # 2
     buildSpiderT $MODULEPATH > cacheDir/spiderT.lua.old
     touch last_update
     cp cacheDir/spiderT.lua.old  cacheDir/spiderT.lua
     runLmod spider           # 3

     mkdir -p .lmod.d/.cache
     mv cacheDir/spiderT.lua .lmod.d/.cache
     runLmod spider           # 4

     cat > .lmod.d/.cache/spiderT.lua << EOF
spiderT = {
#
}
EOF
     runLmod spider           # 5

     HOME=$ORIG_HOME

     cat _stdout.[0-9][0-9][0-9] > _stdout.orig
     joinBase64Results -bash _stdout.orig _stdout.new
     cleanUp _stdout.new out.txt

     cat _stderr.[0-9][0-9][0-9] > _stderr.orig
     cleanUp _stderr.orig err.txt

     rm -f results.csv
     wrapperDiff --csv results.csv $(testDir)/out.txt out.txt
     wrapperDiff --csv results.csv $(testDir)/err.txt err.txt
     testFinish -r $(resultFn) -t $(runtimeFn) results.csv
   ]],


   blessScript = [[
         # perform what is needed
   ]],

   tests = {
      { id='t1'},
   },

}
