Fix smoke test 76/169276/2
authorSangyoon Jang <jeremy.jang@samsung.com>
Mon, 5 Feb 2018 10:13:34 +0000 (19:13 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 5 Feb 2018 10:14:07 +0000 (10:14 +0000)
Cast global environment object just once when allocating.
Use static_cast for downcasting, because we know obviously that
SmokeEnvironment class is derived from testing::Environment class.

Change-Id: I1d7fe19f94c80df4641b6d553332ebd4cb53d3f3
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/unit_tests/smoke_test.cc

index 712ca120d63a0de8619ee3e2eb97bbe6439860fd..3699aa4c36518c2baaac087efd84e94f1ab6165a 100644 (file)
@@ -53,26 +53,22 @@ class SmokeEnvironment : public testing::Environment {
 
 namespace {
 
-testing::Environment *env = nullptr;
+smoke_test::SmokeEnvironment *env = nullptr;
 void signalHandler(int signum) {
   env->TearDown();
   exit(signum);
 }
 
-smoke_test::SmokeEnvironment *dcast(testing::Environment* _env) {
-  return dynamic_cast<smoke_test::SmokeEnvironment *>(_env);
-}
-
 }  // namespace
 
 namespace smoke_test {
 
 class SmokeTest : public testing::Test {
  public:
-  SmokeTest() : backend(std::to_string(dcast(env)->test_user.uid)),
+  SmokeTest() : backend(std::to_string(env->test_user.uid)),
       params{PackageType::TPK, false} {
-    params.test_user.uid = dcast(env)->test_user.uid;
-    params.test_user.gid = dcast(env)->test_user.gid;
+    params.test_user.uid = env->test_user.uid;
+    params.test_user.gid = env->test_user.gid;
   }
  protected:
   TpkBackendInterface backend;
@@ -81,10 +77,10 @@ class SmokeTest : public testing::Test {
 
 class RollbackSmokeTest : public testing::Test {
  public:
-  RollbackSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid),
+  RollbackSmokeTest() : backend(std::to_string(env->test_user.uid),
       RequestResult::FAIL), params{PackageType::TPK, false} {
-    params.test_user.uid = dcast(env)->test_user.uid;
-    params.test_user.gid = dcast(env)->test_user.gid;
+    params.test_user.uid = env->test_user.uid;
+    params.test_user.gid = env->test_user.gid;
   }
  protected:
   TpkBackendInterface backend;
@@ -93,10 +89,10 @@ class RollbackSmokeTest : public testing::Test {
 
 class PreloadSmokeTest : public testing::Test {
  public:
-  PreloadSmokeTest() : backend(std::to_string(dcast(env)->test_user.uid)),
+  PreloadSmokeTest() : backend(std::to_string(env->test_user.uid)),
       params{PackageType::TPK, true}  {
-    params.test_user.uid = dcast(env)->test_user.uid;
-    params.test_user.gid = dcast(env)->test_user.gid;
+    params.test_user.uid = env->test_user.uid;
+    params.test_user.gid = env->test_user.gid;
   }
  protected:
   TpkBackendInterface backend;
@@ -728,8 +724,9 @@ int main(int argc,  char** argv) {
     ::testing::GTEST_FLAG(filter) = "SmokeTest.*";
   }
   testing::InitGoogleTest(&argc, argv);
-  ::env = testing::AddGlobalTestEnvironment(
-      new smoke_test::SmokeEnvironment(request_mode));
+  ::env = static_cast<smoke_test::SmokeEnvironment*>(
+      testing::AddGlobalTestEnvironment(
+          new smoke_test::SmokeEnvironment(request_mode)));
   signal(SIGINT, ::signalHandler);
   signal(SIGSEGV, ::signalHandler);
   return RUN_ALL_TESTS();