Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
mpsd-software-manager
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
MPSD Computational Science
mpsd-software-manager
Merge requests
!57
Try remove cmd
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Try remove cmd
try-remove-cmd
into
main
Overview
2
Commits
20
Pipelines
13
Changes
2
Merged
Ashwin Kumar Karnad
requested to merge
try-remove-cmd
into
main
1 year ago
Overview
2
Commits
20
Pipelines
13
Changes
1
Expand
0
0
Merge request reports
Compare
version 11
version 12
eddd7928
1 year ago
version 11
50af49bf
1 year ago
version 10
99e42d9b
1 year ago
version 9
fb41c627
1 year ago
version 8
afade2a4
1 year ago
version 7
e69af30b
1 year ago
version 6
4533270d
1 year ago
version 5
16b6a518
1 year ago
version 4
1570fc9a
1 year ago
version 3
dfdbf1be
1 year ago
version 2
683fd2ac
1 year ago
version 1
a6a7e4a2
1 year ago
main (base)
and
version 12
latest version
2d25fe62
20 commits,
1 year ago
version 12
eddd7928
19 commits,
1 year ago
version 11
50af49bf
18 commits,
1 year ago
version 10
99e42d9b
17 commits,
1 year ago
version 9
fb41c627
16 commits,
1 year ago
version 8
afade2a4
15 commits,
1 year ago
version 7
e69af30b
14 commits,
1 year ago
version 6
4533270d
13 commits,
1 year ago
version 5
16b6a518
11 commits,
1 year ago
version 4
1570fc9a
10 commits,
1 year ago
version 3
dfdbf1be
5 commits,
1 year ago
version 2
683fd2ac
6 commits,
1 year ago
version 1
a6a7e4a2
2 commits,
1 year ago
Show latest version
1 file
+
1
−
0
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
test_mpsd-software.py
+
57
−
13
Options
@@ -344,6 +344,14 @@ def test_install_environment_zlib():
)
assert
len
(
build_log
)
==
4
# test that the removal now works
# mod.remove_environment(
# mpsd_release=mpsd_release_to_test,
# package_sets=[package_set_to_test],
# root_dir=root_dir,
# )
# # ensure that the module files are removed
def
test_metadata_logging
(
tmp_path
):
"""
Test that metadata is logged and read correctly.
"""
@@ -446,32 +454,68 @@ def test_create_log_file_names():
assert
build_log_file_name
is
None
def
test_environment_status
(
tmp_path
):
"""
Test that the environment status is correct.
"""
toolchain_map
=
mod
.
environment_status
(
"
fake-release
"
,
tmp_path
)
assert
toolchain_map
is
None
# create a fake environment
mpsd_release
=
"
dev-23a
"
test_microarch
=
mod
.
get_native_microarchitecture
()
expected_toolchain_map
=
{
test_microarch
:
[
"
foss2021a
"
,
"
intel2021a
"
]}
def
create_fake_environment
(
tmp_path
,
mpsd_release
,
expected_toolchain_map
=
None
):
"""
Create a fake environment with toolchains for testing.
"""
if
not
expected_toolchain_map
:
test_microarch
=
mod
.
get_native_microarchitecture
()
expected_toolchain_map
=
{
test_microarch
:
[
"
foss2021a
"
,
"
intel2021a
"
]}
for
microarch
in
expected_toolchain_map
.
keys
():
toolchain_lmod_folder
=
(
tmp_path
/
mpsd_release
/
microarch
/
"
lmod
"
/
"
Core
"
/
"
toolchains
"
)
toolchain_lmod_folder
.
mkdir
(
parents
=
True
)
toolchain_lmod_folder
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
spack_folder
=
tmp_path
/
mpsd_release
/
microarch
/
"
spack
"
spack_folder
.
mkdir
(
parents
=
True
)
spack_folder
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
logs_folder
=
tmp_path
/
mpsd_release
/
microarch
/
"
logs
"
logs_folder
.
mkdir
(
parents
=
True
,
exist_ok
=
True
)
for
toolchain
in
expected_toolchain_map
[
microarch
]:
toolchain_file
=
toolchain_lmod_folder
/
f
"
{
toolchain
}
.lua
"
toolchain_file
.
touch
()
toolchain_
lua_
file
=
toolchain_lmod_folder
/
f
"
{
toolchain
}
.lua
"
toolchain_
lua_
file
.
touch
()
# check that the environment status is correct
return
expected_toolchain_map
def
test_environment_status
(
tmp_path
):
"""
Test that the environment status is correct.
"""
toolchain_map
=
mod
.
environment_status
(
"
fake-release
"
,
tmp_path
)
assert
toolchain_map
is
None
mpsd_release
=
"
dev-23a
"
expected_toolchain_map
=
create_fake_environment
(
tmp_path
,
mpsd_release
)
# check that the environment statuxis is correct
toolchain_map
=
mod
.
environment_status
(
mpsd_release
,
tmp_path
)
# convert each list to a set to ensure that the order doesn't matter
for
microarch
in
expected_toolchain_map
.
keys
():
assert
set
(
toolchain_map
[
microarch
])
==
set
(
expected_toolchain_map
[
microarch
])
@pytest.mark.skip
(
reason
=
"
not implemented yet
"
)
def
test_remove_environment
(
tmp_path
):
"""
Test that the remove_environment works as expected.
"""
mpsd_release
=
"
dev-23a
"
# create a fake environment
create_fake_environment
(
tmp_path
,
mpsd_release
)
# check that the environment status is correct
toolchain_map
=
mod
.
environment_status
(
mpsd_release
,
tmp_path
)
assert
toolchain_map
is
not
None
# test removal without arguments (should sys.exit(1))
create_fake_environment
(
tmp_path
,
mpsd_release
)
with
pytest
.
raises
(
SystemExit
):
mod
.
remove_environment
(
mpsd_release
,
tmp_path
,
force_remove
=
True
)
# test removal of the complete environment
mod
.
remove_environment
(
mpsd_release
,
tmp_path
,
[
"
ALL
"
],
force_remove
=
True
)
toolchain_map
=
mod
.
environment_status
(
mpsd_release
,
tmp_path
)
assert
toolchain_map
is
None
# ensure that logs folder remains
logs_folder
=
tmp_path
/
mpsd_release
/
"
logs
"
assert
logs_folder
.
exists
()
# test removal of a single toolchain
# done in test_install_environment_zlib
def
test_interface
(
tmp_path
):
"""
Test other things (not implemented yet).
"""
pass
Loading