Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 11013


Ignore:
Timestamp:
Jan 2, 2016, 11:48:40 AM (9 years ago)
Author:
landauf
Message:

make sure the plugin is always unloaded after a test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/test/core_plugin/PluginTest.cc

    r11012 r11013  
    2121        {
    2222            public:
     23                PluginTest()
     24                {
     25                    this->plugin_ = NULL;
     26                }
     27
    2328                static void SetUpTestCase()
    2429                {
     
    3035                    delete &Core::getInstance();
    3136                }
     37
     38                void loadPlugin()
     39                {
     40                    this->plugin_ = new PluginReference("testplugin");
     41                }
     42
     43                void unloadPlugin()
     44                {
     45                    delete this->plugin_;
     46                    this->plugin_ = NULL;
     47                }
     48
     49                virtual void TearDown()
     50                {
     51                    // make sure the plugin is unloaded
     52                    this->unloadPlugin();
     53                }
     54
     55            private:
     56                PluginReference* plugin_;
    3257        };
    3358    }
    3459
    35     PluginReference* loadPlugin()
    36     {
    37         return new PluginReference("testplugin");
    38     }
    3960
    4061    TEST_F(PluginTest, CanLoadPlugin)
    4162    {
    42         PluginReference* plugin = loadPlugin();
    43         delete plugin;
     63        this->loadPlugin();
     64        this->unloadPlugin();
    4465    }
    4566
     
    5778    {
    5879        EXPECT_TRUE(getIdentifier() == NULL);
    59         PluginReference* plugin = loadPlugin();
    60         EXPECT_TRUE(getIdentifier() != NULL);
    61         delete plugin;
     80        this->loadPlugin();
     81        EXPECT_TRUE(getIdentifier() != NULL);
     82        this->unloadPlugin();
    6283    }
    6384
    6485    TEST_F(PluginTest, UnloadsIdentifier)
    6586    {
    66         PluginReference* plugin = loadPlugin();
    67         EXPECT_TRUE(getIdentifier() != NULL);
    68         delete plugin;
     87        this->loadPlugin();
     88        EXPECT_TRUE(getIdentifier() != NULL);
     89        this->unloadPlugin();
    6990        EXPECT_TRUE(getIdentifier() == NULL);
    7091    }
     
    7293    TEST_F(PluginTest, ReloadsIdentifier)
    7394    {
    74         PluginReference* plugin = loadPlugin();
    75         EXPECT_TRUE(getIdentifier() != NULL);
    76         delete plugin;
     95        this->loadPlugin();
     96        EXPECT_TRUE(getIdentifier() != NULL);
     97        this->unloadPlugin();
    7798        EXPECT_TRUE(getIdentifier() == NULL);
    78         plugin = loadPlugin();
    79         EXPECT_TRUE(getIdentifier() != NULL);
    80         delete plugin;
     99        this->loadPlugin();
     100        EXPECT_TRUE(getIdentifier() != NULL);
     101        this->unloadPlugin();
    81102    }
    82103
    83104    TEST_F(PluginTest, CanCreateObjectFromIdentifier)
    84105    {
    85         PluginReference* plugin = loadPlugin();
     106        this->loadPlugin();
    86107
    87108        Identifier* identifier = getIdentifier();
     
    96117        EXPECT_EQ(666, testclass->getValue());
    97118
    98         delete plugin;
     119        this->unloadPlugin();
    99120    }
    100121
     
    131152    {
    132153        EXPECT_TRUE(getSingleton() == NULL);
    133         PluginReference* plugin = loadPlugin();
    134         EXPECT_TRUE(getSingleton() != NULL);
    135         delete plugin;
     154        this->loadPlugin();
     155        EXPECT_TRUE(getSingleton() != NULL);
     156        this->unloadPlugin();
    136157    }
    137158
    138159    TEST_F(PluginTest, UnloadsSingleton)
    139160    {
    140         PluginReference* plugin = loadPlugin();
    141         EXPECT_TRUE(getSingleton() != NULL);
    142         delete plugin;
     161        this->loadPlugin();
     162        EXPECT_TRUE(getSingleton() != NULL);
     163        this->unloadPlugin();
    143164        EXPECT_TRUE(getSingleton() == NULL);
    144165    }
     
    146167    TEST_F(PluginTest, ReloadsSingleton)
    147168    {
    148         PluginReference* plugin = loadPlugin();
    149         EXPECT_TRUE(getSingleton() != NULL);
    150         delete plugin;
     169        this->loadPlugin();
     170        EXPECT_TRUE(getSingleton() != NULL);
     171        this->unloadPlugin();
    151172        EXPECT_TRUE(getSingleton() == NULL);
    152         plugin = loadPlugin();
    153         EXPECT_TRUE(getSingleton() != NULL);
    154         delete plugin;
     173        this->loadPlugin();
     174        EXPECT_TRUE(getSingleton() != NULL);
     175        this->unloadPlugin();
    155176    }
    156177
    157178    TEST_F(PluginTest, CanCallFunctionOnSingleton)
    158179    {
    159         PluginReference* plugin = loadPlugin();
     180        this->loadPlugin();
    160181
    161182        Testsingleton* singleton = getSingleton();
     
    164185        EXPECT_EQ(999, singleton->getValue());
    165186
    166         delete plugin;
     187        this->unloadPlugin();
    167188    }
    168189
     
    188209    {
    189210        EXPECT_FALSE(hasCommandLineArgument());
    190         PluginReference* plugin = loadPlugin();
    191         EXPECT_TRUE(hasCommandLineArgument());
    192         delete plugin;
     211        this->loadPlugin();
     212        EXPECT_TRUE(hasCommandLineArgument());
     213        this->unloadPlugin();
    193214    }
    194215
    195216    TEST_F(PluginTest, UnloadsCommandLineArgument)
    196217    {
    197         PluginReference* plugin = loadPlugin();
    198         EXPECT_TRUE(hasCommandLineArgument());
    199         delete plugin;
     218        this->loadPlugin();
     219        EXPECT_TRUE(hasCommandLineArgument());
     220        this->unloadPlugin();
    200221        EXPECT_FALSE(hasCommandLineArgument());
    201222    }
     
    203224    TEST_F(PluginTest, ReloadsCommandLineArgument)
    204225    {
    205         PluginReference* plugin = loadPlugin();
    206         EXPECT_TRUE(hasCommandLineArgument());
    207         delete plugin;
     226        this->loadPlugin();
     227        EXPECT_TRUE(hasCommandLineArgument());
     228        this->unloadPlugin();
    208229        EXPECT_FALSE(hasCommandLineArgument());
    209         plugin = loadPlugin();
    210         EXPECT_TRUE(hasCommandLineArgument());
    211         delete plugin;
     230        this->loadPlugin();
     231        EXPECT_TRUE(hasCommandLineArgument());
     232        this->unloadPlugin();
    212233    }
    213234
    214235    TEST_F(PluginTest, CommandLineArgumentHasCorrectValue)
    215236    {
    216         PluginReference* plugin = loadPlugin();
     237        this->loadPlugin();
    217238
    218239        ASSERT_TRUE(hasCommandLineArgument());
    219240        EXPECT_EQ(333, CommandLineParser::getValue("testvalue").get<int>());
    220241
    221         delete plugin;
     242        this->unloadPlugin();
    222243    }
    223244
     
    235256    {
    236257        EXPECT_TRUE(getConsoleCommand() == NULL);
    237         PluginReference* plugin = loadPlugin();
    238         EXPECT_TRUE(getConsoleCommand() != NULL);
    239         delete plugin;
     258        this->loadPlugin();
     259        EXPECT_TRUE(getConsoleCommand() != NULL);
     260        this->unloadPlugin();
    240261    }
    241262
    242263    TEST_F(PluginTest, UnloadsConsoleCommand)
    243264    {
    244         PluginReference* plugin = loadPlugin();
    245         EXPECT_TRUE(getConsoleCommand() != NULL);
    246         delete plugin;
     265        this->loadPlugin();
     266        EXPECT_TRUE(getConsoleCommand() != NULL);
     267        this->unloadPlugin();
    247268        EXPECT_TRUE(getConsoleCommand() == NULL);
    248269    }
     
    250271    TEST_F(PluginTest, ReloadsConsoleCommand)
    251272    {
    252         PluginReference* plugin = loadPlugin();
    253         EXPECT_TRUE(getConsoleCommand() != NULL);
    254         delete plugin;
     273        this->loadPlugin();
     274        EXPECT_TRUE(getConsoleCommand() != NULL);
     275        this->unloadPlugin();
    255276        EXPECT_TRUE(getConsoleCommand() == NULL);
    256         plugin = loadPlugin();
    257         EXPECT_TRUE(getConsoleCommand() != NULL);
    258         delete plugin;
     277        this->loadPlugin();
     278        EXPECT_TRUE(getConsoleCommand() != NULL);
     279        this->unloadPlugin();
    259280    }
    260281
    261282    TEST_F(PluginTest, CanCallConsoleCommand)
    262283    {
    263         PluginReference* plugin = loadPlugin();
     284        this->loadPlugin();
    264285
    265286        ConsoleCommand* command = getConsoleCommand();
     
    268289        EXPECT_EQ(999, (*command->getExecutor())(333, 666).get<int>());
    269290
    270         delete plugin;
     291        this->unloadPlugin();
    271292    }
    272293}
Note: See TracChangeset for help on using the changeset viewer.