O TPTP está relacionado apenas com as propriedades CLASSPATH e ROOTDIR.
Os arquivos a serem implementados no tempo de execução são:
1. Tudo no caminho de classe do projeto de teste, exceto os seguintes tipos de arquivos: .java, .execution, .testsuite, .deploy, .location, .artifact.
2. Todos os recursos de teste associados ao Artefato que estão sendo utilizados para execução do teste
3. Propriedade CLASSPATH das Propriedades Gerais do Artefato utilizado para execução do teste.
O procedimento a seguir é utilizado para calcular a ROOTDIR:
Etapa 1 |
Primeiro, o TPTP procura na máquina remota a propriedade de local ROOTDIR (se especificada); se ela existir, seu valor será utilizado como a saída desta etapa.
Se a propriedade de local ROOTDIR não tiver sido especificada ou se tiver, mas não existir na máquina remota, o TPTP originará uma utilizando o diretório temporário localizado no ambiente da máquina remota; ele procurará LOCAL_AGENT_TEMP_DIR, TEMP e TMP, nessa ordem e, a que for localizada primeiro será utilizada como a saída desta etapa. |
Etapa 2 |
O TPTP procura a propriedade de local USR_NAME na máquina local. Se não existir, ele solicita a propriedade user.name de Java (System.getProperty("user.name")). |
Etapa 3 |
O TPTP concatena as saídas das Etapas 1 e 2 e considera esta como a ROOTDIR a ser utilizada. |
Para configurar os JARs que serão implementados e colocados como raiz sob ROOTDIR, configure o parâmetro CLASSPATH do artefato; para configurar os JARs que não precisam ser implementados (por exemplo, eles já existem no local/máquina em que serão implementados), mas que ainda precisam ser incluídos no caminho de classe, configure o parâmetro CLASSPATH no local. Portanto, a distinção entre a CLASSPATH de artefato e de local é se você deseja que o JAR seja implementado e referido ou apenas referido no local de implementação.
Determinadas bibliotecas não serão implementadas, mesmo que estejam listadas na propriedade do caminho de classe do artefato. São elas:
Clientes do Ambiente de Trabalho anteriores ao TPTP 3.3 não podem utilizar agent controllers do TPTP 3.3 e posteriores (devem continuar a utilizar os mais antigos, os agent controllers 3.3 anteriores ao TPTP). Clientes do TPTP 3.3 e posteriores podem utilizar os agent controllers novos e antigos. Resumindo, atualmente, o suporte ao cliente/servidor no TPTP é o seguinte:
Clientes >= TPTP 3.3 e Servidor >= TPTP 3.3 [utiliza o novo protocolo de transferência de arquivos se o Agent Controller não for seguro e o protocolo de transferência de arquivos antigo se o AC for seguro]
Clientes >= TPTP 3.3 e Servidor < TPTP 3.3 [utiliza o protocolo de transferência de arquivos antigo para Agent Controllers seguros e não-seguros]
Clientes < TPTP 3.3 e Servidor >= TPTP 3.3 [essa combinação não funciona porque os clientes mais antigos não entendem o novo protocolo de transferência de arquivos do servidor]
Clientes < TPTP 3.3 e Servidor < TPTP 3.3 [utiliza o protocolo de transferência de arquivos antigo para Agent Controllers seguros e não-seguros]
Houve alterações no serviço de transferência de arquivos no TPTP 3.3 e TPTP 4.0 (para melhorar a velocidade de implementação) que fizeram com que um novo serviço de protocolo de transferência de arquivos fosse utilizado; os clientes anteriores ao TPTP 3.3 não conhecem esse novo protocolo e, portanto, a implementação do teste falhará. Os clientes mais recentes conhecem os protocolos novos e antigos e, portanto, a implementação funcionará.
Assegure-se de que os caminhos de arquivo configurados nas propriedades reflitam adequadamente as convenções de nomenclatura do S.O. da máquina de destino. Por exemplo, se você estiver implementando em uma máquina do Linux a partir de um cliente Windows e tiver especificado ROOTDIR, digamos, verifique se seu valor é um caminho válido para o Linux.
Todos os caminhos devem ser absolutos. Por exemplo, no Windows, "C:\myRootDir" é apropriado e no Linux "/home/user/myRootDir" é apropriado - todos os caminhos devem ser absolutos e não relativos.