Skip to content
This repository was archived by the owner on Jan 30, 2024. It is now read-only.

Commit 63b36f9

Browse files
committed
Convert template to US-ASCII to fix error
I introduced some tests in a feature branch to match the contents of `/etc/nginx/router_routes.conf`. They worked fine when run with `bundle exec rake spec` or `bundle exec rspec modules/router/spec`. But when run as `bundle exec rake` each should block failed with: ArgumentError: invalid byte sequence in US-ASCII I eventually found that removing the `.with_content(//)` matchers made the errors go away. That there weren't any weird characters in the spec file. And that it could be reproduced by requiring Puppet in the same interpreter with: rake -E 'require "puppet"' spec That particular template appears to be the only file in our codebase with an identified encoding of `utf-8`. All others are `us-ascii`: dcarley-MBA:puppet dcarley$ find modules -type f -exec file --mime {} \+ | grep utf modules/router/templates/routes.conf.erb: text/plain; charset=utf-8 Attempting to convert that file back to US-ASCII identified the offending character as something that looked like a whitespace: dcarley-MBA:puppet dcarley$ iconv -f UTF8 -t US-ASCII modules/router/templates/routes.conf.erb 2>&1 | tail -n5 proxy_intercept_errors off; # Set proxy timeout to 50 seconds as a quick fix for problems # iconv: modules/router/templates/routes.conf.erb:458:3: cannot convert After replacing it (by hand) the file identifies as `us-ascii` again: dcarley-MBA:puppet dcarley$ file --mime modules/router/templates/routes.conf.erb modules/router/templates/routes.conf.erb: text/plain; charset=us-ascii Now the tests work! One hour of my life I won't get back..
1 parent bfe3f64 commit 63b36f9

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

modules/router/templates/routes.conf.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ location ~ ^/apply-for-a-licence/? {
460460
proxy_intercept_errors off;
461461

462462
# Set proxy timeout to 50 seconds as a quick fix for problems
463-
# where civica QueryPayments calls are taking too long.
463+
# where civica QueryPayments calls are taking too long.
464464
proxy_read_timeout 50;
465465
proxy_pass http://varnish;
466466
}

0 commit comments

Comments
 (0)