コード例 #1
0
        public void TC005_DiskHasPartitionTest()
        {
            // Arrange
            // Try getting info for disk 0 or 1, one of them should exist on a normal Windows installation
            int diskId0 = 0;
            int diskId1 = 1;

            // Act
            bool hasPartition = false;

            try
            {
                hasPartition = DiskUtil.DiskHasPartition(diskId0);
            }
            catch { }

            if (!hasPartition)
            {
                try
                {
                    hasPartition = DiskUtil.DiskHasPartition(diskId1);
                }
                catch { }
            }

            // Assert
            Assert.IsTrue(hasPartition);
        }
コード例 #2
0
ファイル: Bootstrap.cs プロジェクト: mrdavidlaing/bosh-dotnet
        private void SetupDiskData()
        {
            int dataDiskId = int.Parse(this.platform.GetDataDiskDeviceName, CultureInfo.InvariantCulture);

            string dataDir = Path.Combine(BaseDir, "data");

            if (!Directory.Exists(dataDir))
            {
                Directory.CreateDirectory(dataDir);
            }

            if (!DiskUtil.DiskHasPartition(dataDiskId))
            {
                Logger.Info("Creating partition on drive " + dataDiskId);
                if (DiskUtil.CreatePrimaryPartition(dataDiskId, "data") != 0)
                {
                    Logger.Error("Could not create partition on drive " + dataDiskId);
                }
            }

            if (!DiskUtil.IsMountPoint(dataDir))
            {
                if (DiskUtil.MountPartition(dataDiskId, dataDir) != 0)
                {
                    Logger.Error("Could not mount disk " + dataDiskId + " to " + dataDir);
                }
            }
            SetupDataSys();
        }
コード例 #3
0
        public static void MountPersistentDisk(int diskId)
        {
            if (!Directory.Exists(StorePath))
            {
                Directory.CreateDirectory(StorePath);
            }
            if (!DiskUtil.DiskHasPartition(diskId))
            {
                if (DiskUtil.CreatePrimaryPartition(diskId, "store") != 0)
                {
                    Logger.Error("Could not create partition on drive " + diskId);
                }
            }

            if (DiskUtil.MountPartition(diskId, StorePath) != 0)
            {
                Logger.Error("Could not mount disk " + diskId + " to " + StorePath);
                throw new Errors.FatalBoshException("Failed to mount: " + diskId + " to " + StorePath);
            }
        }
コード例 #4
0
        public void TC008_DiskHasPartitionInvalidDiskIdTest()
        {
            // Arrange
            int       diskId       = int.MinValue;
            Exception expected     = null;
            bool      hasPartition = false;

            // Act
            try
            {
                hasPartition = DiskUtil.DiskHasPartition(diskId);
            }
            catch (Exception ex)
            {
                expected = ex;
            }

            // Assert
            Assert.IsFalse(hasPartition);
            Assert.IsNotNull(expected);
            Assert.IsInstanceOfType(expected, typeof(MessageHandlerException));
        }