Skip to main content

test extract

[Conexão] Crie um conjunto de dados para um diretório de teste.

Quem pode usar esse recurso?

O CodeQL do GitHub é licenciado por usuário após a instalação. Você pode usar o CodeQL somente para determinadas tarefas sob as restrições de licença. Para obter mais informações, confira "Sobre a CLI do CodeQL".

Se você tiver uma licença do GitHub Advanced Security, poderá usar o CodeQL para análise automatizada, integração contínua e entrega contínua. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".

Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira https://github.com/github/codeql-cli-binaries/releases.

Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção --help no terminal.

Sinopse

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

Descrição

[Conexão] Crie um conjunto de dados para um diretório de teste.

Crie um banco de dados para um diretório de teste especificado, sem realmente executar nenhuma consulta de teste. Gera o caminho para o conjunto de dados QL bruto no qual as consultas de teste serão executadas.

Opções

Opções principais

<testDir>

[Obrigatório] O caminho para o diretório de teste.

--database=<dir>

Substitua o local do banco de dados que está sendo criado. Por padrão, ele será um subdiretório cujo nome é derivado do nome do próprio diretório de teste com '.testproj' acrescentado.

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

Uma lista de diretórios nos quais os pacotes de extratores podem ser encontrados. Os diretórios podem ser os próprios pacotes extratores ou diretórios que contenham extratores como subdiretórios imediatos.

Se o caminho contiver várias árvores de diretório, a ordem delas definirá a precedência entre elas: se for encontrada uma correspondência da linguagem de destino em mais de uma das árvores de diretório, a primeira fornecida vencerá.

Os extratores empacotados com a própria cadeia de ferramentas CodeQL sempre serão encontrados, mas se você precisar usar extratores distribuídos separadamente, forneça essa opção (ou, melhor ainda, configure --search-path em um arquivo de configuração por usuário).

(Observação: no Windows, o separador de caminho é ;).

--cleanup

Remova o banco de dados de teste em vez de criá-lo.

--[no-]show-extractor-output

[Avançado] Mostre a saída de scripts de extratores que criam bancos de dados de teste. Isso pode ser útil ao desenvolver ou editar casos de teste. Use-a com cautela, pois ela pode causar uma saída duplicada ou malformada caso seja usada com vários threads.

--[no-]check-undefined-labels

[Avançado] Relate os erros de rótulos indefinidos.

--[no-]check-unused-labels

[Avançado] Relate os erros de rótulos não utilizados.

--[no-]check-repeated-labels

[Avançado] Relate os erros de rótulos repetidos.

--[no-]check-redefined-labels

[Avançado] Relate os erros de rótulos redefinidos.

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

[Avançado] Relate os erros de rótulos usados antes de serem definidos.

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

[Avançado] Gere uma saída diferente de zero se ocorrer um erro durante a importação do TRAP.

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

[Avançado] Construa IDs de entidade que codificam o local no arquivo TRAP de origem. Pode ser útil para a depuração de geradores TRAP, mas ocupa muito espaço no conjunto de dados.

--[no-]linkage-aware-import

[Avançado] Controla se a importação do conjunto de dados codeql é compatível com vinculação (padrão) ou não. Em projetos em que essa parte da criação de banco de dados consome muita memória, desabilitar essa opção pode ajudá-los a progredir às custas da integridade do banco de dados.

Disponível desde v2.15.3.

--format=<fmt>

Selecione o formato de saída: text (padrão) ou json.

Opções comuns

-h, --help

Mostre este texto de ajuda.

-J=<opt>

[Avançado] Forneça a opção para a JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

-v, --verbose

Aumente incrementalmente o número de mensagens de progresso impressas.

-q, --quiet

Diminua incrementalmente o número de mensagens de progresso impressas.

--verbosity=<level>

[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui -v e -q.

--logdir=<dir>

[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça --log-to-stderr e redirecione stderr conforme desejado.)

--common-caches=<dir>

[Avançado] Controle a localização dos dados armazenados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilada. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado .codeql no diretório inicial do usuário; que será criado se ainda não existir.

Disponível desde v2.15.2.