Skip to content

Commit 04bfb34

Browse files
author
Robert McLay
committed
Merge branch 'main' into IS741-dash
2 parents 3ae4a71 + 1f416cc commit 04bfb34

File tree

7 files changed

+153
-1
lines changed

7 files changed

+153
-1
lines changed

rt/load_hook/SitePackage.lua

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
local hook = require("Hook")
2+
3+
local function xcc_depend_hook(t)
4+
-- the arg t is a table:
5+
-- t.modFullName: the module full name: (i.e: gcc/4.7.2)
6+
-- t.fn: The file name: (i.e /apps/modulefiles/Core/gcc/4.7.2.lua)
7+
-- t.mname: The Module Name object.
8+
9+
if (t.modFullName:find("xcc")) then
10+
depends_on("d")
11+
end
12+
end
13+
14+
hook.register("load", xcc_depend_hook)
15+
hook.register("unload", xcc_depend_hook)
16+

rt/load_hook/err.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
===========================
2+
step 1
3+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing --version
4+
===========================
5+
Modules based on Lua: Version 8.7.55 2024-12-13 12:24 -07:00
6+
by Robert McLay mclay@tacc.utexas.edu
7+
===========================
8+
step 2
9+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing load xcc
10+
===========================
11+
===========================
12+
step 3
13+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing list
14+
===========================
15+
Currently Loaded Modules:
16+
1) xcc/1.0 2) d/2.0
17+
===========================
18+
step 4
19+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing unload xcc
20+
===========================
21+
===========================
22+
step 5
23+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing list
24+
===========================
25+
No modules loaded

rt/load_hook/load_hook.tdesc

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
-- -*- lua -*-
2+
testdescript = {
3+
owner = "rtm",
4+
product = "modules",
5+
description = [[
6+
Test load hook
7+
]],
8+
keywords = {"load_hook" },
9+
10+
active = 1,
11+
testName = "load_hook",
12+
job_submit_method = "INTERACTIVE",
13+
14+
runScript = [[
15+
16+
. $(projectDir)/rt/common_funcs.sh
17+
18+
unsetMT
19+
initStdEnvVars
20+
LUA=`findcmd lua`
21+
ORIGINAL_PATH=$PATH
22+
MODULEPATH_ROOT=$(testDir)/mf; export MODULEPATH_ROOT
23+
MODULEPATH=$MODULEPATH_ROOT/Core; export MODULEPATH
24+
25+
remove_generated_lmod_files
26+
27+
export LMOD_PACKAGE_PATH=$(testDir)
28+
runLmod --version # 1
29+
runLmod load xcc # 2
30+
runLmod list # 3
31+
runLmod unload xcc # 4
32+
runLmod list # 5
33+
34+
HOME=$ORIG_HOME
35+
PATH=$ORIGINAL_PATH
36+
37+
cat _stdout.[0-9][0-9][0-9] > _stdout.orig
38+
joinBase64Results -bash _stdout.orig _stdout.new
39+
cleanUp _stdout.new out.txt
40+
41+
cat _stderr.[0-9][0-9][0-9] > _stderr.orig
42+
cleanUp _stderr.orig err.txt
43+
44+
rm -f results.csv
45+
wrapperDiff --csv results.csv $(testDir)/out.txt out.txt
46+
wrapperDiff --csv results.csv $(testDir)/err.txt err.txt
47+
testFinish -r $(resultFn) -t $(runtimeFn) results.csv
48+
]],
49+
50+
51+
blessScript = [[
52+
# perform what is needed
53+
]],
54+
55+
tests = {
56+
{ id='t1'},
57+
},
58+
59+
}

rt/load_hook/mf/Core/d/2.0.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
setenv("D","2.0")

rt/load_hook/mf/Core/xcc/1.0.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
setenv("XCC","1.0")

rt/load_hook/out.txt

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
===========================
2+
step 1
3+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing --version
4+
===========================
5+
===========================
6+
step 2
7+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing load xcc
8+
===========================
9+
D=2.0;
10+
export D;
11+
LOADEDMODULES=xcc/1.0:d/2.0;
12+
export LOADEDMODULES;
13+
__LMOD_REF_COUNT_MODULEPATH=ProjectDIR/rt/load_hook/mf/Core:1;
14+
export __LMOD_REF_COUNT_MODULEPATH;
15+
MODULEPATH=ProjectDIR/rt/load_hook/mf/Core;
16+
export MODULEPATH;
17+
XCC=1.0;
18+
export XCC;
19+
_LMFILES_=ProjectDIR/rt/load_hook/mf/Core/xcc/1.0.lua:ProjectDIR/rt/load_hook/mf/Core/d/2.0.lua;
20+
export _LMFILES_;
21+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={d={fn="ProjectDIR/rt/load_hook/mf/Core/d/2.0.lua",fullName="d/2.0",loadOrder=2,propT={},ref_count=1,stackDepth=1,status="active",userName="d",wV="000000002.*zfinal",},xcc={fn="ProjectDIR/rt/load_hook/mf/Core/xcc/1.0.lua",fullName="xcc/1.0",loadOrder=1,propT={},stackDepth=0,status="active",userName="xcc",wV="000000001.*zfinal",},},mpathA={"ProjectDIR/rt/load_hook/mf/Core",},systemBaseMPATH="ProjectDIR/rt/load_hook/mf/Core",}';
22+
export _ModuleTable_;
23+
===========================
24+
step 3
25+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing list
26+
===========================
27+
MODULEPATH=ProjectDIR/rt/load_hook/mf/Core;
28+
export MODULEPATH;
29+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={d={fn="ProjectDIR/rt/load_hook/mf/Core/d/2.0.lua",fullName="d/2.0",loadOrder=2,propT={},ref_count=1,stackDepth=1,status="active",userName="d",wV="000000002.*zfinal",},xcc={fn="ProjectDIR/rt/load_hook/mf/Core/xcc/1.0.lua",fullName="xcc/1.0",loadOrder=1,propT={},stackDepth=0,status="active",userName="xcc",wV="000000001.*zfinal",},},mpathA={"ProjectDIR/rt/load_hook/mf/Core",},systemBaseMPATH="ProjectDIR/rt/load_hook/mf/Core",}';
30+
export _ModuleTable_;
31+
===========================
32+
step 4
33+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing unload xcc
34+
===========================
35+
unset D;
36+
unset LOADEDMODULES;
37+
MODULEPATH=ProjectDIR/rt/load_hook/mf/Core;
38+
export MODULEPATH;
39+
unset XCC;
40+
unset _LMFILES_;
41+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={},mpathA={"ProjectDIR/rt/load_hook/mf/Core",},systemBaseMPATH="ProjectDIR/rt/load_hook/mf/Core",}';
42+
export _ModuleTable_;
43+
===========================
44+
step 5
45+
lua ProjectDIR/src/lmod.in.lua shell --regression_testing list
46+
===========================
47+
MODULEPATH=ProjectDIR/rt/load_hook/mf/Core;
48+
export MODULEPATH;
49+
_ModuleTable_='_ModuleTable_={MTversion=3,depthT={},family={},mT={},mpathA={"ProjectDIR/rt/load_hook/mf/Core",},systemBaseMPATH="ProjectDIR/rt/load_hook/mf/Core",}';
50+
export _ModuleTable_;

src/Hub.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ function M.unload(self,mA)
570570
mt = frameStk:mt()
571571
mt:remove(sn)
572572
--l_registerUnloaded(fullName, fn)
573-
hook.apply("unload",{fn = mname:fn(), modFullName = mname:fullName()})
573+
hook.apply("unload",{fn = mname:fn(), modFullName = mname:fullName(), mname = mname})
574574
end
575575
frameStk:pop()
576576
a[#a+1] = status

0 commit comments

Comments
 (0)