Skip to main content

Тестовое извлечение

[Сантехника] Создание набора данных для тестового каталога.

GitHub CodeQL лицензируется для каждого пользователя после установки. CodeQL можно использовать только для определенных задач с ограничениями лицензии. Дополнительные сведения см. в разделе Сведения о CodeQL CLI.

Если у вас есть лицензия на GitHub Advanced Security, вы можете использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной поставки. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

В этом содержимом описывается последний выпуск CodeQL CLI. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help .

Краткий обзор

Shell
codeql test extract <options>... -- <testDir>

Описание

[Сантехника] Создание набора данных для тестового каталога.

Создайте базу данных для указанного тестового каталога, фактически не выполняя тестовые запросы. Выводит путь к необработанному набору данных QL для выполнения тестовых запросов.

Основные параметры

<testDir>

[Обязательно] Путь к каталогу тестирования.

--database=<dir>

Переопределите расположение создаваемой базы данных. По умолчанию это будет подкаталог, имя которого является производным от имени самого тестового каталога с добавлением .testproj.

--search-path=<dir>[:<dir>...]

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

Если путь содержит несколько деревьев каталогов, их порядок определяет приоритет между ними: если целевой язык совпадает в нескольких деревьях каталогов, то первое из них выигрывает.

Средства извлечения, в комплекте с самой цепочкой инструментов CodeQL, всегда будут найдены, но если вам нужно использовать отдельно распределенные средства извлечения, необходимо предоставить этот параметр (или, что еще лучше, настроить --search-path в файле конфигурации для каждого пользователя).

(Примечание. В Windows разделителем пути является ;).

--cleanup

Удалите тестовую базу данных, а не создавайте ее.

--[no-]show-extractor-output

[Дополнительно] Отображение выходных данных из скриптов средства извлечения, создающих тестовые базы данных. Это может быть полезно при разработке или редактировании тестовых случаев. Помните, что это может привести к дублированию или неправильному формату выходных данных, если вы используете его с несколькими потоками.

--[no-]check-undefined-labels

[Дополнительно] Сообщать об ошибках для неопределенных меток.

--[no-]check-unused-labels

[Дополнительно] Сообщать об ошибках для неиспользуемых меток.

--[no-]check-repeated-labels

[Дополнительно] Сообщать об ошибках для повторяющиеся метки.

--[no-]check-redefined-labels

[Дополнительно] Сообщать об ошибках для переопределенных меток.

--[no-]check-use-before-definition

[Дополнительно] Сообщать об ошибках для меток, используемых до их определения.

--[no-]fail-on-trap-errors

[Дополнительно] Выйдите ненулевое значение, если во время импорта ловушки произошла ошибка.

--[no-]include-location-in-star

[Дополнительно] Создайте идентификаторы сущностей, которые кодируют расположение в файле TRAP, из который они пришли. Может быть полезно для отладки генераторов TRAP, но занимает много места в наборе данных.

--format=<fmt>

Выберите формат вывода (textпо умолчанию) или json.

Общие параметры

-h, --help

Показать этот текст справки.

-J=<opt>

[Дополнительно] Предоставьте параметр виртуальной машине JVM, выполняющую команду .

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

-v, --verbose

Постепенно увеличивать количество выводемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, progress, progress+, progress++, progress+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющейся подкоманды.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr и перенаправьте stderr.)