Skip to content

Commit 1fd969d

Browse files
committed
tests: Modify test profiles to specify environment variables
This allows us to have a fully identical environment for running tests with the use of cloe-launch shell or exec compared to a BATS execution.
1 parent 14be6ca commit 1fd969d

File tree

8 files changed

+94
-84
lines changed

8 files changed

+94
-84
lines changed

engine/tests/profile_with_server.py

+14-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
1+
from conans import ConanFile
12
from pathlib import Path
2-
from conans import ConanFile, tools
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-engine-test"
7-
settings = "os", "compiler", "build_type", "arch"
8-
generators = "virtualenv", "virtualrunenv"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
8+
9+
@property
10+
def cloe_launch_env(self):
11+
return {
12+
"CLOE_ENGINE_WITH_SERVER": "0",
13+
"CLOE_LOG_LEVEL": "debug",
14+
"CLOE_STRICT_MODE": "1",
15+
"CLOE_WRITE_OUTPUT": "0",
16+
"CLOE_ROOT": Path(self.recipe_folder) / "../..",
17+
}
918

1019
def set_version(self):
11-
version_file = Path(self.recipe_folder) / "../../VERSION"
12-
if version_file.exists():
13-
self.version = tools.load(version_file).strip()
14-
else:
15-
git = tools.Git(folder=self.recipe_folder)
16-
self.version = git.run("describe --dirty=-dirty")[1:]
20+
self.version = self.project_version("../../VERSION")
1721

1822
def requirements(self):
1923
self.requires(f"cloe-engine/{self.version}@cloe/develop")
@@ -24,9 +28,3 @@ def requirements(self):
2428
self.requires(f"cloe-plugin-virtue/{self.version}@cloe/develop")
2529

2630
self.requires("boost/[~=1.69]", override=True)
27-
28-
def package_info(self):
29-
self.env_info.CLOE_ENGINE_WITH_SERVER = "1"
30-
self.env_info.CLOE_LOG_LEVEL = "debug"
31-
self.env_info.CLOE_STRICT_MODE = "1"
32-
self.env_info.CLOE_WRITE_OUTPUT = "0"
+14-16
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
1+
from conans import ConanFile
12
from pathlib import Path
2-
from conans import ConanFile, tools
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-engine-test"
7-
settings = "os", "compiler", "build_type", "arch"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
88
default_options = {
99
"cloe-engine:server": False,
1010
}
11-
generators = "virtualenv", "virtualrunenv"
11+
12+
@property
13+
def cloe_launch_env(self):
14+
return {
15+
"CLOE_ENGINE_WITH_SERVER": "0",
16+
"CLOE_LOG_LEVEL": "debug",
17+
"CLOE_STRICT_MODE": "1",
18+
"CLOE_WRITE_OUTPUT": "0",
19+
"CLOE_ROOT": Path(self.recipe_folder) / "../..",
20+
}
1221

1322
def set_version(self):
14-
version_file = Path(self.recipe_folder) / "../../VERSION"
15-
if version_file.exists():
16-
self.version = tools.load(version_file).strip()
17-
else:
18-
git = tools.Git(folder=self.recipe_folder)
19-
self.version = git.run("describe --dirty=-dirty")[1:]
23+
self.version = self.project_version("../../VERSION")
2024

2125
def requirements(self):
2226
self.requires(f"cloe-engine/{self.version}@cloe/develop")
@@ -25,9 +29,3 @@ def requirements(self):
2529
self.requires(f"cloe-plugin-noisy-sensor/{self.version}@cloe/develop")
2630
self.requires(f"cloe-plugin-speedometer/{self.version}@cloe/develop")
2731
self.requires(f"cloe-plugin-virtue/{self.version}@cloe/develop")
28-
29-
def package_info(self):
30-
self.env_info.CLOE_ENGINE_WITH_SERVER = "1"
31-
self.env_info.CLOE_LOG_LEVEL = "debug"
32-
self.env_info.CLOE_STRICT_MODE = "1"
33-
self.env_info.CLOE_WRITE_OUTPUT = "0"

plugins/minimator/tests/profile_default.py

+13-9
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,24 @@
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-minimator-test"
7-
settings = "os", "compiler", "build_type", "arch"
8-
generators = "virtualenv", "virtualrunenv"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
8+
99
default_options = {
1010
"cloe-engine:server": False,
1111
}
1212

13+
@property
14+
def cloe_launch_env(self):
15+
return {
16+
"CLOE_LOG_LEVEL": "debug",
17+
"CLOE_STRICT_MODE": "1",
18+
"CLOE_WRITE_OUTPUT": "0",
19+
"CLOE_ROOT": Path(self.recipe_folder) / "../../..",
20+
}
21+
1322
def set_version(self):
14-
version_file = Path(self.recipe_folder) / "../../../VERSION"
15-
if version_file.exists():
16-
self.version = tools.load(version_file).strip()
17-
else:
18-
git = tools.Git(folder=self.recipe_folder)
19-
self.version = git.run("describe --dirty=-dirty")[1:]
23+
self.version = self.project_version("../../../VERSION")
2024

2125
def requirements(self):
2226
self.requires(f"cloe-engine/{self.version}@cloe/develop")

plugins/virtue/tests/profile_default.py

+13-9
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,24 @@
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-minimator-test"
7-
settings = "os", "compiler", "build_type", "arch"
8-
generators = "virtualenv", "virtualrunenv"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
8+
99
default_options = {
1010
"cloe-engine:server": False,
1111
}
1212

13+
@property
14+
def cloe_launch_env(self):
15+
return {
16+
"CLOE_LOG_LEVEL": "debug",
17+
"CLOE_STRICT_MODE": "1",
18+
"CLOE_WRITE_OUTPUT": "0",
19+
"CLOE_ROOT": Path(self.recipe_folder) / "../../..",
20+
}
21+
1322
def set_version(self):
14-
version_file = Path(self.recipe_folder) / "../../../VERSION"
15-
if version_file.exists():
16-
self.version = tools.load(version_file).strip()
17-
else:
18-
git = tools.Git(folder=self.recipe_folder)
19-
self.version = git.run("describe --dirty=-dirty")[1:]
23+
self.version = self.project_version("../../../VERSION")
2024

2125
def requirements(self):
2226
self.requires(f"cloe-engine/{self.version}@cloe/develop")

plugins/vtd/tests/profile_default.py

+12-9
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,20 @@
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-minimator-test"
7-
settings = "os", "compiler", "build_type", "arch"
8-
generators = "virtualenv", "virtualrunenv"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
8+
9+
@property
10+
def cloe_launch_env(self):
11+
return {
12+
"CLOE_LOG_LEVEL": "debug",
13+
"CLOE_STRICT_MODE": "1",
14+
"CLOE_WRITE_OUTPUT": "0",
15+
"CLOE_ROOT": Path(self.recipe_folder) / "../../..",
16+
}
917

1018
def set_version(self):
11-
version_file = Path(self.recipe_folder) / "../../../VERSION"
12-
if version_file.exists():
13-
self.version = tools.load(version_file).strip()
14-
else:
15-
git = tools.Git(folder=self.recipe_folder)
16-
self.version = git.run("describe --dirty=-dirty")[1:]
19+
self.version = self.project_version("../../../VERSION")
1720

1821
def requirements(self):
1922
self.requires(f"cloe-engine/{self.version}@cloe/develop")

tests/profile_default.py

+13-9
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,25 @@
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-test"
7-
settings = "os", "compiler", "build_type", "arch"
8-
generators = "virtualenv", "virtualrunenv"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
8+
99
default_options = {
1010
"cloe:with_vtd": False,
1111
"cloe-engine:server": True,
1212
}
1313

14+
@property
15+
def cloe_launch_env(self):
16+
return {
17+
"CLOE_LOG_LEVEL": "debug",
18+
"CLOE_STRICT_MODE": "1",
19+
"CLOE_WRITE_OUTPUT": "0",
20+
"CLOE_ROOT": Path(self.recipe_folder) / "..",
21+
}
22+
1423
def set_version(self):
15-
version_file = Path(self.recipe_folder) / "../VERSION"
16-
if version_file.exists():
17-
self.version = tools.load(version_file).strip()
18-
else:
19-
git = tools.Git(folder=self.recipe_folder)
20-
self.version = git.run("describe --dirty=-dirty")[1:]
24+
self.version = self.project_version("../VERSION")
2125

2226
def requirements(self):
2327
self.requires(f"cloe/{self.version}@cloe/develop")

tests/profile_with_boost_1.78.py

+15-10
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,33 @@
33

44

55
class CloeTest(ConanFile):
6-
name = "cloe-test"
7-
settings = "os", "compiler", "build_type", "arch"
8-
generators = "virtualenv", "virtualrunenv"
6+
python_requires = "cloe-launch-profile/[~=0.19.0]@cloe/develop"
7+
python_requires_extend = "cloe-launch-profile.Base"
8+
99
default_options = {
1010
"cloe:with_vtd": False,
1111
"cloe-engine:server": False,
1212
}
1313

14+
@property
15+
def cloe_launch_env(self):
16+
return {
17+
"CLOE_LOG_LEVEL": "debug",
18+
"CLOE_STRICT_MODE": "1",
19+
"CLOE_WRITE_OUTPUT": "0",
20+
"CLOE_ROOT": Path(self.recipe_folder) / "..",
21+
}
22+
1423
def set_version(self):
15-
version_file = Path(self.recipe_folder) / "../VERSION"
16-
if version_file.exists():
17-
self.version = tools.load(version_file).strip()
18-
else:
19-
git = tools.Git(folder=self.recipe_folder)
20-
self.version = git.run("describe --dirty=-dirty")[1:]
24+
self.version = self.project_version("../VERSION")
2125

2226
def requirements(self):
23-
self.requires("boost/1.78.0", override=True)
2427
self.requires(f"cloe/{self.version}@cloe/develop")
2528
if self.options["cloe"].with_vtd:
2629
# These dependencies aren't pulled in by the "cloe" package,
2730
# because they are not required to build the package.
2831
# We need them to run the tests though.
2932
self.requires("osi-sensor/1.0.0-vtd2.2@cloe/stable")
3033
self.requires("vtd/2.2.0@cloe-restricted/stable")
34+
35+
self.requires("boost/1.78.0", override=True)

tests/setup_bats.bash

-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
#!/usr/bin/env bats
22

3-
# The following variables are read automatically by cloe-engine to set defaults
4-
# for flags. They can be overridden by specifying alternative flags.
5-
export CLOE_LOG_LEVEL=${CLOE_LOG_LEVEL-debug}
6-
export CLOE_STRICT_MODE=1
7-
export CLOE_WRITE_OUTPUT=0
8-
93
# The path to use whenever we need a temporary registry. Whenever we use this, we
104
# probably want to specify the `--write-output` flag too, otherwise nothing will
115
# be written to the registry.

0 commit comments

Comments
 (0)