Classes | |
class | DockerContainerManager |
Python-on-whales wrapper for Docker-based ns-3 tests. More... | |
class | NS3BaseTestCase |
Generic test case with basic function inherited by more complex tests. More... | |
class | NS3BuildBaseTestCase |
Tests ns3 regarding building the project. More... | |
class | NS3CommonSettingsTestCase |
ns3 tests related to generic options More... | |
class | NS3ConfigureBuildProfileTestCase |
ns3 tests related to build profiles More... | |
class | NS3ConfigureTestCase |
Test ns3 configuration options. More... | |
class | NS3DependenciesTestCase |
ns-3 tests related to dependencies More... | |
class | NS3ExpectedUseTestCase |
Tests ns3 usage in more realistic scenarios. More... | |
class | NS3QualityControlTestCase |
ns-3 tests to control the quality of the repository over time, by checking the state of URLs listed and more More... | |
class | NS3StyleTestCase |
ns-3 tests to check if the source code, whitespaces and CMake formatting are according to the coding style More... | |
class | NS3UnusedSourcesTestCase |
ns-3 tests related to checking if source files were left behind, not being used by CMake More... | |
Functions | |
def | get_enabled_modules () |
def | get_headers_list (outdir=usual_outdir) |
Gets a list of header files. More... | |
def | get_libraries_list (lib_outdir=usual_lib_outdir) |
Gets a list of built libraries. More... | |
def | get_programs_list () |
Extracts the programs list from .lock-ns3. More... | |
def | get_test_enabled () |
Check if tests are enabled in the .lock-ns3. More... | |
def | read_lock_entry (entry) |
Read interesting entries from the .lock-ns3 file. More... | |
def | run_ns3 (args, env=None, generator=platform_makefiles) |
Runs the ns3 wrapper script with arguments. More... | |
def | run_program (program, args, python=False, cwd=ns3_path, env=None) |
Runs a program with the given arguments and returns a tuple containing (error code, stdout and stderr) More... | |
Variables | |
string | cmake_build_project_command |
cmake_build_target_command | |
string | ext = ".exe" if win32 else "" |
ns3_lock_filename = os.path.join(ns3_path, ".lock-ns3_%s_build" % sys.platform) | |
ns3_path = os.path.dirname(os.path.abspath(os.sep.join([__file__, "../../"]))) | |
ns3_script = os.sep.join([ns3_path, "ns3"]) | |
ns3rc_script = os.sep.join([ns3_path, ".ns3rc"]) | |
num_threads = max(1, os.cpu_count() - 1) | |
string | platform_makefiles = "MinGW Makefiles" if win32 else "Unix Makefiles" |
usual_lib_outdir = os.sep.join([usual_outdir, "lib"]) | |
usual_outdir = os.sep.join([ns3_path, "build"]) | |
string | win32 = "win32" |
def test-ns3.get_enabled_modules | ( | ) |
Check if tests are enabled in the .lock-ns3 @return list of enabled modules (prefixed with 'ns3-').
Definition at line 187 of file test-ns3.py.
References read_lock_entry().
Referenced by test-ns3.NS3ExpectedUseTestCase.test_01_BuildProject(), test-ns3.NS3ConfigureTestCase.test_03_EnableModules(), test-ns3.NS3ConfigureTestCase.test_04_DisableModules(), test-ns3.NS3ConfigureTestCase.test_05_EnableModulesComma(), test-ns3.NS3ConfigureTestCase.test_06_DisableModulesComma(), and test-ns3.NS3ConfigureTestCase.test_19_FilterModuleExamplesAndTests().
def test-ns3.get_headers_list | ( | outdir = usual_outdir | ) |
Gets a list of header files.
outdir | path containing headers |
Definition at line 158 of file test-ns3.py.
Referenced by test-ns3.NS3BuildBaseTestCase.test_08_InstallationAndUninstallation().
def test-ns3.get_libraries_list | ( | lib_outdir = usual_lib_outdir | ) |
Gets a list of built libraries.
lib_outdir | path containing libraries |
Definition at line 148 of file test-ns3.py.
References list.
Referenced by test-ns3.NS3ExpectedUseTestCase.test_01_BuildProject(), test-ns3.NS3ConfigureBuildProfileTestCase.test_01_Debug(), test-ns3.NS3ConfigureBuildProfileTestCase.test_03_Optimized(), test-ns3.NS3BuildBaseTestCase.test_06_TestVersionFile(), test-ns3.NS3BuildBaseTestCase.test_07_OutputDirectory(), and test-ns3.NS3BuildBaseTestCase.test_08_InstallationAndUninstallation().
def test-ns3.get_programs_list | ( | ) |
Extracts the programs list from .lock-ns3.
Definition at line 131 of file test-ns3.py.
References list.
Referenced by test-ns3.NS3ExpectedUseTestCase.test_01_BuildProject(), test-ns3.NS3ConfigureTestCase.test_01_Examples(), test-ns3.NS3BuildBaseTestCase.test_03_BuildProject(), test-ns3.NS3BuildBaseTestCase.test_06_TestVersionFile(), test-ns3.NS3ConfigureTestCase.test_08_DryRun(), test-ns3.NS3ConfigureTestCase.test_14_MpiCommandTemplate(), and test-ns3.NS3ConfigureTestCase.test_19_FilterModuleExamplesAndTests().
def test-ns3.get_test_enabled | ( | ) |
Check if tests are enabled in the .lock-ns3.
Definition at line 179 of file test-ns3.py.
References read_lock_entry().
def test-ns3.read_lock_entry | ( | entry | ) |
Read interesting entries from the .lock-ns3 file.
entry | entry to read from .lock-ns3 |
Definition at line 167 of file test-ns3.py.
Referenced by get_enabled_modules(), get_test_enabled(), and test-ns3.NS3ExpectedUseTestCase.test_14_EnableSudo().
def test-ns3.run_ns3 | ( | args, | |
env = None , |
|||
generator = platform_makefiles |
|||
) |
Runs the ns3 wrapper script with arguments.
args | string containing arguments that will get split before calling ns3 |
env | environment variables dictionary |
generator | CMake generator |
Definition at line 59 of file test-ns3.py.
References run_program().
Referenced by test-ns3.NS3CommonSettingsTestCase.setUp(), test-ns3.NS3ConfigureBuildProfileTestCase.setUp(), test-ns3.NS3BaseTestCase.setUp(), test-ns3.NS3ExpectedUseTestCase.setUp(), test-ns3.NS3BuildBaseTestCase.test_01_BuildExistingTargets(), test-ns3.NS3ExpectedUseTestCase.test_01_BuildProject(), test-ns3.NS3StyleTestCase.test_01_CheckCMakeFormat(), test-ns3.NS3ConfigureBuildProfileTestCase.test_01_Debug(), test-ns3.NS3ConfigureTestCase.test_01_Examples(), test-ns3.NS3CommonSettingsTestCase.test_01_NoOption(), test-ns3.NS3ExpectedUseTestCase.test_02_BuildAndRunExistingExecutableTarget(), test-ns3.NS3BuildBaseTestCase.test_02_BuildNonExistingTargets(), test-ns3.NS3QualityControlTestCase.test_02_MemoryCheckWithSanitizers(), test-ns3.NS3CommonSettingsTestCase.test_02_NoTaskLines(), test-ns3.NS3ConfigureBuildProfileTestCase.test_02_Release(), test-ns3.NS3ConfigureTestCase.test_02_Tests(), test-ns3.NS3ExpectedUseTestCase.test_03_BuildAndRunExistingLibraryTarget(), test-ns3.NS3BuildBaseTestCase.test_03_BuildProject(), test-ns3.NS3CommonSettingsTestCase.test_03_CheckConfig(), test-ns3.NS3ConfigureTestCase.test_03_EnableModules(), test-ns3.NS3ConfigureBuildProfileTestCase.test_03_Optimized(), test-ns3.NS3ExpectedUseTestCase.test_04_BuildAndRunNonExistingTarget(), test-ns3.NS3BuildBaseTestCase.test_04_BuildProjectNoTaskLines(), test-ns3.NS3CommonSettingsTestCase.test_04_CheckProfile(), test-ns3.NS3ConfigureTestCase.test_04_DisableModules(), test-ns3.NS3ConfigureBuildProfileTestCase.test_04_Typo(), test-ns3.NS3BuildBaseTestCase.test_05_BreakBuild(), test-ns3.NS3CommonSettingsTestCase.test_05_CheckVersion(), test-ns3.NS3ConfigureTestCase.test_05_EnableModulesComma(), test-ns3.NS3ExpectedUseTestCase.test_05_RunNoBuildExistingExecutableTarget(), test-ns3.NS3ConfigureBuildProfileTestCase.test_05_TYPO(), test-ns3.NS3ConfigureTestCase.test_06_DisableModulesComma(), test-ns3.NS3ConfigureBuildProfileTestCase.test_06_OverwriteDefaultSettings(), test-ns3.NS3ExpectedUseTestCase.test_06_RunNoBuildExistingLibraryTarget(), test-ns3.NS3BuildBaseTestCase.test_06_TestVersionFile(), test-ns3.NS3BuildBaseTestCase.test_07_OutputDirectory(), test-ns3.NS3ExpectedUseTestCase.test_07_RunNoBuildNonExistingExecutableTarget(), test-ns3.NS3ConfigureTestCase.test_08_DryRun(), test-ns3.NS3BuildBaseTestCase.test_08_InstallationAndUninstallation(), test-ns3.NS3ExpectedUseTestCase.test_08_RunNoBuildGdb(), test-ns3.NS3ConfigureTestCase.test_09_PropagationOfReturnCode(), test-ns3.NS3ExpectedUseTestCase.test_09_RunNoBuildValgrind(), test-ns3.NS3BuildBaseTestCase.test_09_Scratches(), test-ns3.NS3BuildBaseTestCase.test_10_AmbiguityCheck(), test-ns3.NS3ConfigureTestCase.test_10_CheckConfig(), test-ns3.NS3ExpectedUseTestCase.test_10_DoxygenWithBuild(), test-ns3.NS3ConfigureTestCase.test_11_CheckProfile(), test-ns3.NS3ExpectedUseTestCase.test_11_DoxygenWithoutBuild(), test-ns3.NS3BuildBaseTestCase.test_11_StaticBuilds(), test-ns3.NS3ConfigureTestCase.test_12_CheckVersion(), test-ns3.NS3BuildBaseTestCase.test_12_CppyyBindings(), test-ns3.NS3ExpectedUseTestCase.test_12_SphinxDocumentation(), test-ns3.NS3ExpectedUseTestCase.test_13_Documentation(), test-ns3.NS3BuildBaseTestCase.test_13_FetchOptionalComponents(), test-ns3.NS3ConfigureTestCase.test_13_Scratches(), test-ns3.NS3ExpectedUseTestCase.test_14_EnableSudo(), test-ns3.NS3BuildBaseTestCase.test_14_LinkContribModuleToSrcModule(), test-ns3.NS3ConfigureTestCase.test_14_MpiCommandTemplate(), test-ns3.NS3ExpectedUseTestCase.test_15_CommandTemplate(), test-ns3.NS3ConfigureTestCase.test_15_InvalidLibrariesToLink(), test-ns3.NS3ExpectedUseTestCase.test_16_ForwardArgumentsToRunTargets(), test-ns3.NS3ConfigureTestCase.test_16_LibrariesContainingLib(), test-ns3.NS3ConfigureTestCase.test_17_CMakePerformanceTracing(), test-ns3.NS3ExpectedUseTestCase.test_17_RunNoBuildLldb(), test-ns3.NS3ExpectedUseTestCase.test_18_CpmAndVcpkgManagers(), test-ns3.NS3ConfigureTestCase.test_19_FilterModuleExamplesAndTests(), test-ns3.NS3ConfigureTestCase.test_20_CheckFastLinkers(), test-ns3.NS3ConfigureTestCase.test_21_ClangTimeTrace(), test-ns3.NS3ConfigureTestCase.test_22_NinjaTrace(), test-ns3.NS3ConfigureTestCase.test_23_PrecompiledHeaders(), test-ns3.NS3ConfigureTestCase.test_24_CheckTestSettings(), and test-ns3.NS3ConfigureTestCase.test_25_CheckBareConfig().
def test-ns3.run_program | ( | program, | |
args, | |||
python = False , |
|||
cwd = ns3_path , |
|||
env = None |
|||
) |
Runs a program with the given arguments and returns a tuple containing (error code, stdout and stderr)
program | program to execute (or python script) |
args | string containing arguments that will get split before calling the program |
python | flag indicating whether the program is a python script |
cwd | the working directory used that will be the root folder for the execution |
env | environment variables dictionary |
Definition at line 82 of file test-ns3.py.
References check-style-clang-format.type.
Referenced by run_ns3(), test-ns3.NS3QualityControlTestCase.test_02_MemoryCheckWithSanitizers(), test-ns3.NS3BuildBaseTestCase.test_08_InstallationAndUninstallation(), test-ns3.NS3BuildBaseTestCase.test_12_CppyyBindings(), and test-ns3.NS3ConfigureTestCase.test_13_Scratches().
string test-ns3.cmake_build_project_command |
Definition at line 46 of file test-ns3.py.
test-ns3.cmake_build_target_command |
Definition at line 49 of file test-ns3.py.
Referenced by test-ns3.NS3ExpectedUseTestCase.test_02_BuildAndRunExistingExecutableTarget(), test-ns3.NS3ExpectedUseTestCase.test_05_RunNoBuildExistingExecutableTarget(), test-ns3.NS3ConfigureTestCase.test_08_DryRun(), test-ns3.NS3BuildBaseTestCase.test_10_AmbiguityCheck(), test-ns3.NS3ExpectedUseTestCase.test_10_DoxygenWithBuild(), test-ns3.NS3ExpectedUseTestCase.test_11_DoxygenWithoutBuild(), test-ns3.NS3ExpectedUseTestCase.test_12_SphinxDocumentation(), test-ns3.NS3ExpectedUseTestCase.test_13_Documentation(), test-ns3.NS3ExpectedUseTestCase.test_14_EnableSudo(), and test-ns3.NS3ConfigureTestCase.test_16_LibrariesContainingLib().
string test-ns3.ext = ".exe" if win32 else "" |
Definition at line 56 of file test-ns3.py.
test-ns3.ns3_lock_filename = os.path.join(ns3_path, ".lock-ns3_%s_build" % sys.platform) |
Definition at line 35 of file test-ns3.py.
test-ns3.ns3_path = os.path.dirname(os.path.abspath(os.sep.join([__file__, "../../"]))) |
Definition at line 34 of file test-ns3.py.
test-ns3.ns3_script = os.sep.join([ns3_path, "ns3"]) |
Definition at line 36 of file test-ns3.py.
test-ns3.ns3rc_script = os.sep.join([ns3_path, ".ns3rc"]) |
Definition at line 37 of file test-ns3.py.
test-ns3.num_threads = max(1, os.cpu_count() - 1) |
Definition at line 45 of file test-ns3.py.
string test-ns3.platform_makefiles = "MinGW Makefiles" if win32 else "Unix Makefiles" |
Definition at line 55 of file test-ns3.py.
test-ns3.usual_lib_outdir = os.sep.join([usual_outdir, "lib"]) |
Definition at line 39 of file test-ns3.py.
test-ns3.usual_outdir = os.sep.join([ns3_path, "build"]) |
Definition at line 38 of file test-ns3.py.
string test-ns3.win32 = "win32" |
Definition at line 54 of file test-ns3.py.