10 #include <gtest/gtest.h> 16 TEST(ProcessTest, createProcess)
20 ASSERT_NE(process,
nullptr);
21 EXPECT_FALSE(process->isRealTime());
25 TEST(ProcessTest, priority)
29 process->setPriority(5);
30 EXPECT_EQ(process->getPriority(), 5);
33 TEST(ProcessTest, createRealTimeTask)
43 ASSERT_NE(process,
nullptr);
44 EXPECT_TRUE(process->isRealTime());
45 EXPECT_EQ(process->getPid(), pid);
46 EXPECT_DOUBLE_EQ(process->getPeriod(), period);
47 EXPECT_DOUBLE_EQ(process->getDeadline(), deadline);
48 EXPECT_EQ(process->getJobNumber(), (unsigned)0);
49 EXPECT_DOUBLE_EQ(process->getWcet(), wcet);
50 process->incrementJobNumber();
51 EXPECT_EQ(process->getJobNumber(), (unsigned)1);
54 TEST(ProcessTest, createNextJob)
65 ASSERT_NE(process2,
nullptr);
66 EXPECT_TRUE(process2->isRealTime());
67 EXPECT_EQ(process2->getPid(), pid);
68 EXPECT_DOUBLE_EQ(process2->getPeriod(), period);
69 EXPECT_DOUBLE_EQ(process2->getDeadline(), deadline);
70 EXPECT_DOUBLE_EQ(process2->getWcet(), wcet);
71 EXPECT_EQ(process2->getJobNumber(), (unsigned)1);
74 TEST(ProcessTest, getNewPid)
79 EXPECT_EQ(pid2, pid1+1);
82 TEST(ProcessTest, DISABLED_randomGenerator)
92 ASSERT_NE(process,
nullptr);
95 TEST(ProcessTest, manageAow)
100 double deadline = 28;
105 ASSERT_NE(process,
nullptr);
106 EXPECT_DOUBLE_EQ(process->getCurrentCpuAow(), wcet);
107 process->advanceBurst();
108 process->updateCurrentAow(8.5);
109 EXPECT_DOUBLE_EQ(process->getCurrentCpuAow(), 8.5);
112 TEST(ProcessTest, deadlineTime)
116 double period = 30.0;
117 double deadline = 28;
122 ASSERT_NE(process,
nullptr);
124 process->setDeadlineTimeFromStartTime(1.0);
125 EXPECT_DOUBLE_EQ(process->getDeadline(), deadline);
126 EXPECT_DOUBLE_EQ(process->getDeadlineTime(), deadline + 1.0);
static std::shared_ptr< Process > createRealTimeTask(double wcet, double T, double dl, int pid, int priority=0, double bcet=0.0)
creates a real time task
static void setRandomGenerator(Utils::RandomGenerator *gen)
specify what random generator to use for interactive task length
static std::shared_ptr< Process > createProcess(double cpuLambda, double ioLambda)
creates an "interactive" process
static int getNewPid()
returns new process identifier. The value returned gets incremented at each call
TEST(ProcessTest, createProcess)
static std::shared_ptr< Process > createNextJob(const Process &task)
create the next job for a task