Global Communications > Latest News & Announcements

GoldenEye: Source Release Roadmap

<< < (2/12) > >>

killermonkey:

--- Code: ---

[==========] Running 23 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 12 tests from TimerTest
[ RUN      ] TimerTest.InitialTimer
[       OK ] TimerTest.InitialTimer (0 ms)
[ RUN      ] TimerTest.StartTimer
[       OK ] TimerTest.StartTimer (0 ms)
[ RUN      ] TimerTest.PauseTimer
[       OK ] TimerTest.PauseTimer (0 ms)
[ RUN      ] TimerTest.ResumeTimer
[       OK ] TimerTest.ResumeTimer (0 ms)
[ RUN      ] TimerTest.StopTimer
[       OK ] TimerTest.StopTimer (0 ms)
[ RUN      ] TimerTest.BadStartTimer
[       OK ] TimerTest.BadStartTimer (0 ms)
[ RUN      ] TimerTest.DualStartTimer
[       OK ] TimerTest.DualStartTimer (0 ms)
[ RUN      ] TimerTest.ChangeTimerLengthSame
[       OK ] TimerTest.ChangeTimerLengthSame (0 ms)
[ RUN      ] TimerTest.ChangeTimerLengthLess
[       OK ] TimerTest.ChangeTimerLengthLess (0 ms)
[ RUN      ] TimerTest.ChangeTimerLengthMore
[       OK ] TimerTest.ChangeTimerLengthMore (0 ms)
[ RUN      ] TimerTest.ChangeTimerLengthPaused
[       OK ] TimerTest.ChangeTimerLengthPaused (0 ms)
[ RUN      ] TimerTest.ChangeTimerLengthDisabled
[       OK ] TimerTest.ChangeTimerLengthDisabled (0 ms)
[----------] 12 tests from TimerTest (1 ms total)

[----------] 11 tests from GameplayTest
[ RUN      ] GameplayTest.StartRound
[       OK ] GameplayTest.StartRound (42 ms)
[ RUN      ] GameplayTest.EndRound_ByCall
[       OK ] GameplayTest.EndRound_ByCall (44 ms)
[ RUN      ] GameplayTest.EndRound_ByTime
[       OK ] GameplayTest.EndRound_ByTime (45 ms)
[ RUN      ] GameplayTest.EndMatch_ByCall_OneRound
[       OK ] GameplayTest.EndMatch_ByCall_OneRound (40 ms)
[ RUN      ] GameplayTest.EndMatch_ByCall_MultiRound
[       OK ] GameplayTest.EndMatch_ByCall_MultiRound (80 ms)
[ RUN      ] GameplayTest.EndMatch_ByTime
[       OK ] GameplayTest.EndMatch_ByTime (77 ms)
[ RUN      ] GameplayTest.EndRound_Blocked_ByScenario
[       OK ] GameplayTest.EndRound_Blocked_ByScenario (40 ms)
[ RUN      ] GameplayTest.EndRound_Blocked_ByTimer
[       OK ] GameplayTest.EndRound_Blocked_ByTimer (43 ms)
[ RUN      ] GameplayTest.EndMatch_Blocked_ByScenario
[       OK ] GameplayTest.EndMatch_Blocked_ByScenario (76 ms)
[ RUN      ] GameplayTest.EndMatch_Blocked_ByTimer
[       OK ] GameplayTest.EndMatch_Blocked_ByTimer (116 ms)
[ RUN      ] GameplayTest.CheckRoundLock
[       OK ] GameplayTest.CheckRoundLock (4 ms)
[----------] 11 tests from GameplayTest (608 ms total)

[----------] Global test environment tear-down
[==========] 23 tests from 2 test cases ran. (610 ms total)
[  PASSED  ] 23 tests.
Completed running all tests

--- End code ---

Oh yah baby! It's game time, the Round/Match recode is completed!

Oh and btw, I took this opportunity to integrate Google Test into the Source SDK :-)
Now all critical pieces of GES code are covered under test cases! (this means less bugs and faster releases)

Rick Astley:
Fantastic News KM :)

how does Google Test into Source SDK help? just curious

killermonkey:
Google Test is a C++ testing framework that allows you to run automated tests of your code and report the results.

Here is a sample test that generated the output for "GameplayTest.EndRound_ByCall" above:


--- Code: ---
TEST_F( GameplayTest, EndRound_ByCall ) {
// Start the round
AdvanceGameTime( 1.0f );
gameplay->OnThink();

// Force round end
AdvanceGameTime( 1.0f );
gameplay->EndRound();

// Make sure we are in a round intermission
EXPECT_FALSE( gameplay->IsInRound() );
EXPECT_TRUE( gameplay->IsInRoundIntermission() );
EXPECT_FALSE( gameplay->IsInFinalIntermission() );
}

--- End code ---

This test sets up a match as if you just started the server then proceeds to start the first round and then end that round by calling the "EndRound" function. This simulates a call to "GEMPGameRules.EndRound()" from Python.

By doing this I can see if my code contains logic errors that would prevent rounds or matches from ending in various conditions. This allows me to test all my code at once and be sure that what I changed did not break the underlying functionality. THIS IS CRITICAL TO MOVING TO SDK 2013!

Another benefit is that when we go to open source, if I member recommends a code change, I can run it against our tests to make sure they don't break anything.

Kratos:
All of my c++ coding assignments would never pass that test.

El Dudereno:
Soooo not to be pushy or anything but how about a 4.2.4 update?  Thanks.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version