Как я могу моделировать диск полная ошибка в среде Windows?

Спасибо за фрагмент кода ... спасли меня много времени!

Мне нужно было обрабатывать пару дополнительных случаев синтаксического анализа, таких как порядковые слова («первый», «второй»), переносимые слова («сто») и дефисные порядковые слова типа «пятьдесят- седьмой "), поэтому я добавил пару строк:

def text2int(textnum, numwords={}):
    if not numwords:
        units = [
        "zero", "one", "two", "three", "four", "five", "six", "seven", "eight",
        "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
        "sixteen", "seventeen", "eighteen", "nineteen",
        ]

        tens = ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]

        scales = ["hundred", "thousand", "million", "billion", "trillion"]

        numwords["and"] = (1, 0)
        for idx, word in enumerate(units):  numwords[word] = (1, idx)
        for idx, word in enumerate(tens):       numwords[word] = (1, idx * 10)
        for idx, word in enumerate(scales): numwords[word] = (10 ** (idx * 3 or 2), 0)

    ordinal_words = {'first':1, 'second':2, 'third':3, 'fifth':5, 'eighth':8, 'ninth':9, 'twelfth':12}
    ordinal_endings = [('ieth', 'y'), ('th', '')]

    textnum = textnum.replace('-', ' ')

    current = result = 0
    for word in textnum.split():
        if word in ordinal_words:
            scale, increment = (1, ordinal_words[word])
        else:
            for ending, replacement in ordinal_endings:
                if word.endswith(ending):
                    word = "%s%s" % (word[:-len(ending)], replacement)

            if word not in numwords:
                raise Exception("Illegal word: " + word)

            scale, increment = numwords[word]

         current = current * scale + increment
         if scale > 100:
            result += current
            current = 0

    return result + current`
18
задан Alceu Costa 15 June 2009 в 02:25
поделиться

10 ответов

Вы могли попытаться писать в полный гибкий диск.

Редактирование:

световой сигнал In Вашего отредактированного вопроса, Вы могли настроить сетевой ресурс без квоты дискового пространства и записать в это. Ошибка будет затем произведена независимо от зарегистрированного пользователя или машины.

12
ответ дан 30 November 2019 в 05:54
поделиться

Загрузите и установите TrueCrypt. Можно затем создать виртуальный раздел любого размера, Вы хотите (несколько мегабайтов), монтируете его и затем заполняете его несколькими документами.

10
ответ дан 30 November 2019 в 05:54
поделиться

Это могло бы походить на слишком, но одна вещь, о которой я могу думать, состоит в том, чтобы использовать виртуальную машину и установить ее виртуальный диск на просто достаточно большой для установки ОС на. Заполните его некоторыми файлами мусора для добавления подсказки его по краю, затем запустите программу.

7
ответ дан 30 November 2019 в 05:54
поделиться

Вы могли установить маленький электронный диск и записать в это. Посмотрите эту страницу приблизительно для свободные продукты электронного диска .

4
ответ дан 30 November 2019 в 05:54
поделиться

Создайте вторичный раздел, заполните его спамом и затем запустите Вашу программу там.

5
ответ дан 30 November 2019 в 05:54
поделиться

Создайте нового пользователя accout, установите квоту для нее и используйте руны для запущения приложения как того пользователя. (не точно то же как полный диск, но должен иметь подобные последствия.)

2
ответ дан 30 November 2019 в 05:54
поделиться

Для Windows XP или позже:

Эта команда может получить количество свободного пространства для диска c:\:

for /f "usebackq tokens=1-5" %%A in (`dir c:\ ^| find "bytes free"`) do (
    set FREE_SPACE=%%C
)

Замена c:\ с Вашим диском, по мере необходимости.

можно затем занять некоторое место далеко от этого значения, таким образом, у Вас есть немного комнаты для работы с:

set /a FREE_SPACE=FREE_SPACE-1024

или однако много пространства Вы хотите сохранить свободными.

можно использовать эти fsutil команда для создания файла для заполнения свободного пространства на диске:

fsutil file createnew c:\spacehog.dat %FREE_SPACE%

Запущенный Ваш тест, пишущий в диск. После записи приблизительно 1 024 байтов, у необходимо закончиться пространство.

11
ответ дан 30 November 2019 в 05:54
поделиться

Операционная система ответит по-другому на, он - системный диск, заполняющийся, чем к другому заполнению дисков и как таковой, Ваше приложение сделает так также, конечно? Просто заполнение диска независимо от того, что используются физические среды, не будет точным тестом.

Разве Вы не можете дразнить событие файловой системы за полный диск? Почему Вы хотели бы ожидать, пока диск не полон? Разве Вы не хотели бы контролировать дисковое пространство периодически и предупреждать пользователя, когда диск с полем процента заполнения? Вместо того, чтобы ожидать до, дисковое пространство является терминальным, просто препятствуют тому, чтобы Ваше приложение работало, пока вопрос не решен, не делание так могло произвести любые данные IO и быть неисправимо!

, Если тест имеет , чтобы быть трудным интеграционным тестом, затем автоматизирующим виртуальную машину, развертывая приложение и затем заполнить остающееся пространство рекурсивным сценарием, выполнимо.

2
ответ дан 30 November 2019 в 05:54
поделиться

используйте очень небольшую цель iscsi

1
ответ дан 30 November 2019 в 05:54
поделиться

Лучшей вещью, которая работает над каждым компьютером (поскольку тестирование не обязательно сделано на выделенной машине) был бы ramdrive/ramdisk, который мог быть настроен на лету.

Только нашел Виртуальный диск, который SDK до сих пор видит здесь , который, возможно, мог быть включен в Ваш процесс buzild.

Другая идея: возможно, Ваши компьютеры тестирования могли быть настроены для записи в папку общей сети (который полон), монтируются как диск?

2
ответ дан 30 November 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: