Поделиться через


Функциональный тест Winsock Core

Этот автоматизированный тест выполняет итерацию некоторых основных функций Winsock по интерфейсу замыкания на себя и проверяет, правильно ли поддерживается интерфейс API Winsock.

Все тесты охватывают сокеты IPv4 и IPv6, которые привязываются к интерфейсу замыкания на себя. Ниже приведены варианты.

  • Каталог сокетов. Перечисляет каталог Winsock, создает сокет для каждой возвращаемой структуры protocolinfo (каждого кортежа протокола) и привязывает его к интерфейсу замыкания на себя.

  • ПЕРЕКРЫВАЮЩИЕСЯ ОПЕРАЦИИ ВВОДА-ВЫВОДА. Создает сокеты tcp-потока IPv4 и IPv6, устанавливает соединение через замыкания на себя и отправляет данные между сокетами с помощью блокировки отправки и перекрывающихся вызовов приема. Все данные проверяются по мере получения.

  • Вариант TransmitFile. Проверяет, правильно ли SendFile отправляет данные, и реализует флаг TF_DISCONNECT для повторного использования сокетов IPv4 и IPv6. Создает 260-байтовый временный файл и передает данные по TCP-подключению через TransmitFile. Прослушивающий сокет использует AcceptEx для проверки подключения и повторного использования сокета.

  • ConditionalAccept. Проверяет семантику условного принятия для сокетов потоков TCP IPv4 и IPv6. Проверяет пять подключений: без прослушивателя, CF_REJECT,CF_ACCEPT, CF_DEFER + CF_REJECT и CF_DEFER + CF_ACCEPT.

  • Потоки. Блокирует отправку и получение через сокеты потока TCP IPv4 и IPv6. Откладывает прием вызовов с нулевым невыполненной работой по прослушиваниям, пока подключение не будет завершено.

  • Датаграммы. Проверяет отправку и получение датаграмм через сокеты UDP IPv4 и IPv6. Проверяет отправку датаграмм через подключение, отправку и получение, а также отправку и получение данных без подключения.

  • Выберите Проверяет уведомления READFDS в сокетах TCP IPv4 и IPv6 на наличие признаков установления подключения, получения данных и закрытия сокета.

  • Привязки. Проверяет семантику привязки для сокетов TCP IPv4 и IPv6: базовая привязка, SO_REUSEADDR привязки и SO_EXCLUSIVEADDRUSE привязки.

  • ReadFile/WriteFile. Проверяет правильность работы перекрывающихся функций ReadFile() и WriteFile() в сокетах TCP IPv4 и IPv6.

  • Завершение работы. Проверяет семантику shutdown() в сокетах TCP IPv4 и IPv6, устанавливая подключение, публикуя блокирующий прием и проверяя, завершает ли вызов завершения завершения получения с нулевым числом полученных байтов.

  • Решения. Проверяет преобразование адресов IPv4 и IPv6 из строк h, decimal и octal в соответствующие значения структуры адресов сокета (WSAAddressToString и WSAStringToAddress).

  • Многоадресная рассылка. Для IPv4 и IPv6 проверяет присоединение к группам многоадресной рассылки с помощью IP_ADD_MEMBERSHIP и IPV6_ADD_MEMBERSHIP, отправки и получения данных в группу и выхода из группы.

  • JoinLeaf. Для IPv4 и IPv6 проверяет присоединение к группам многоадресной рассылки с помощью WSAJoinLeaf, отправляет и получает данные в группу, а также покидает группу.

  • AsyncSelect. Для сокетов TCP IPv4 и IPv6 проверяет, обрабатываются ли сообщения Windows FD_CONNECT, FD_SEND и FD_READ с помощью WSAsyncSelect. Также проверяет, обрабатывается ли FD_CONNECT при завершении многоадресного сокета WSAJoinLeaf.

  • IOCP. Для сокетов TCP IPv4 и IPv6 выполняет перекрывающиеся вызовы приема, в которых сокет связан с портом завершения ввода-вывода. Также проверяет, обрабатываются ли перекрывающиеся завершения и получены ли все данные.

  • Сокет RAW. Для IPv4 и IPv6 создает необработанные сокеты, отправляя и получая сообщения ICMP через перекрывающиеся операции ввода-вывода.

  • Pnp. Проверяет, отображается ли уведомление об изменении перекрывающегося адреса при добавлении IP-адресов без замыкания на себя и удалении из первого ip-адреса без замыкания на себя.

Дополнительные сведения об API Winsock см. в разделе Сокеты Windows 2.

Сведения о тесте

   
Характеристики
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.AntiVirus.Winsock
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 30
Категория Разработка
Время ожидания (в минутах) 1800
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:

Запуск теста

Дополнительные сведения о требованиях см. в разделе Предварительные требования для тестирования файловой системы.

Кроме того, для этого теста требуется следующее программное обеспечение:

  • Драйвер фильтра для тестирования вместе с любым вспомогательным набором приложений

  • По крайней мере один подключенный сетевой интерфейс с допустимыми адресами IPv4 и IPv6

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в статье Устранение неполадок тестов HLK в Windows.

Сведения об устранении неполадок см. в разделе Устранение неполадок при тестировании файловой системы.

Все тестовые случаи возвращают значение Pass или Fail. Чтобы просмотреть сведения о тесте, просмотрите журнал тестирования из Windows HLK Studio.

Примечание

   Брандмауэр Windows может открыть сообщение о том, что брандмауэр может блокировать некоторые функции теста. Однако брандмауэр не влияет на тест. Это сообщение можно проигнорировать.

 

Если эта процедура не дает успешного результата теста, отправьте журнал тестирования с данными для конкретного устройства или системы в псевдоним поддержки Комплекта аппаратных лабораторий Windows (HLK).

Дополнительные сведения

Синтаксис команды

Параметр команды Описание

Winsockfunctional -protocol ip -t "Winsock API\Current Protocols (IPv4/IPv6)\BVT" -wtt -r -dontdisable -ipsec -notrace

Необходимо указать этот основной аргумент.

-lsponly

Этот аргумент необходимо добавить при установке LSP.

Примечание

   Для справки командной строки для этого тестового двоичного файла введите /h.

 

Список файлов

Файл Расположение

WinsockFunctional.exe

<[testbinroot]>\NTTest\NetTest\Winsock\common\

WinsockFunctional.wtl

Подробный журнал выходных данных, содержащий результаты теста

Wsbvt.log

Сводный журнал выходных данных результатов теста

Bvterr.log

Сводный журнал выходных данных результатов теста

Fnshell.ini

Временный файл .ini, создаваемый и использующийся тестом

 

Параметры

Имя параметра Описание параметра
LLU_LocalAdmin LLU для выполнения
LLU_NetAccessOnly LLU для копирования