2014-10-14 7 views
0

Я пытаюсь математическое выражение регулярного выражения для команды. Несмотря на то, что регулярное выражение должно соответствовать ему, похоже, что это не так:Chef ServerSpec Regex Match Не работает

> [#]  Command "pm2 list" 
> [#]   stdout 
> [#]   should match /.*online.*/ (FAILED - 1) 
> [#] 
> [#]  Failures: 
> [#] 
> [#]   1) Command "pm2 list" stdout should match /.*online.*/ 
> [#]    Failure/Error: its(:stdout) { should match /.*online.*/} 
> [#]    ArgumentError: 
> [#]    invalid byte sequence in US-ASCII 
> [#]    /bin/sh -c pm2\ list 
> [#]    ┌──────────┬────┬──────┬──────┬────────┬───────────┬────────┬─────────────┬─────────────┐ 
> [#]  │ App name │ id │ mode │ PID │ status │ restarted │ uptime │  memory │ watching │ 
> [#]  ├──────────┼────┼──────┼──────┼────────┼───────────┼────────┼─────────────┼─────────────┤ 
> [#]  │ app  │ 0 │ fork │ 3684 │ online │   0 │ 5m  │ 13.898 MB │ unactivated │ 
> [#]  └──────────┴────┴──────┴──────┴────────┴───────────┴────────┴─────────────┴─────────────┘ 
> [#]   Use `pm2 desc[ribe] <id>` to get more details 
> [#] 
> [#]    # /tmp/busser/suites/serverspec/localhost/nodejs_spec.rb:10:in `block (2 levels) in <top (required)>' 
> [#] 
> [#]  Finished in 0.77549 seconds (files took 0.19867 seconds to load) 
> [#]  3 examples, 1 failure 

Почему регулярное выражение не соответствует?

Похожая регулярное выражение работает внутри поваренной работает просто отлично:

... 
process_check = Mixlib::ShellOut.new("pm2 list") 
process_check.run_command 
if process_check.stdout =~ /(stopped|online)/ 
... 

ответ

1

Фактическая ошибка является invalid byte sequence in US-ASCII. Mixlib-shellout очень осторожно относится к кодированию, но это не то, что Serverspec использует для запуска команд AFAIK. Соединитель пытается преобразовать (возможно) данные UTF-8 в строку ASCII, которая не работает. Попробуйте should include('online') возможно? Вам нужно будет погрузить код сопряжения в rspec, чтобы быть уверенным, как они обрабатывают строки.

+0

Это было. Благодарю. – localhostv6

 Смежные вопросы

  • Нет связанных вопросов^_^