1234567891011121314151617181920212223242526272829 |
- module PostgresTestUtils
- def sudo_and_log(vm, cmd)
- @logger.debug("Running command: '#{cmd}'")
- result = ""
- @env.vms[vm].channel.sudo("cd /tmp && #{cmd}") do |ch, data|
- result << data
- @logger.debug(data)
- end
- result
- end
- def sudo_psql_and_log(vm, psql_cmd, user = 'postgres', extras = '')
- sudo_and_log(vm, "su #{user} -c 'psql #{psql_cmd}' #{extras}")
- end
- def sudo_psql_and_expect_result(vm, psql_cmd, expected, user = 'postgres')
- result = sudo_and_log(vm, "su #{user} -c 'psql -t #{psql_cmd}'")
- result.sub!(/stdin: is not a tty/, '')
- result.strip!
- ok = result == expected
- @logger.debug("Expected: #{expected} => #{ok ? 'OK' : 'BAD'}")
-
- if !ok
- raise "An unexpected result returned - result: '#{result}' / expected: '#{expected}'"
- end
- end
- end
|