Skip to content

Commit ff3814f

Browse files
committed
Issue #IS783: adding support for spider cache filtering
1 parent 4141a28 commit ff3814f

File tree

6 files changed

+149
-0
lines changed

6 files changed

+149
-0
lines changed

rt/spider_filter/err.txt

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
===========================
2+
step 1
3+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing spider
4+
===========================
5+
The following is a list of the modules and extensions currently available:
6+
prod: prod
7+
To learn more about a package execute:
8+
$ module spider Foo
9+
where "Foo" is the name of a module.
10+
To find detailed information about a particular package you
11+
must specify the version if there is more than one version:
12+
$ module spider Foo/11.1
13+
===========================
14+
step 2
15+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing spider
16+
===========================
17+
The following is a list of the modules and extensions currently available:
18+
prod: prod
19+
test: test
20+
To learn more about a package execute:
21+
$ module spider Foo
22+
where "Foo" is the name of a module.
23+
To find detailed information about a particular package you
24+
must specify the version if there is more than one version:
25+
$ module spider Foo/11.1
26+
===========================
27+
step 3
28+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing spider
29+
===========================
30+
The following is a list of the modules and extensions currently available:
31+
prod: prod
32+
To learn more about a package execute:
33+
$ module spider Foo
34+
where "Foo" is the name of a module.
35+
To find detailed information about a particular package you
36+
must specify the version if there is more than one version:
37+
$ module spider Foo/11.1

rt/spider_filter/lmodrc.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
filter_spider_cache_by_modulepath = true
2+
3+
scDescriptT = {
4+
{
5+
["dir"] = os.getenv("PROD_CACHE_DIR"),
6+
["timestamp"] = os.getenv("PROD_TIMESTAMP_FILE"),
7+
},
8+
{
9+
["dir"] = os.getenv("TEST_CACHE_DIR"),
10+
["timestamp"] = os.getenv("TEST_TIMESTAMP_FILE"),
11+
},
12+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
help([[This is the prod module]])
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
help([[This is the test module]])

rt/spider_filter/out.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
===========================
2+
step 1
3+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing spider
4+
===========================
5+
__LMOD_REF_COUNT_MODULEPATH=ProjectDIR/rt/spider_filter/mf_prod/Core:1;
6+
export __LMOD_REF_COUNT_MODULEPATH;
7+
MODULEPATH=ProjectDIR/rt/spider_filter/mf_prod/Core;
8+
export MODULEPATH;
9+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={},mpathA={"ProjectDIR/rt/spider_filter/mf_prod/Core",},systemBaseMPATH="ProjectDIR/rt/spider_filter/mf_prod/Core",}';
10+
export _ModuleTable_;
11+
===========================
12+
step 2
13+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing spider
14+
===========================
15+
__LMOD_REF_COUNT_MODULEPATH=ProjectDIR/rt/spider_filter/mf_prod/Core:1\;ProjectDIR/rt/spider_filter/mf_test/Core:1;
16+
export __LMOD_REF_COUNT_MODULEPATH;
17+
MODULEPATH=ProjectDIR/rt/spider_filter/mf_prod/Core:ProjectDIR/rt/spider_filter/mf_test/Core;
18+
export MODULEPATH;
19+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={},mpathA={"ProjectDIR/rt/spider_filter/mf_prod/Core","ProjectDIR/rt/spider_filter/mf_test/Core",},systemBaseMPATH="ProjectDIR/rt/spider_filter/mf_prod/Core",}';
20+
export _ModuleTable_;
21+
===========================
22+
step 3
23+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing spider
24+
===========================
25+
__LMOD_REF_COUNT_MODULEPATH=ProjectDIR/rt/spider_filter/mf_prod/Core:1;
26+
export __LMOD_REF_COUNT_MODULEPATH;
27+
MODULEPATH=ProjectDIR/rt/spider_filter/mf_prod/Core;
28+
export MODULEPATH;
29+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={},mpathA={"ProjectDIR/rt/spider_filter/mf_prod/Core",},systemBaseMPATH="ProjectDIR/rt/spider_filter/mf_prod/Core",}';
30+
export _ModuleTable_;
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
-- -*- lua -*-
2+
testdescript = {
3+
owner = "rtm",
4+
product = "modules",
5+
description = [[
6+
Test spider cache filtering
7+
]],
8+
keywords = {"spider", "cache", "filter" },
9+
10+
active = 1,
11+
testName = "spider_filter",
12+
job_submit_method = "INTERACTIVE",
13+
14+
runScript = [[
15+
16+
. $(projectDir)/rt/common_funcs.sh
17+
18+
unsetMT
19+
initStdEnvVars
20+
remove_generated_lmod_files
21+
22+
export LMOD_RC=$(testDir)/lmodrc.lua
23+
export PROD_CACHE_DIR=$(outputDir)/mf_prod/cacheDir
24+
export PROD_TIMESTAMP_FILE=$(outputDir)/mf_prod/timestamp
25+
export TEST_CACHE_DIR=$(outputDir)/mf_test/cacheDir
26+
export TEST_TIMESTAMP_FILE=$(outputDir)/mf_test/timestamp
27+
28+
mkdir -p $PROD_CACHE_DIR
29+
mkdir -p $TEST_CACHE_DIR
30+
buildSpiderT $(testDir)/mf_prod/Core > $PROD_CACHE_DIR/spiderT.lua
31+
buildSpiderT $(testDir)/mf_test/Core > $TEST_CACHE_DIR/spiderT.lua
32+
touch $PROD_TIMESTAMP_FILE
33+
touch $TEST_TIMESTAMP_FILE
34+
35+
export MODULEPATH=$(testDir)/mf_prod/Core
36+
runLmod spider # 1
37+
38+
export MODULEPATH=$(testDir)/mf_prod/Core:$(testDir)/mf_test/Core
39+
runLmod spider # 2
40+
41+
export MODULEPATH=$(testDir)/mf_prod/Core
42+
runLmod spider # 3
43+
44+
HOME=$ORIG_HOME
45+
46+
cat _stdout.[0-9][0-9][0-9] > _stdout.orig
47+
joinBase64Results -bash _stdout.orig _stdout.new
48+
cleanUp _stdout.new out.txt
49+
50+
cat _stderr.[0-9][0-9][0-9] > _stderr.orig
51+
cleanUp _stderr.orig err.txt
52+
53+
rm -f results.csv
54+
wrapperDiff --csv results.csv $(testDir)/out.txt out.txt
55+
wrapperDiff --csv results.csv $(testDir)/err.txt err.txt
56+
testFinish -r $(resultFn) -t $(runtimeFn) results.csv
57+
]],
58+
59+
60+
blessScript = [[
61+
# perform what is needed
62+
]],
63+
64+
tests = {
65+
{ id='t1'},
66+
},
67+
68+
}

0 commit comments

Comments
 (0)