diff options
| author | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2012-03-15 09:54:46 +0000 |
|---|---|---|
| committer | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2012-03-15 09:54:46 +0000 |
| commit | affe968be60648ef2b890d51be16be4248b66792 (patch) | |
| tree | 7f25e67d245c82a4223bdc50acd379ab9e95f0bb /src/VBox/Main/testcase/tstAPI.cpp | |
| parent | ce1cfa3a3ef070b935d5f0b943b0388dce8bb429 (diff) | |
| download | VirtualBox-svn-affe968be60648ef2b890d51be16be4248b66792.tar.gz | |
tstAPI: added a test case for bandwidth group
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@40473 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/Main/testcase/tstAPI.cpp')
| -rw-r--r-- | src/VBox/Main/testcase/tstAPI.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/VBox/Main/testcase/tstAPI.cpp b/src/VBox/Main/testcase/tstAPI.cpp index c66b2116403..9deb73448bc 100644 --- a/src/VBox/Main/testcase/tstAPI.cpp +++ b/src/VBox/Main/testcase/tstAPI.cpp @@ -1424,6 +1424,65 @@ int main(int argc, char *argv[]) while (FALSE); RTPrintf("\n"); #endif +#if 0 + // check of network bandwidth control + /////////////////////////////////////////////////////////////////////////// + do + { + // Get machine + ComPtr<IMachine> machine; + ComPtr<IBandwidthControl> bwCtrl; + ComPtr<IBandwidthGroup> bwGroup; + ComPtr<INetworkAdapter> nic; + Bstr name = argc > 1 ? argv[1] : "ubuntu"; + Bstr sessionType = argc > 2 ? argv[2] : "headless"; + Bstr grpName = "tstAPI"; + RTPrintf("Getting a machine object named '%ls'...\n", name.raw()); + CHECK_ERROR_BREAK(virtualBox, FindMachine(name.raw(), machine.asOutParam())); + /* open a session for the VM (new or shared) */ + CHECK_ERROR_BREAK(machine, LockMachine(session, LockType_Shared)); + SessionType_T st; + CHECK_ERROR_BREAK(session, COMGETTER(Type)(&st)); + bool fRunTime = (st == SessionType_Shared); + if (fRunTime) + { + RTPrintf("Machine %ls must not be running!\n"); + break; + } + /* get the mutable session machine */ + session->COMGETTER(Machine)(machine.asOutParam()); + CHECK_ERROR_BREAK(machine, COMGETTER(BandwidthControl)(bwCtrl.asOutParam())); + + RTPrintf("Creating bandwidth group named '%ls'...\n", grpName.raw()); + CHECK_ERROR_BREAK(bwCtrl, CreateBandwidthGroup(grpName.raw(), BandwidthGroupType_Network, 123)); + + + CHECK_ERROR_BREAK(bwCtrl, GetBandwidthGroup(grpName.raw(), bwGroup.asOutParam())); + CHECK_ERROR_BREAK(machine, GetNetworkAdapter(0, nic.asOutParam())); + RTPrintf("Assigning the group to the first network adapter...\n"); + CHECK_ERROR_BREAK(nic, COMSETTER(BandwidthGroup)(bwGroup)); + { + ComPtr<IBandwidthGroup> bwGroupReadFromNic; + Bstr grpNameReadFromNic; + RTPrintf("Reading the group back from the first network adapter...\n"); + CHECK_ERROR_BREAK(nic, COMGETTER(BandwidthGroup)(bwGroupReadFromNic.asOutParam())); + CHECK_ERROR_BREAK(bwGroupReadFromNic, COMGETTER(Name)(grpNameReadFromNic.asOutParam())); + if (grpName != grpNameReadFromNic) + RTPrintf("Error: Bandwidth group names do not match (%ls != %ls)!\n", grpName.raw(), grpNameReadFromNic.raw()); + else + RTPrintf("Successfully retrieved bandwidth group attribute from NIC (name=%ls)\n", grpNameReadFromNic.raw()); + ComPtr<IBandwidthGroup> bwGroupEmpty; + RTPrintf("Assigning an empty group to the first network adapter...\n"); + CHECK_ERROR_BREAK(nic, COMSETTER(BandwidthGroup)(bwGroupEmpty)); + } + RTPrintf("Removing bandwidth group named '%ls'...\n", grpName.raw()); + CHECK_ERROR_BREAK(bwCtrl, DeleteBandwidthGroup(grpName.raw())); + RTPrintf("Press enter to close this session..."); + getchar(); + session->UnlockMachine(); + } while (FALSE); + RTPrintf("\n"); +#endif RTPrintf("Press enter to release Session and VirtualBox instances..."); getchar(); |
