voxpupuli / onceover

Your gateway drug to automated infrastructure testing with Puppet
Apache License 2.0
142 stars 45 forks source link

Onceover 3.9.0 character type issue #196

Closed robertc99 closed 5 years ago

robertc99 commented 5 years ago

Since updating to 3.9.0 we get the following error It works fine with 3.8.0

Installing onceover 3.9.0 ... bundle exec onceover run spec --force ... Error while running: #

dylanratcliffe commented 5 years ago

Hey @robertc99 seems that the environment you are running in has the wrong locale. Try setting the locale like this before running onceover:

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

The reason this is failing between 3.8.0 and 3.9.0 is that 3.9.0 added the ability to discover roles within the modules that you clone from the Puppetfile which means that all modules are scanned for matching classes instead of just the ones in your controlrepo. Presumably one of the modules you use has some non-ASCII characters (i.e. Japanese documentation, poop emojis 💩etc.) and is therefore causing things to fall over.

Let me know if this doesn't fix it

robertc99 commented 5 years ago

I had to use a locale of C.UTF-8 since en_US.UTF-8 is not included in the minimal ruby docker images. But now it works fine with version 3.9.0