Constants.pm -- defines/exports all framework-wide constants.
This module defines all properties for files and directories. Every property is initialized with a default value, which can be overriden by setting the corresponding environment variable.
TZ
Defects4J sets the timezone to America/Los_Angeles to ensure that all defects are reproducible and that test suites are generated and executed using the same timezone setting.
This module exports the following properties. The default value for each property appears in parentheses (default value).
The default value for each property can be overridden by setting and exporting an evironment variable with the same name,
prior to calling Defects4J.
For example,
the default value for PROJECTS_DIR
can be overridden with: export PROJECTS_DIR=my_project_directory
.
SCRIPT_DIR
The directory that contains all scripts and modules (parent of this module's directory)
PROJECTS_DIR
The directory that contains all project metadata (SCRIPT_DIR
/projects)
CORE_DIR
The directory that contains all core modules (SCRIPT_DIR
/core)
LIB_DIR
The directory that contains additional libraries (SCRIPT_DIR
/lib).
UTIL_DIR
The directory that contains util scripts (SCRIPT_DIR
/util).
BASE_DIR
The base directory (SCRIPT_DIR
/..)
REPO_DIR
The directory that contains project repositoriy clones (BASE_DIR
/project_repos)
D4J_TMP_DIR
The temporary root directory, used to checkout a program version (/tmp)
MAJOR_ROOT
The root directory of the Major mutation framework (BASE_DIR
/major)
TESTGEN_LIB_DIR
The directory of the libraries of the test generation tools (LIB_DIR
/test_generation/generation)
TESTGEN_BIN_DIR
The directory of the wrapper scripts of the test generation tools (LIB_DIR
/test_generation/bin)
BUILD_SYSTEMS_LIB_DIR
The directory of the libraries of the build system tools (LIB_DIR
/build_systems)
D4J_BUILD_FILE
The top-level (ant) build file (SCRIPT_DIR
/projects/defects4j.build.xml)
GRADLE_LOCAL_HOME_DIR
The directory name of the local gradle repository (.gradle_local_home).