libept
test.h
Go to the documentation of this file.
1 #ifndef EPT_TEST_H
2 #define EPT_TEST_H
3 
4 #include <ept/utils/tests.h>
5 #include <ept/config.h>
6 #include <apt-pkg/pkgcache.h>
7 #include <apt-pkg/sourcelist.h>
8 #include <apt-pkg/error.h>
9 #include <apt-pkg/policy.h>
10 #include <apt-pkg/cachefile.h>
11 #include <apt-pkg/progress.h>
12 #include <apt-pkg/pkgcachegen.h>
13 #include <apt-pkg/init.h>
14 #include <cstdlib>
15 
17 {
18  const char* name;
20  std::string old_value;
21 
22  EnvOverride(const char* name, const char* value)
23  : name(name)
24  {
25  const char* old = getenv(name);
26  if (old)
27  {
28  old_value_set = true;
29  old_value = old;
30  } else
31  old_value_set = false;
32  setenv(name, value, 1);
33  }
35  {
36  if (old_value_set)
37  setenv(name, old_value.c_str(), 1);
38  else
39  unsetenv(name);
40  }
41 };
42 
43 #endif
Definition: test.h:16
const char * name
Definition: test.h:18
~EnvOverride()
Definition: test.h:34
std::string old_value
Definition: test.h:20
EnvOverride(const char *name, const char *value)
Definition: test.h:22
bool old_value_set
Definition: test.h:19