def test_pkg_dir_from_module_name(): module_show_lines = ['setenv FOO_BAR_DIR /path/to/foo-bar'] assert (get_path_from_module_contents(module_show_lines, 'foo-bar') == '/path/to/foo-bar') assert (get_path_from_module_contents(module_show_lines, 'foo-bar/1.0') == '/path/to/foo-bar')
def test_get_path_from_module_contents(): # A line with "MODULEPATH" appears early on, and the test confirms that it # is not extracted as the package's path module_show_output = """ os.environ["MODULEPATH"] = "/path/to/modules1:/path/to/modules2"; ---------------------------------------------------------------------------- /root/cmake/3.9.2.lua: ---------------------------------------------------------------------------- help([[CMake Version 3.9.2 ]]) whatis("Name: CMake") whatis("Version: 3.9.2") whatis("Category: Tools") whatis("URL: https://cmake.org/") prepend_path("LD_LIBRARY_PATH","/bad/path") prepend_path("PATH","/path/to/cmake-3.9.2/bin:/other/bad/path") prepend_path("MANPATH","/path/to/cmake/cmake-3.9.2/share/man") prepend_path("LD_LIBRARY_PATH","/path/to/cmake-3.9.2/lib64") """ module_show_lines = module_show_output.split('\n') # PATH and LD_LIBRARY_PATH outvote MANPATH and the other PATH and # LD_LIBRARY_PATH entries assert (get_path_from_module_contents( module_show_lines, 'cmake-3.9.2') == '/path/to/cmake-3.9.2')
def test_get_path_from_module_contents(): module_show_output = """ os.environ["MODULEPATH"] = "/path/to/modules1:/path/to/modules2"; ---------------------------------------------------------------------------- /root/cmake/3.9.2.lua: ---------------------------------------------------------------------------- help([[CMake Version 3.9.2 ]]) whatis("Name: CMake") whatis("Version: 3.9.2") whatis("Category: Tools") whatis("URL: https://cmake.org/") prepend_path("PATH","/path/to/cmake-3.9.2/bin") prepend_path("MANPATH","/path/to/cmake/cmake-3.9.2/share/man") """ module_show_lines = module_show_output.split('\n') assert (get_path_from_module_contents( module_show_lines, 'cmake-3.9.2') == '/path/to/cmake-3.9.2')
def test_get_path_from_module_contents(): # A line with "MODULEPATH" appears early on, and the test confirms that it # is not extracted as the package's path module_show_output = """ os.environ["MODULEPATH"] = "/path/to/modules1:/path/to/modules2"; ---------------------------------------------------------------------------- /root/cmake/3.9.2.lua: ---------------------------------------------------------------------------- help([[CMake Version 3.9.2 ]]) whatis("Name: CMake") whatis("Version: 3.9.2") whatis("Category: Tools") whatis("URL: https://cmake.org/") prepend_path("PATH","/path/to/cmake-3.9.2/bin") prepend_path("MANPATH","/path/to/cmake/cmake-3.9.2/share/man") """ module_show_lines = module_show_output.split('\n') assert (get_path_from_module_contents(module_show_lines, 'cmake-3.9.2') == '/path/to/cmake-3.9.2')
def test_get_path_from_empty_module(): assert get_path_from_module_contents('', 'test') is None
def test_lmod_quote_parsing(): lines = [ 'setenv("SOME_PARTICULAR_DIR","-L/opt/cray/pe/mpich/8.1.4/gtl/lib")' ] result = get_path_from_module_contents(lines, 'some-module') assert '/opt/cray/pe/mpich/8.1.4/gtl' == result