Estou tentando executar um conjunto de testes de pepino (Ruby) do Jenkins que testa se os caracteres UTF-8 de 2 a 4 bytes são nomes válidos para grupos.
Eu tentei várias soluções e procurei por dias tentando encontrar um problema relevante para o meu.
O erro que tem me assombrado é:
incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)
Refere-se a uma linha na qual estou tentando enviar um comando ssh para a CLI na máquina do FreeBSD em que estou criando o grupo:
$mymachine.cli_ssh.exec!("config group create --name='#{group_name}'")
Onde existe o comando exec!()
:
command.force_encoding("UTF-8")
O erro ocorre apenas quando estou enviando caracteres UTF-8 de 2 a 4 bytes, de forma que:
O grupo 'abcd' não causa o erro
e
Grupo 'ЯЯЯ' faz causar o erro
O problema:
A execução deste script na minha máquina Ubuntu local funciona perfeitamente bem, assim como outras máquinas na minha área. (é por isso que eu não acho que é necessário fornecer mais código do que é dado)
Eu já tentei estabelecer locales do sistema na máquina do Jenkins como en_US.UTF-8 como variáveis do sistema local e dentro do arquivo /.bashrc. Não onde eu vi uma variável de codificação definida como ASCII-8BIT.
Eu também tentei exportar as localidades do sistema do shell do Jenkins antes da execução do script.
Estou precisando de alguma resposta ou alguma orientação que possa me ajudar a resolver esse problema.