InglêsFrancêsEspanhol

favicon do OnWorks

tesh - Online na nuvem

Execute o tesh no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando tesh que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


tesh - shell de teste

SINOPSE


teste [OPÇÃO] ... [ARQUIVO] ...

DESCRIÇÃO


Esta é a ferramenta TESH. Constitui um shell de teste, ou seja, uma espécie de shell especializado para
executar testes. A lista de ações a serem tomadas é analisada a partir de arquivos de arquivos chamados de testsuite.

OPÇÕES


--cd algum diretório /: peça ao tesh para mudar o diretório de trabalho antes
lançando os testes
--setenv var = value: define uma variável de ambiente específica
--cfg arg: adiciona o parâmetro --cfg = arg a cada linha de comando
--enable-cobertura: ignora as linhas de saída começando com "profiling:"

TESH ARQUIVO SINTAXE


Esta é a sintaxe desses arquivos:

O tipo de cada linha é dado pelo primeiro caractere (o segundo caractere deve estar em branco e é
ignorado):

Comando `$ 'para rodar em primeiro plano
Comando `& 'para rodar em segundo plano
`<'entrada para passar para o comando
`> 'saída esperada do comando
`! ' metacommand, que pode ser um dos seguintes:
`tempo limite ' não
`esperar sinal '
`esperar retorno '
`saída '
`setenv = '
`p 'uma string para imprimir
`P 'uma string para imprimir no nível CRÍTICO (facilidade de registro de grepping)

Se a saída esperada não corresponder ao que o comando exibe, o TESH produzirá um erro
mostrando o diff (veja OUTPUT abaixo).

IO ORDENS


As linhas <e> adicionam IO ao comando definido no bloco atual (os blocos são separados
por linhas em branco). É possível colocar essas linhas depois do comando ou antes.
A diferença entre os dois blocos a seguir é principalmente cosmética em suas suítes de teste,
TESH não se importa. (cf IO-orders.tesh)

$ gato
<TOTO
> TOTO

> TOTO
$ gato
<TOTO

No entanto, é possível ter vários comandos no mesmo bloco, mas nenhum deles
pode ter qualquer saída. Pode parecer um pouco restritivo, como se poderia dizer que um comando obtém
todo o IO até o próximo comando, mas tenho medo de erros como o seguinte:

$ cd totó
> TOTO
arquivo $ mkfile

TOTO será passado para o comando cd, onde o usuário claramente deseja passá-lo para o
Comando integrado mkfile (veja abaixo).

STREAM REDIRECÇÃO


Os redirecionamentos de fluxo (construções ">", "<" e "|" em sh) ainda não foram implementados em tesh.
Isso é um pouco restritivo, mas bem, patch bem-vindo ...

A situação em que é mais problemático é a criação de um arquivo temporário. o
solução é usar o comando interno "mkfile", como no exemplo a seguir: $ mkfile
meuArquivo> algum conteúdo> para o arquivo

Isso criará um arquivo chamado myFile (primeiro argumento do comando mkfile). Seu conteúdo
será toda a entrada fornecida para o comando.

RETORNO CÓDIGO


TESH cospe uma mensagem de erro apropriada quando a criança não retorna 0 como código de retorno (cf.
catch-return.tesh) e retorna o próprio código + 40.

Também é possível especificar que um determinado comando deve retornar outro valor. Por esta,
use o metacommand "esperar retorno", que leva um inteiro como argumento. A mudança apenas
aplicar ao próximo comando (cf. set-return.tesh).

SINAIS


O TESH detecta quando a criança é morta por um sinal (como em segfaults) e cospe um
mensagem de erro apropriada (cf. catch-signal.tesh).

Também é possível especificar que um determinado comando deve disparar um determinado sinal. Por esta,
use o metacommand "esperar sinal". Leva o nome do sinal como argumento. A mudança apenas
aplicar ao próximo comando (cf. set-signal.tesh).

PRAZOS


Por padrão, todos os comandos têm 5 segundos para serem executados (cf. catch-timeout.tesh). Você pode
mude isso com o "tempo limite", que leva um número inteiro como argumento. A mudança só se aplica
para o próximo comando (cf. set-timeout.tesh). Se você passar "não" como argumento, o comando
não pode expirar.

SAÍDA


Por padrão, a saída dos comandos é comparada com a esperada e um erro é
gerado em discrepância. Metacommandos para mudar isso:
"output ignore" -> output completamente descartado
"display de saída" -> saída exibida (mas não verificada)
"output sort" -> classifica a exibição antes de verificá-la (veja abaixo)

ORDENAÇÃO SAÍDA


Classificar a saída parece ser uma ideia estranha, mas é obrigatório no SimGrid já que o
os processos ficam fora de ordem em qualquer ponto de agendamento (ou seja, todos os processos prontos para serem executados em
tempo simulado t executado em paralelo). Para garantir que as saídas do simulador ainda correspondam, nós
tem que classificar a saída de volta antes de compará-la.

Esperamos que os simuladores sejam executados com esse argumento de formatação de log:
--log = root.fmt: [% 10.6r]% e (% i:% P @% h)% e% m% n Então, tesh classifica a string nos 19 primeiros caracteres
apenas, e é estável quando o início da linha é igual. Isso deve garantir que:
(1) tesh é eficaz (nenhum falso positivo, nenhum falso negativo)
(2) os pontos de programação são separados uns dos outros
(3) em cada ponto de agendamento, os processos são separados uns dos outros
(4) a ordem do que um determinado processo diz em uma determinada programação
ponto é preservado.

É claro que isso é muito voltado para SimGrid, quebrando a generalidade do tesh, mas quem se importa,
na realidade?

Se você quiser alterar o comprimento do prefixo usado para a classificação, basta especificá-lo após
a diretiva de classificação de saída, como esta:

! tipo de saída 22

MEIO AMBIENTE


Você pode adicionar algum conteúdo ao ambiente de processos testados com o metacommand setenv.
Funciona como esperado. Por exemplo:
"setenv PATH =/ bin"

Use tesh online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Osu!
    Osu!
    Osu! é um jogo de ritmo simples com um poço
    curva de aprendizado pensada para jogadores
    de todos os níveis de habilidade. Um dos grandes
    aspectos de Osu! é que é
    comunidade-dr...
    Baixar Osu!
  • 2
    LIBPNG: biblioteca de referência PNG
    LIBPNG: biblioteca de referência PNG
    Biblioteca de referência para apoiar o
    Formato Portable Network Graphics (PNG).
    Público: Desenvolvedores. Programação
    Idioma: C. Este é um aplicativo que
    também pode...
    Baixar LIBPNG: biblioteca de referência PNG
  • 3
    Detector de metal baseado em RP2040
    Detector de metal baseado em RP2040
    Baseado na placa Raspberry Pi Pico, este
    detector de metal está incluído no pulso
    categoria de detectores de metal de indução, com
    vantagens e desvantagens bem conhecidas.
    RP ...
    Baixar Detector de metais baseado em RP2040
  • 4
    Gerente PAC
    Gerente PAC
    PAC é um substituto Perl/GTK para
    SecureCRT/Putty/etc (linux
    ssh/telnet/... gui)... Fornece uma GUI
    para configurar conexões: usuários,
    senhas, ESPERA regulamentação...
    Baixar PAC Manager
  • 5
    GeoServer
    GeoServer
    GeoServer é um software de código aberto
    servidor escrito em Java que permite aos usuários
    para compartilhar e editar dados geoespaciais.
    Projetado para interoperabilidade,
    publica da ...
    Baixar GeoServer
  • 6
    Vagalume III
    Vagalume III
    Um programa de finanças pessoais gratuito e de código aberto
    Gerente. Firefly III apresenta um
    sistema de escrituração por partidas dobradas. Você pode
    insira e organize rapidamente o seu
    transações eu ...
    Baixar Firefly III
  • Mais "

Comandos Linux

Ad