Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/r/ruby-hocon/ruby-hocon_1.2.5-1.1_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/ruby-hocon-1.2.5-1.1yn948hf_/ruby-hocon_1.2.5-1.1_all.buildinfo Get source package info: ruby-hocon=1.2.5-1.1 Source URL: http://snapshot.notset.fr/mr/package/ruby-hocon/1.2.5-1.1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=adduser=3.118 autoconf=2.69-14 automake=1:1.16.3-2 autopoint=0.21-3 autotools-dev=20180224.1+nmu1 base-files=11 base-passwd=3.5.48 bash=5.1-2 binutils=2.35.1-7 binutils-common=2.35.1-7 binutils-x86-64-linux-gnu=2.35.1-7 bsdextrautils=2.36.1-4 bsdutils=1:2.36.1-4 build-essential=12.9 bzip2=1.0.8-4 ca-certificates=20200601 coreutils=8.32-4+b1 cpp=4:10.2.0-1 cpp-10=10.2.1-3 dash=0.5.11+git20200708+dd9ef66-5 debconf=1.5.74 debhelper=13.3.1 debianutils=4.11.2 devscripts=2.20.5 dh-autoreconf=19 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-5 dirmngr=2.2.20-1 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13+20201015-2 fakeroot=1.25.3-1.1 file=1:5.39-3 findutils=4.7.0+git20201010-2 g++=4:10.2.0-1 g++-10=10.2.1-3 gcc=4:10.2.0-1 gcc-10=10.2.1-3 gcc-10-base=10.2.1-3 gem2deb=1.4 gem2deb-test-runner=1.4 gettext=0.21-3 gettext-base=0.21-3 gnupg=2.2.20-1 gnupg-l10n=2.2.20-1 gnupg-utils=2.2.20-1 gpg=2.2.20-1 gpg-agent=2.2.20-1 gpg-wks-client=2.2.20-1 gpg-wks-server=2.2.20-1 gpgconf=2.2.20-1 gpgsm=2.2.20-1 gpgv=2.2.20-1 grep=3.6-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 init-system-helpers=1.60 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-9 libarchive-zip-perl=1.68-1 libasan6=10.2.1-3 libassuan0=2.5.3-7.1 libatomic1=10.2.1-3 libattr1=1:2.4.48-6 libaudit-common=1:3.0-2 libaudit1=1:3.0-2 libb-hooks-op-check-perl=0.22-1+b3 libbinutils=2.35.1-7 libblkid1=2.36.1-4 libbz2-1.0=1.0.8-4 libc-bin=2.31-9 libc-dev-bin=2.31-9 libc6=2.31-9 libc6-dev=2.31-9 libcap-ng0=0.7.9-2.2+b1 libcc1-0=10.2.1-3 libclass-method-modifiers-perl=2.13-1 libcom-err2=1.45.6-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35.1-7 libctf0=2.35.1-7 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.256 libdebhelper-perl=13.3.1 libdevel-callchecker-perl=0.008-1+b2 libdpkg-perl=1.20.5 libdynaloader-functions-perl=0.003-1.1 libelf1=0.182-3 libencode-locale-perl=1.05-1.1 libexpat1=2.2.10-1 libfakeroot=1.25.3-1.1 libffi7=3.3-5 libfile-dirlist-perl=0.05-2 libfile-homedir-perl=1.006-1 libfile-listing-perl=6.14-1 libfile-stripnondeterminism-perl=1.9.0-1 libfile-touch-perl=0.11-1 libfile-which-perl=1.23-1 libgcc-10-dev=10.2.1-3 libgcc-s1=10.2.1-3 libgcrypt20=1.8.7-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libgmp-dev=2:6.2.1+dfsg-1 libgmp10=2:6.2.1+dfsg-1 libgmpxx4ldbl=2:6.2.1+dfsg-1 libgnutls30=3.7.0-5 libgomp1=10.2.1-3 libgpg-error0=1.38-2 libgssapi-krb5-2=1.18.3-4 libhogweed6=3.6-2 libhtml-parser-perl=3.75-1+b1 libhtml-tagset-perl=3.20-4 libhtml-tree-perl=5.07-2 libhttp-cookies-perl=6.10-1 libhttp-date-perl=6.05-1 libhttp-message-perl=6.27-1 libhttp-negotiate-perl=6.01-1 libicu67=67.1-5 libidn2-0=2.3.0-4 libimport-into-perl=1.002005-1 libio-html-perl=1.001-1.1 libio-pty-perl=1:1.15-2 libio-socket-ssl-perl=2.068-1 libipc-run-perl=20200505.0-1 libisl23=0.23-1 libitm1=10.2.1-3 libk5crypto3=1.18.3-4 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-4 libkrb5support0=1.18.3-4 libksba8=1.5.0-3 libldap-2.4-2=2.4.56+dfsg-1 liblsan0=10.2.1-3 liblwp-mediatypes-perl=6.04-1 liblwp-protocol-https-perl=6.10-1 liblz4-1=1.9.3-1 liblzma5=5.2.5-1.0 libmagic-mgc=1:5.39-3 libmagic1=1:5.39-3 libmodule-runtime-perl=0.016-1 libmoo-perl=2.004004-1 libmount1=2.36.1-4 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libncursesw6=6.2+20201114-2 libnet-http-perl=6.19-1 libnet-ssleay-perl=1.88-3+b1 libnettle8=3.6-2 libnpth0=1.6-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libp11-kit0=0.23.22-1 libpam-modules=1.4.0-2 libpam-modules-bin=1.4.0-2 libpam-runtime=1.4.0-2 libpam0g=1.4.0-2 libparams-classify-perl=0.015-1+b3 libpcre2-8-0=10.36-2 libpcre3=2:8.39-13 libperl5.32=5.32.0-6 libpipeline1=1.5.3-1 libpython3-stdlib=3.9.1-1 libpython3.9-minimal=3.9.1-1 libpython3.9-stdlib=3.9.1-1 libquadmath0=10.2.1-3 libreadline8=8.1-1 librole-tiny-perl=2.001004-1 libruby2.7=2.7.2-3 libsasl2-2=2.1.27+dfsg-2 libsasl2-modules-db=2.1.27+dfsg-2 libseccomp2=2.5.1-1 libselinux1=3.1-2+b2 libsemanage-common=3.1-1 libsemanage1=3.1-1+b2 libsepol1=3.1-1 libsigsegv2=2.12-3 libsmartcols1=2.36.1-4 libsqlite3-0=3.34.0-1 libssl1.1=1.1.1i-1 libstdc++-10-dev=10.2.1-3 libstdc++6=10.2.1-3 libstrictures-perl=2.000006-1 libsub-override-perl=0.09-2 libsub-quote-perl=2.006006-1 libsystemd0=247.2-4 libtasn1-6=4.16.0-2 libtimedate-perl=2.3300-1 libtinfo6=6.2+20201114-2 libtirpc-common=1.3.1-1 libtirpc-dev=1.3.1-1 libtirpc3=1.3.1-1 libtool=2.4.6-14 libtry-tiny-perl=0.30-1 libtsan0=10.2.1-3 libubsan1=10.2.1-3 libuchardet0=0.0.7-1 libudev1=247.2-4 libunistring2=0.9.10-4 liburi-perl=5.05-1 libuuid1=2.36.1-4 libwww-perl=6.51-1 libwww-robotrules-perl=6.02-1 libxml2=2.9.10+dfsg-6.3+b1 libyaml-0-2=0.2.2-1 libzstd1=1.4.8+dfsg-1 linux-libc-dev=5.10.4-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-5 mailcap=3.68 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 media-types=2.0.0 mime-support=3.66 ncurses-base=6.2+20201114-2 ncurses-bin=6.2+20201114-2 netbase=6.2 openssl=1.1.1i-1 passwd=1:4.8.1-1 patch=2.7.6-6 patchutils=0.4.2-1 perl=5.32.0-6 perl-base=5.32.0-6 perl-modules-5.32=5.32.0-6 perl-openssl-defaults=5 pinentry-curses=1.1.0-4 po-debconf=1.0.21+nmu1 python3=3.9.1-1 python3-minimal=3.9.1-1 python3.9=3.9.1-1 python3.9-minimal=3.9.1-1 rake=13.0.1-4 readline-common=8.1-1 ruby=1:2.7+2 ruby-all-dev=1:2.7+2 ruby-diff-lcs=1.4.4-1 ruby-minitest=5.13.0-1 ruby-net-telnet=0.1.1-2 ruby-power-assert=1.1.7-1 ruby-rspec=3.9.0c2e2m1s3-1 ruby-rspec-core=3.9.0c2e2m1s3-1 ruby-rspec-expectations=3.9.0c2e2m1s3-1 ruby-rspec-mocks=3.9.0c2e2m1s3-1 ruby-rspec-support=3.9.0c2e2m1s3-1 ruby-rubygems=3.2.0~rc.2-6 ruby-test-unit=3.3.5-1 ruby-xmlrpc=0.3.0-2 ruby2.7=2.7.2-3 ruby2.7-dev=2.7.2-3 rubygems-integration=1.17.3 sed=4.7-1 sensible-utils=0.0.12+nmu1 sysvinit-utils=2.96-5 tar=1.32+dfsg-1 tzdata=2020f-1 util-linux=2.36.1-4 wdiff=1.2.2-2+b1 xz-utils=5.2.5-1.0 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20210107T203343Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d ruby-hocon=1.2.5-1.1 && mkdir -p /build/ruby-hocon-Wq8e6H && dpkg-source --no-check -x /*.dsc /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5 && chown -R builduser:builduser /build/ruby-hocon-Wq8e6H" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1610028088" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/ruby-hocon-Wq8e6H /tmp/ruby-hocon-1.2.5-1.1yn948hf_ bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20210107T203343Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.uNp8m8zKR4 as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.uNp8m8zKR4 Reading package lists... Building dependency tree... util-linux is already the newest version (2.36.1-4). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20210107T203343Z unstable/main amd64 libfakeroot amd64 1.25.3-1.1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20210107T203343Z unstable/main amd64 fakeroot amd64 1.25.3-1.1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (626 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4647 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1.1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1.1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1.1_amd64.deb ... Unpacking fakeroot (1.25.3-1.1) ... Setting up libfakeroot:amd64 (1.25.3-1.1) ... Setting up fakeroot (1.25.3-1.1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-9) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20210107T203343Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.uNp8m8zKR4 Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20210107T203343Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 22s (1038 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.uNp8m8zKR4 I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d ruby-hocon=1.2.5-1.1 && mkdir -p /build/ruby-hocon-Wq8e6H && dpkg-source --no-check -x /*.dsc /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5 && chown -R builduser:builduser /build/ruby-hocon-Wq8e6H"' exec /tmp/mmdebstrap.uNp8m8zKR4 Reading package lists... NOTICE: 'ruby-hocon' packaging is maintained in the 'Git' version control system at: https://anonscm.debian.org/git/pkg-ruby-extras/ruby-hocon.git Please use: git clone https://anonscm.debian.org/git/pkg-ruby-extras/ruby-hocon.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 154 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ruby-hocon 1.2.5-1.1 (dsc) [2070 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ruby-hocon 1.2.5-1.1 (tar) [149 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main ruby-hocon 1.2.5-1.1 (diff) [2716 B] Fetched 154 kB in 0s (930 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'ruby-hocon_1.2.5-1.1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting ruby-hocon in /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5 dpkg-source: info: unpacking ruby-hocon_1.2.5.orig.tar.gz dpkg-source: info: unpacking ruby-hocon_1.2.5-1.1.debian.tar.xz I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5 && env DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1610028088" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.uNp8m8zKR4 dpkg-buildpackage: info: source package ruby-hocon dpkg-buildpackage: info: source version 1.2.5-1.1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Holger Levsen dpkg-source --before-build . fakeroot debian/rules clean dh clean --buildsystem=ruby --with ruby dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_auto_clean -O--buildsystem=ruby dh_auto_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ruby --clean dh_ruby --clean dh_clean -O--buildsystem=ruby dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use) debian/rules build-indep dh build-indep --buildsystem=ruby --with ruby dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_update_autotools_config -i -O--buildsystem=ruby dh_auto_configure -i -O--buildsystem=ruby dh_auto_configure: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ruby --configure dh_auto_build -i -O--buildsystem=ruby dh_auto_build: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ruby --build dh_ruby --build dh_auto_test -i -O--buildsystem=ruby dh_auto_test: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ruby --test fakeroot debian/rules binary-indep dh binary-indep --buildsystem=ruby --with ruby dh: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_testroot -i -O--buildsystem=ruby dh_prep -i -O--buildsystem=ruby dh_auto_install -i -O--buildsystem=ruby dh_auto_install: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ruby --install /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon dh_ruby --install ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install files │ └──────────────────────────────────────────────────────────────────────────────┘ install -d /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/bin install -D -m755 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/bin/hocon /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/bin/hocon install -d /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_include_context.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_include_context.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_render_options.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_render_options.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_parseable.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_parseable.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_value.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_value.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_factory.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_factory.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/version.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/version.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_error.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_error.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/abstract_config_object.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/abstract_config_object.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_complex_value.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_complex_value.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/token.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/token.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/path_parser.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/path_parser.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_delayed_merge_object.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_delayed_merge_object.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_null.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_null.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_boolean.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_boolean.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_includer.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_includer.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_concatenation.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_concatenation.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_config_origin.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_config_origin.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_string.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_string.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_config.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_config.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/token_type.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/token_type.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/resolve_context.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/resolve_context.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/abstract_config_value.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/abstract_config_value.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_include_context.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_include_context.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/abstract_config_node.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/abstract_config_node.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_simple_value.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_simple_value.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_concatenation.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_concatenation.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_include.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_include.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/default_transformer.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/default_transformer.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_array.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_array.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_number.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_number.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/path_builder.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/path_builder.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/resolve_status.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/resolve_status.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/replaceable_merge_stack.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/replaceable_merge_stack.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_document_parser.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_document_parser.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/mergeable_value.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/mergeable_value.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_single_token.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_single_token.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/from_map_mode.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/from_map_mode.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/array_iterator.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/array_iterator.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_double.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_double.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/memo_key.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/memo_key.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_object.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_object.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/unmergeable.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/unmergeable.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_config_object.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_config_object.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_field.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_field.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/unsupported_operation_error.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/unsupported_operation_error.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/resolve_memos.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/resolve_memos.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_root.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_root.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/origin_type.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/origin_type.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_parser.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_parser.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/resolve_result.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/resolve_result.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_config_list.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_config_list.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_delayed_merge.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_delayed_merge.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/full_includer.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/full_includer.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_reference.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_reference.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_int.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_int.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/resolve_source.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/resolve_source.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/substitution_expression.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/substitution_expression.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/path.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/path.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/tokens.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/tokens.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_path.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_path.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/container.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/container.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_impl_util.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_impl_util.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_impl.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_impl.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_include_kind.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_include_kind.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/abstract_config_node_value.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/abstract_config_node_value.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/config_node_comment.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/config_node_comment.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/parseable.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/parseable.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/tokenizer.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/tokenizer.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/simple_config_document.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/simple_config_document.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl/url.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl/url.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_util.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_util.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_includer_file.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_includer_file.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_syntax.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_syntax.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_value_factory.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_value_factory.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_parse_options.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_parse_options.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/cli.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/cli.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_object.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_object.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_mergeable.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_mergeable.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_value_type.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_value_type.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/parser.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/parser.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/impl.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/impl.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_resolve_options.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_resolve_options.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/parser/config_document.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/parser/config_document.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/parser/config_document_factory.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/parser/config_document_factory.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/parser/config_node.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/parser/config_node.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon/config_list.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon/config_list.rb install -D -m644 /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/lib/hocon.rb /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby/hocon.rb Rewriting shebang line of /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/bin/hocon ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install Rubygems integration metadata │ └──────────────────────────────────────────────────────────────────────────────┘ generating gemspec at /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/share/rubygems-integration/all/specifications/hocon-1.2.5.gemspec dh_installchangelogs -pruby-hocon /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/CHANGELOG.md upstream /usr/bin/ruby2.7 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby2.7 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/share/rubygems-integration/all:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -e gem\ \"hocon\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby2.7 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=/build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/debian/ruby-hocon/usr/share/rubygems-integration/all:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -S rake -f debian/ruby-tests.rake /usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_document_spec.rb:11: warning: already initialized constant ConfigParseOptions /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_document_parser_spec.rb:10: warning: previous definition of ConfigParseOptions was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_document_spec.rb:12: warning: already initialized constant ConfigSyntax /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_document_parser_spec.rb:11: warning: previous definition of ConfigSyntax was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_value_spec.rb:26: warning: already initialized constant ConfigValueFactory /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_document_spec.rb:14: warning: previous definition of ConfigValueFactory was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/public_api_spec.rb:16: warning: already initialized constant ConfigFactory /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_value_spec.rb:27: warning: previous definition of ConfigFactory was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/public_api_spec.rb:17: warning: already initialized constant ConfigValueFactory /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_value_spec.rb:26: warning: previous definition of ConfigValueFactory was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/public_api_spec.rb:18: warning: already initialized constant SimpleConfigObject /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_value_spec.rb:15: warning: previous definition of SimpleConfigObject was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/public_api_spec.rb:19: warning: already initialized constant SimpleConfigList /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_value_spec.rb:16: warning: previous definition of SimpleConfigList was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/token_spec.rb:10: warning: already initialized constant Tokens /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/config_node_spec.rb:8: warning: previous definition of Tokens was here /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/tokenizer_spec.rb:10: warning: already initialized constant Tokens /build/ruby-hocon-Wq8e6H/ruby-hocon-1.2.5/spec/unit/typesafe/config/token_spec.rb:10: warning: previous definition of Tokens was here Hocon::CLI argument parsing should find all the flags and arguments should set -i and -o to -f if given subcommands do_get() should get simple values should work with arrays should work with hashes should output json if specified should throw a MissingPathError if the path does not exist should throw a MissingPathError if the path leads into an array should throw a MissingPathError if the path leads into a string do_set() should overwrite values should create new nested values should allow arrays to be set should allow arrays in strings to be set as strings should allow hashes to be set should allow hashes to be set as strings do_unset() should remove values should throw a MissingPathError if the path does not exist Hocon should fail to parse an array should fail to parse an array loading a HOCON file should make the config data available as a map parsing a HOCON string should make the config data available as a map loading a HOCON file should make the config data available as a map parsing a HOCON string should make the config data available as a map loading a HOCON file with a substitution should successfully resolve the substitution loading a file with an unknown extension without specifying the config format should raise an error while specifying the config format should parse properly if the config format is correct should parse properly if the config format is compatible should raise an error if the config format is incompatible loading config that includes substitutions should be able to `load` from a file should be able to `parse` from a string concatenation string concat, no substitutions trivial string concat two substitutions and string concat string concat cannot span lines no objects in string concat no object concat with nil no arrays in string concat no objects substituted in string concat no arrays substituted in string concat no substitutions in list concat list concat with substitutions list concat self referential no substitutions in list concat cannot span lines list concat can span lines inside brackest no substitutions object concat object concat merge order object concat with substitutions object concat self referential object concat self referential override no substitutions object concat cannot span lines object concat can span lines inside braces string concat inside array value string non concat inside array value object concat inside array value object non concat inside array value list concat inside array value list non concat inside array value string concats are keys objects are not keys arrays are not keys empty array plus equals missing array plus equals short array plus equals number plus equals string plus equals objects plus equals plus equals nested path plus equals nested objects plus equals single nested object substitution plus equals substitution plus equals multiple times plus equals multiple times nested plus equals an object multiple times plus equals an object multiple times nested plus equals multiple times nested in array plus equals multiple times nested in plus equals array concatenation in double nested delayed merge array concatenation as part of delayed merge array concatenation in double nested delayed merge 2 array concatenation in triple nested delayed merge concat undefined substitution with string concat defined optional substitution with string concat defined substitution with array concat defined optional substitution with array concat undefined substitution with object concat defined optional substitution with object concat two undefined substitutions concat several undefined substitutions concat two undefined substitutions with a space concat two defined substitutions with a space concat two undefined substitutions with empty string concat substitutions that are objects with no space concat substitutions that are objects with space concat substitutions that are lists with space concat substitutions that are objects with quoted space concat substitutions that are lists with quoted space Config Parser invalid_conf_throws should raise an error for invalid config string '{' should raise an error for invalid config string ' {' should raise an error for invalid config string '{ ' should raise an error for invalid config string ' { ' should raise an error for invalid config string '{' should raise an error for invalid config string '{' should raise an error for invalid config string '{' should raise an error for invalid config string '}' should raise an error for invalid config string ' }' should raise an error for invalid config string '} ' should raise an error for invalid config string ' } ' should raise an error for invalid config string '}' should raise an error for invalid config string '}' should raise an error for invalid config string '}' should raise an error for invalid config string '[' should raise an error for invalid config string ' [' should raise an error for invalid config string '[ ' should raise an error for invalid config string ' [ ' should raise an error for invalid config string '[' should raise an error for invalid config string '[' should raise an error for invalid config string '[' should raise an error for invalid config string ']' should raise an error for invalid config string ' ]' should raise an error for invalid config string '] ' should raise an error for invalid config string ' ] ' should raise an error for invalid config string ']' should raise an error for invalid config string ']' should raise an error for invalid config string ']' should raise an error for invalid config string ',' should raise an error for invalid config string ' ,' should raise an error for invalid config string ', ' should raise an error for invalid config string ' , ' should raise an error for invalid config string ',' should raise an error for invalid config string ',' should raise an error for invalid config string ' , ' should raise an error for invalid config string '10' should raise an error for invalid config string ' 10' should raise an error for invalid config string '10 ' should raise an error for invalid config string ' 10 ' should raise an error for invalid config string '10' should raise an error for invalid config string '10' should raise an error for invalid config string '10' should raise an error for invalid config string '"foo"' should raise an error for invalid config string ' "foo"' should raise an error for invalid config string '"foo" ' should raise an error for invalid config string ' "foo" ' should raise an error for invalid config string '"foo"' should raise an error for invalid config string '"foo"' should raise an error for invalid config string '"foo"' should raise an error for invalid config string ')"' should raise an error for invalid config string ' )"' should raise an error for invalid config string ')" ' should raise an error for invalid config string ' )" ' should raise an error for invalid config string ')"' should raise an error for invalid config string ')"' should raise an error for invalid config string ')"' should raise an error for invalid config string '[,]' should raise an error for invalid config string ' [,]' should raise an error for invalid config string '[,] ' should raise an error for invalid config string ' [,] ' should raise an error for invalid config string '[,]' should raise an error for invalid config string '[,]' should raise an error for invalid config string '[ , ]' should raise an error for invalid config string '[,,]' should raise an error for invalid config string ' [,,]' should raise an error for invalid config string '[,,] ' should raise an error for invalid config string ' [,,] ' should raise an error for invalid config string '[,,]' should raise an error for invalid config string '[,,]' should raise an error for invalid config string '[ , , ]' should raise an error for invalid config string '[1,2,,]' should raise an error for invalid config string ' [1,2,,]' should raise an error for invalid config string '[1,2,,] ' should raise an error for invalid config string ' [1,2,,] ' should raise an error for invalid config string '[1,2,,]' should raise an error for invalid config string '[1,2,,]' should raise an error for invalid config string '[1 , 2 , , ]' should raise an error for invalid config string '[,1,2]' should raise an error for invalid config string ' [,1,2]' should raise an error for invalid config string '[,1,2] ' should raise an error for invalid config string ' [,1,2] ' should raise an error for invalid config string '[,1,2]' should raise an error for invalid config string '[,1,2]' should raise an error for invalid config string '[ , 1 , 2]' should raise an error for invalid config string '{ , }' should raise an error for invalid config string '{ , }' should raise an error for invalid config string ' { , }' should raise an error for invalid config string '{ , } ' should raise an error for invalid config string ' { , } ' should raise an error for invalid config string '{,}' should raise an error for invalid config string '{ , }' should raise an error for invalid config string '{ , }' should raise an error for invalid config string '{ , , }' should raise an error for invalid config string '{ , , }' should raise an error for invalid config string ' { , , }' should raise an error for invalid config string '{ , , } ' should raise an error for invalid config string ' { , , } ' should raise an error for invalid config string '{,,}' should raise an error for invalid config string '{ , , }' should raise an error for invalid config string '{ , , }' should raise an error for invalid config string '{ 1,2 }' should raise an error for invalid config string '{ 1,2 }' should raise an error for invalid config string ' { 1,2 }' should raise an error for invalid config string '{ 1,2 } ' should raise an error for invalid config string ' { 1,2 } ' should raise an error for invalid config string '{1,2}' should raise an error for invalid config string '{ 1,2 }' should raise an error for invalid config string '{ 1 , 2 }' should raise an error for invalid config string '{ , "foo" : 10 }' should raise an error for invalid config string '{ , "foo" : 10 }' should raise an error for invalid config string ' { , "foo" : 10 }' should raise an error for invalid config string '{ , "foo" : 10 } ' should raise an error for invalid config string ' { , "foo" : 10 } ' should raise an error for invalid config string '{,"foo":10}' should raise an error for invalid config string '{ , "foo" : 10 }' should raise an error for invalid config string '{ , "foo" : 10 }' should raise an error for invalid config string '{ "foo" : 10 ,, }' should raise an error for invalid config string '{ "foo" : 10 ,, }' should raise an error for invalid config string ' { "foo" : 10 ,, }' should raise an error for invalid config string '{ "foo" : 10 ,, } ' should raise an error for invalid config string ' { "foo" : 10 ,, } ' should raise an error for invalid config string '{"foo":10,,}' should raise an error for invalid config string '{ "foo" : 10 ,, }' should raise an error for invalid config string '{ "foo" : 10 , , }' should raise an error for invalid config string ') "a" : 10 ,, ' should raise an error for invalid config string ') "a" : 10 ,, ' should raise an error for invalid config string ' ) "a" : 10 ,, ' should raise an error for invalid config string ') "a" : 10 ,, ' should raise an error for invalid config string ' ) "a" : 10 ,, ' should raise an error for invalid config string ')"a":10,,' should raise an error for invalid config string ') "a" : 10 ,, ' should raise an error for invalid config string ') "a" : 10 , , ' should raise an error for invalid config string '{ "foo" : }' should raise an error for invalid config string '{ "foo" : }' should raise an error for invalid config string ' { "foo" : }' should raise an error for invalid config string '{ "foo" : } ' should raise an error for invalid config string ' { "foo" : } ' should raise an error for invalid config string '{"foo":}' should raise an error for invalid config string '{ "foo" : }' should raise an error for invalid config string '{ "foo" : }' should raise an error for invalid config string '{ : 10 }' should raise an error for invalid config string '{ : 10 }' should raise an error for invalid config string ' { : 10 }' should raise an error for invalid config string '{ : 10 } ' should raise an error for invalid config string ' { : 10 } ' should raise an error for invalid config string '{:10}' should raise an error for invalid config string '{ : 10 }' should raise an error for invalid config string '{ : 10 }' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string '"foo":' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string ' "foo" : ' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ':10' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ' : 10 ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ' ) "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ' ) "foo" : 10 } ' should raise an error for invalid config string ')"foo":10}' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ' ) "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ' ) "foo" : 10 } ' should raise an error for invalid config string ')"foo":10}' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 } ' should raise an error for invalid config string ') "foo" : 10 [ ' should raise an error for invalid config string ') "foo" : 10 [ ' should raise an error for invalid config string ' ) "foo" : 10 [ ' should raise an error for invalid config string ') "foo" : 10 [ ' should raise an error for invalid config string ' ) "foo" : 10 [ ' should raise an error for invalid config string ')"foo":10[' should raise an error for invalid config string ') "foo" : 10 [ ' should raise an error for invalid config string ') "foo" : 10 [ ' should raise an error for invalid config string '{ "foo" }' should raise an error for invalid config string '{ "foo" }' should raise an error for invalid config string ' { "foo" }' should raise an error for invalid config string '{ "foo" } ' should raise an error for invalid config string ' { "foo" } ' should raise an error for invalid config string '{"foo"}' should raise an error for invalid config string '{ "foo" }' should raise an error for invalid config string '{ "foo" }' should raise an error for invalid config string '{ "a" : [ }' should raise an error for invalid config string '{ "a" : [ }' should raise an error for invalid config string ' { "a" : [ }' should raise an error for invalid config string '{ "a" : [ } ' should raise an error for invalid config string ' { "a" : [ } ' should raise an error for invalid config string '{"a":[}' should raise an error for invalid config string '{ "a" : [ }' should raise an error for invalid config string '{ "a" : [ }' should raise an error for invalid config string '{ "foo" : 10, true }' should raise an error for invalid config string '{ "foo" : 10, true }' should raise an error for invalid config string ' { "foo" : 10, true }' should raise an error for invalid config string '{ "foo" : 10, true } ' should raise an error for invalid config string ' { "foo" : 10, true } ' should raise an error for invalid config string '{"foo":10,true}' should raise an error for invalid config string '{ "foo" : 10, true }' should raise an error for invalid config string '{ "foo" : 10 , true }' should raise an error for invalid config string '{ foo   bar : 10 }' should raise an error for invalid config string '{ foo bar : 10 }' should raise an error for invalid config string ' { foo bar : 10 }' should raise an error for invalid config string '{ foo bar : 10 } ' should raise an error for invalid config string ' { foo bar : 10 } ' should raise an error for invalid config string '{foo bar:10}' should raise an error for invalid config string '{ foo bar : 10 }' should raise an error for invalid config string '{ foo bar : 10 }' should raise an error for invalid config string '[ 1, \' should raise an error for invalid config string '[ 1, \' should raise an error for invalid config string ' [ 1, \' should raise an error for invalid config string '[ 1, \ ' should raise an error for invalid config string ' [ 1, \ ' should raise an error for invalid config string '[1,\' should raise an error for invalid config string '[ 1, \' should raise an error for invalid config string '[ 1 , \' should raise an error for invalid config string '[:"foo", "bar"]' should raise an error for invalid config string '[:"foo", "bar"]' should raise an error for invalid config string ' [:"foo", "bar"]' should raise an error for invalid config string '[:"foo", "bar"] ' should raise an error for invalid config string ' [:"foo", "bar"] ' should raise an error for invalid config string '[:"foo","bar"]' should raise an error for invalid config string '[ : "foo", "bar"]' should raise an error for invalid config string '[:"foo" , "bar"]' should raise an error for invalid config string '["foo" : "bar"]' should raise an error for invalid config string '["foo" : "bar"]' should raise an error for invalid config string ' ["foo" : "bar"]' should raise an error for invalid config string '["foo" : "bar"] ' should raise an error for invalid config string ' ["foo" : "bar"] ' should raise an error for invalid config string '["foo":"bar"]' should raise an error for invalid config string '["foo" : "bar"]' should raise an error for invalid config string '["foo" : "bar"]' should raise an error for invalid config string '[ "hello ]' should raise an error for invalid config string '[ "hello ]' should raise an error for invalid config string ' [ "hello ]' should raise an error for invalid config string '[ "hello ] ' should raise an error for invalid config string ' [ "hello ] ' should raise an error for invalid config string '["hello]' should raise an error for invalid config string '[ "hello ]' should raise an error for invalid config string '[ "hello ]' should raise an error for invalid config string '{ "foo" , true }' should raise an error for invalid config string '{ "foo" , true }' should raise an error for invalid config string ' { "foo" , true }' should raise an error for invalid config string '{ "foo" , true } ' should raise an error for invalid config string ' { "foo" , true } ' should raise an error for invalid config string '{"foo",true}' should raise an error for invalid config string '{ "foo" , true }' should raise an error for invalid config string '{ "foo" , true }' should raise an error for invalid config string '{ "foo" : true "bar" : false }' should raise an error for invalid config string '{ "foo" : true "bar" : false }' should raise an error for invalid config string ' { "foo" : true "bar" : false }' should raise an error for invalid config string '{ "foo" : true "bar" : false } ' should raise an error for invalid config string ' { "foo" : true "bar" : false } ' should raise an error for invalid config string '{"foo":true"bar":false}' should raise an error for invalid config string '{ "foo" : true "bar" : false }' should raise an error for invalid config string '{ "foo" : true "bar" : false }' should raise an error for invalid config string '[ 10, }]' should raise an error for invalid config string '[ 10, }]' should raise an error for invalid config string ' [ 10, }]' should raise an error for invalid config string '[ 10, }] ' should raise an error for invalid config string ' [ 10, }] ' should raise an error for invalid config string '[10,}]' should raise an error for invalid config string '[ 10, }]' should raise an error for invalid config string '[ 10 , }]' should raise an error for invalid config string '[ 10, {]' should raise an error for invalid config string '[ 10, {]' should raise an error for invalid config string ' [ 10, {]' should raise an error for invalid config string '[ 10, {] ' should raise an error for invalid config string ' [ 10, {] ' should raise an error for invalid config string '[10,{]' should raise an error for invalid config string '[ 10, {]' should raise an error for invalid config string '[ 10 , {]' should raise an error for invalid config string '{}x' should raise an error for invalid config string ' {}x' should raise an error for invalid config string '{}x ' should raise an error for invalid config string ' {}x ' should raise an error for invalid config string '{}x' should raise an error for invalid config string '{}x' should raise an error for invalid config string '{}x' should raise an error for invalid config string '[]x' should raise an error for invalid config string ' []x' should raise an error for invalid config string '[]x ' should raise an error for invalid config string ' []x ' should raise an error for invalid config string '[]x' should raise an error for invalid config string '[]x' should raise an error for invalid config string '[]x' should raise an error for invalid config string '{}{}' should raise an error for invalid config string ' {}{}' should raise an error for invalid config string '{}{} ' should raise an error for invalid config string ' {}{} ' should raise an error for invalid config string '{}{}' should raise an error for invalid config string '{}{}' should raise an error for invalid config string '{}{}' should raise an error for invalid config string '{}true' should raise an error for invalid config string ' {}true' should raise an error for invalid config string '{}true ' should raise an error for invalid config string ' {}true ' should raise an error for invalid config string '{}true' should raise an error for invalid config string '{}true' should raise an error for invalid config string '{}true' should raise an error for invalid config string '[]{}' should raise an error for invalid config string ' []{}' should raise an error for invalid config string '[]{} ' should raise an error for invalid config string ' []{} ' should raise an error for invalid config string '[]{}' should raise an error for invalid config string '[]{}' should raise an error for invalid config string '[]{}' should raise an error for invalid config string '[]true' should raise an error for invalid config string ' []true' should raise an error for invalid config string '[]true ' should raise an error for invalid config string ' []true ' should raise an error for invalid config string '[]true' should raise an error for invalid config string '[]true' should raise an error for invalid config string '[]true' should raise an error for invalid config string '[${]' should raise an error for invalid config string ' [${]' should raise an error for invalid config string '[${] ' should raise an error for invalid config string ' [${] ' should raise an error for invalid config string '[${]' should raise an error for invalid config string '[${]' should raise an error for invalid config string '[${]' should raise an error for invalid config string '[$]' should raise an error for invalid config string ' [$]' should raise an error for invalid config string '[$] ' should raise an error for invalid config string ' [$] ' should raise an error for invalid config string '[$]' should raise an error for invalid config string '[$]' should raise an error for invalid config string '[$]' should raise an error for invalid config string '[$  ]' should raise an error for invalid config string '[$ ]' should raise an error for invalid config string ' [$ ]' should raise an error for invalid config string '[$ ] ' should raise an error for invalid config string ' [$ ] ' should raise an error for invalid config string '[$]' should raise an error for invalid config string '[$ ]' should raise an error for invalid config string '[$ ]' should raise an error for invalid config string '[${}]' should raise an error for invalid config string ' [${}]' should raise an error for invalid config string '[${}] ' should raise an error for invalid config string ' [${}] ' should raise an error for invalid config string '[${}]' should raise an error for invalid config string '[${}]' should raise an error for invalid config string '[${}]' should raise an error for invalid config string '[${?}]' should raise an error for invalid config string ' [${?}]' should raise an error for invalid config string '[${?}] ' should raise an error for invalid config string ' [${?}] ' should raise an error for invalid config string '[${?}]' should raise an error for invalid config string '[${?}]' should raise an error for invalid config string '[${?}]' should raise an error for invalid config string '[${ ?foo}]' should raise an error for invalid config string '{ "a" : [1,2], "b" : y${a}z }' should raise an error for invalid config string '{ "a" : [1,2], "b" : y${a}z }' should raise an error for invalid config string ' { "a" : [1,2], "b" : y${a}z }' should raise an error for invalid config string '{ "a" : [1,2], "b" : y${a}z } ' should raise an error for invalid config string ' { "a" : [1,2], "b" : y${a}z } ' should raise an error for invalid config string '{"a":[1,2],"b":y${a}z}' should raise an error for invalid config string '{ "a" : [1,2], "b" : y${a}z }' should raise an error for invalid config string '{ "a" : [1 , 2] , "b" : y${a}z }' should raise an error for invalid config string '{ "a" : { "c" : 2 }, "b" : y${a}z }' should raise an error for invalid config string '{ "a" : { "c" : 2 }, "b" : y${a}z }' should raise an error for invalid config string ' { "a" : { "c" : 2 }, "b" : y${a}z }' should raise an error for invalid config string '{ "a" : { "c" : 2 }, "b" : y${a}z } ' should raise an error for invalid config string ' { "a" : { "c" : 2 }, "b" : y${a}z } ' should raise an error for invalid config string '{"a":{"c":2},"b":y${a}z}' should raise an error for invalid config string '{ "a" : { "c" : 2 }, "b" : y${a}z }' should raise an error for invalid config string '{ "a" : { "c" : 2 } , "b" : y${a}z }' should raise an error for invalid config string '{ "a" : ${a} }' should raise an error for invalid config string '{ "a" : ${a} }' should raise an error for invalid config string ' { "a" : ${a} }' should raise an error for invalid config string '{ "a" : ${a} } ' should raise an error for invalid config string ' { "a" : ${a} } ' should raise an error for invalid config string '{"a":${a}}' should raise an error for invalid config string '{ "a" : ${a} }' should raise an error for invalid config string '{ "a" : ${a} }' should raise an error for invalid config string '[ { "a" : 2, "b" : ${${a}} } ]' should raise an error for invalid config string '[ { "a" : 2, "b" : ${${a}} } ]' should raise an error for invalid config string ' [ { "a" : 2, "b" : ${${a}} } ]' should raise an error for invalid config string '[ { "a" : 2, "b" : ${${a}} } ] ' should raise an error for invalid config string ' [ { "a" : 2, "b" : ${${a}} } ] ' should raise an error for invalid config string '[{"a":2,"b":${${a}}}]' should raise an error for invalid config string '[ { "a" : 2, "b" : ${${a}} } ]' should raise an error for invalid config string '[ { "a" : 2 , "b" : ${${a}} } ]' should raise an error for invalid config string '[ = ]' should raise an error for invalid config string '[ = ]' should raise an error for invalid config string ' [ = ]' should raise an error for invalid config string '[ = ] ' should raise an error for invalid config string ' [ = ] ' should raise an error for invalid config string '[=]' should raise an error for invalid config string '[ = ]' should raise an error for invalid config string '[ = ]' should raise an error for invalid config string '[ + ]' should raise an error for invalid config string '[ + ]' should raise an error for invalid config string ' [ + ]' should raise an error for invalid config string '[ + ] ' should raise an error for invalid config string ' [ + ] ' should raise an error for invalid config string '[+]' should raise an error for invalid config string '[ + ]' should raise an error for invalid config string '[ + ]' should raise an error for invalid config string '[ # ]' should raise an error for invalid config string '[ # ]' should raise an error for invalid config string ' [ # ]' should raise an error for invalid config string '[ # ] ' should raise an error for invalid config string ' [ # ] ' should raise an error for invalid config string '[#]' should raise an error for invalid config string '[ # ]' should raise an error for invalid config string '[ # ]' should raise an error for invalid config string '[ ` ]' should raise an error for invalid config string '[ ` ]' should raise an error for invalid config string ' [ ` ]' should raise an error for invalid config string '[ ` ] ' should raise an error for invalid config string ' [ ` ] ' should raise an error for invalid config string '[`]' should raise an error for invalid config string '[ ` ]' should raise an error for invalid config string '[ ` ]' should raise an error for invalid config string '[ ^ ]' should raise an error for invalid config string '[ ^ ]' should raise an error for invalid config string ' [ ^ ]' should raise an error for invalid config string '[ ^ ] ' should raise an error for invalid config string ' [ ^ ] ' should raise an error for invalid config string '[^]' should raise an error for invalid config string '[ ^ ]' should raise an error for invalid config string '[ ^ ]' should raise an error for invalid config string '[ ? ]' should raise an error for invalid config string '[ ? ]' should raise an error for invalid config string ' [ ? ]' should raise an error for invalid config string '[ ? ] ' should raise an error for invalid config string ' [ ? ] ' should raise an error for invalid config string '[?]' should raise an error for invalid config string '[ ? ]' should raise an error for invalid config string '[ ? ]' should raise an error for invalid config string '[ ! ]' should raise an error for invalid config string '[ ! ]' should raise an error for invalid config string ' [ ! ]' should raise an error for invalid config string '[ ! ] ' should raise an error for invalid config string ' [ ! ] ' should raise an error for invalid config string '[!]' should raise an error for invalid config string '[ ! ]' should raise an error for invalid config string '[ ! ]' should raise an error for invalid config string '[ @ ]' should raise an error for invalid config string '[ @ ]' should raise an error for invalid config string ' [ @ ]' should raise an error for invalid config string '[ @ ] ' should raise an error for invalid config string ' [ @ ] ' should raise an error for invalid config string '[@]' should raise an error for invalid config string '[ @ ]' should raise an error for invalid config string '[ @ ]' should raise an error for invalid config string '[ * ]' should raise an error for invalid config string '[ * ]' should raise an error for invalid config string ' [ * ]' should raise an error for invalid config string '[ * ] ' should raise an error for invalid config string ' [ * ] ' should raise an error for invalid config string '[*]' should raise an error for invalid config string '[ * ]' should raise an error for invalid config string '[ * ]' should raise an error for invalid config string '[ & ]' should raise an error for invalid config string '[ & ]' should raise an error for invalid config string ' [ & ]' should raise an error for invalid config string '[ & ] ' should raise an error for invalid config string ' [ & ] ' should raise an error for invalid config string '[&]' should raise an error for invalid config string '[ & ]' should raise an error for invalid config string '[ & ]' should raise an error for invalid config string '[ \ ]' should raise an error for invalid config string '[ \ ]' should raise an error for invalid config string ' [ \ ]' should raise an error for invalid config string '[ \ ] ' should raise an error for invalid config string ' [ \ ] ' should raise an error for invalid config string '[\]' should raise an error for invalid config string '[ \ ]' should raise an error for invalid config string '[ \ ]' should raise an error for invalid config string '+=' should raise an error for invalid config string ' +=' should raise an error for invalid config string '+= ' should raise an error for invalid config string ' += ' should raise an error for invalid config string '+=' should raise an error for invalid config string '+=' should raise an error for invalid config string '+=' should raise an error for invalid config string '[ += ]' should raise an error for invalid config string '[ += ]' should raise an error for invalid config string ' [ += ]' should raise an error for invalid config string '[ += ] ' should raise an error for invalid config string ' [ += ] ' should raise an error for invalid config string '[+=]' should raise an error for invalid config string '[ += ]' should raise an error for invalid config string '[ += ]' should raise an error for invalid config string '+= 10' should raise an error for invalid config string '+= 10' should raise an error for invalid config string ' += 10' should raise an error for invalid config string '+= 10 ' should raise an error for invalid config string ' += 10 ' should raise an error for invalid config string '+=10' should raise an error for invalid config string '+= 10' should raise an error for invalid config string '+= 10' should raise an error for invalid config string '10 +=' should raise an error for invalid config string '10 +=' should raise an error for invalid config string ' 10 +=' should raise an error for invalid config string '10 += ' should raise an error for invalid config string ' 10 += ' should raise an error for invalid config string '10+=' should raise an error for invalid config string '10 +=' should raise an error for invalid config string '10 +=' should raise an error for invalid config string '[ 10e+3e ]' should raise an error for invalid config string '[ 10e+3e ]' should raise an error for invalid config string ' [ 10e+3e ]' should raise an error for invalid config string '[ 10e+3e ] ' should raise an error for invalid config string ' [ 10e+3e ] ' should raise an error for invalid config string '[10e+3e]' should raise an error for invalid config string '[ 10e+3e ]' should raise an error for invalid config string '[ 10e+3e ]' should raise an error for invalid config string '[ "foo bar" ]' should raise an error for invalid config string '[ "foo bar" ]' should raise an error for invalid config string ' [ "foo bar" ]' should raise an error for invalid config string '[ "foo bar" ] ' should raise an error for invalid config string ' [ "foo bar" ] ' should raise an error for invalid config string '["foo bar"]' should raise an error for invalid config string '[ "foo bar" ]' should raise an error for invalid config string '[ "foo bar" ]' should raise an error for invalid config string '[ # comment ]' should raise an error for invalid config string '[ # comment ]' should raise an error for invalid config string ' [ # comment ]' should raise an error for invalid config string '[ # comment ] ' should raise an error for invalid config string ' [ # comment ] ' should raise an error for invalid config string '[#comment]' should raise an error for invalid config string '[ # comment ]' should raise an error for invalid config string '[ # comment ]' should raise an error for invalid config string '${ #comment }' should raise an error for invalid config string '${ #comment }' should raise an error for invalid config string ' ${ #comment }' should raise an error for invalid config string '${ #comment } ' should raise an error for invalid config string ' ${ #comment } ' should raise an error for invalid config string '${#comment}' should raise an error for invalid config string '${ #comment }' should raise an error for invalid config string '${ #comment }' should raise an error for invalid config string '[ // comment ]' should raise an error for invalid config string '[ // comment ]' should raise an error for invalid config string ' [ // comment ]' should raise an error for invalid config string '[ // comment ] ' should raise an error for invalid config string ' [ // comment ] ' should raise an error for invalid config string '[//comment]' should raise an error for invalid config string '[ // comment ]' should raise an error for invalid config string '[ // comment ]' should raise an error for invalid config string '${ // comment }' should raise an error for invalid config string '${ // comment }' should raise an error for invalid config string ' ${ // comment }' should raise an error for invalid config string '${ // comment } ' should raise an error for invalid config string ' ${ // comment } ' should raise an error for invalid config string '${//comment}' should raise an error for invalid config string '${ // comment }' should raise an error for invalid config string '${ // comment }' should raise an error for invalid config string '{ include foo }' should raise an error for invalid config string '{ include foo }' should raise an error for invalid config string ' { include foo }' should raise an error for invalid config string '{ include foo } ' should raise an error for invalid config string ' { include foo } ' should raise an error for invalid config string '{includefoo}' should raise an error for invalid config string '{ include foo }' should raise an error for invalid config string '{ include foo }' should raise an error for invalid config string '{ include : { "a" : 1 } }' should raise an error for invalid config string '{ include : { "a" : 1 } }' should raise an error for invalid config string ' { include : { "a" : 1 } }' should raise an error for invalid config string '{ include : { "a" : 1 } } ' should raise an error for invalid config string ' { include : { "a" : 1 } } ' should raise an error for invalid config string '{include:{"a":1}}' should raise an error for invalid config string '{ include : { "a" : 1 } }' should raise an error for invalid config string '{ include : { "a" : 1 } }' should raise an error for invalid config string 'a=' should raise an error for invalid config string ' a=' should raise an error for invalid config string 'a= ' should raise an error for invalid config string ' a= ' should raise an error for invalid config string 'a=' should raise an error for invalid config string 'a=' should raise an error for invalid config string 'a=' should raise an error for invalid config string 'a:' should raise an error for invalid config string ' a:' should raise an error for invalid config string 'a: ' should raise an error for invalid config string ' a: ' should raise an error for invalid config string 'a:' should raise an error for invalid config string 'a : ' should raise an error for invalid config string 'a:' should raise an error for invalid config string 'a= ' should raise an error for invalid config string 'a= ' should raise an error for invalid config string ' a= ' should raise an error for invalid config string 'a= ' should raise an error for invalid config string ' a= ' should raise an error for invalid config string 'a=' should raise an error for invalid config string 'a= ' should raise an error for invalid config string 'a= ' should raise an error for invalid config string 'a.b=' should raise an error for invalid config string ' a.b=' should raise an error for invalid config string 'a.b= ' should raise an error for invalid config string ' a.b= ' should raise an error for invalid config string 'a.b=' should raise an error for invalid config string 'a.b=' should raise an error for invalid config string 'a.b=' should raise an error for invalid config string '{ a= }' should raise an error for invalid config string '{ a= }' should raise an error for invalid config string ' { a= }' should raise an error for invalid config string '{ a= } ' should raise an error for invalid config string ' { a= } ' should raise an error for invalid config string '{a=}' should raise an error for invalid config string '{ a= }' should raise an error for invalid config string '{ a= }' should raise an error for invalid config string '{ a: }' should raise an error for invalid config string '{ a: }' should raise an error for invalid config string ' { a: }' should raise an error for invalid config string '{ a: } ' should raise an error for invalid config string ' { a: } ' should raise an error for invalid config string '{a:}' should raise an error for invalid config string '{ a : }' should raise an error for invalid config string '{ a: }' valid_conf_works should successfully parse config string '' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string '' should successfully parse config string '' should successfully parse config string '' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string '' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string '        ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string ' ' should successfully parse config string '# foo' should successfully parse config string '# foo' should successfully parse config string ' # foo' should successfully parse config string '# foo ' should successfully parse config string ' # foo ' should successfully parse config string '#foo' should successfully parse config string '# foo' should successfully parse config string '# foo' should successfully parse config string '# bar ' should successfully parse config string '# bar ' should successfully parse config string ' # bar ' should successfully parse config string '# bar ' should successfully parse config string ' # bar ' should successfully parse config string '#bar ' should successfully parse config string '# bar ' should successfully parse config string '# bar ' should successfully parse config string '# foo //bar' should successfully parse config string '# foo //bar' should successfully parse config string ' # foo //bar' should successfully parse config string '# foo //bar ' should successfully parse config string ' # foo //bar ' should successfully parse config string '#foo //bar' should successfully parse config string '# foo //bar' should successfully parse config string '# foo //bar' should successfully parse config string '{ "foo" = 42 }' should successfully parse config string '{ "foo" = 42 }' should successfully parse config string ' { "foo" = 42 }' should successfully parse config string '{ "foo" = 42 } ' should successfully parse config string ' { "foo" = 42 } ' should successfully parse config string '{"foo"=42}' should successfully parse config string '{ "foo" = 42 }' should successfully parse config string '{ "foo" = 42 }' should successfully parse config string '{ foo { "bar" : 42 } }' should successfully parse config string '{ foo { "bar" : 42 } }' should successfully parse config string ' { foo { "bar" : 42 } }' should successfully parse config string '{ foo { "bar" : 42 } } ' should successfully parse config string ' { foo { "bar" : 42 } } ' should successfully parse config string '{foo{"bar":42}}' should successfully parse config string '{ foo { "bar" : 42 } }' should successfully parse config string '{ foo { "bar" : 42 } }' should successfully parse config string '{ foo baz { "bar" : 42 } }' should successfully parse config string '{ foo baz { "bar" : 42 } }' should successfully parse config string ' { foo baz { "bar" : 42 } }' should successfully parse config string '{ foo baz { "bar" : 42 } } ' should successfully parse config string ' { foo baz { "bar" : 42 } } ' should successfully parse config string '{foobaz{"bar":42}}' should successfully parse config string '{ foo baz { "bar" : 42 } }' should successfully parse config string '{ foo baz { "bar" : 42 } }' should successfully parse config string ' "foo" : 42 ' should successfully parse config string ' "foo" : 42 ' should successfully parse config string ' "foo" : 42 ' should successfully parse config string ' "foo" : 42 ' should successfully parse config string ' "foo" : 42 ' should successfully parse config string '"foo":42' should successfully parse config string ' "foo" : 42 ' should successfully parse config string ' "foo" : 42 ' should successfully parse config string '{ "foo" : bar }' should successfully parse config string '{ "foo" : bar }' should successfully parse config string ' { "foo" : bar }' should successfully parse config string '{ "foo" : bar } ' should successfully parse config string ' { "foo" : bar } ' should successfully parse config string '{"foo":bar}' should successfully parse config string '{ "foo" : bar }' should successfully parse config string '{ "foo" : bar }' should successfully parse config string '{ "foo" : null bar 42 baz true 3.14 "hi" }' should successfully parse config string '{ "foo" : null bar 42 baz true 3.14 "hi" }' should successfully parse config string ' { "foo" : null bar 42 baz true 3.14 "hi" }' should successfully parse config string '{ "foo" : null bar 42 baz true 3.14 "hi" } ' should successfully parse config string ' { "foo" : null bar 42 baz true 3.14 "hi" } ' should successfully parse config string '{"foo":nullbar42baztrue3.14"hi"}' should successfully parse config string '{ "foo" : null bar 42 baz true 3.14 "hi" }' should successfully parse config string '{ "foo" : null bar 42 baz true 3.14 "hi" }' should successfully parse config string '{ foo : "bar" }' should successfully parse config string '{ foo : "bar" }' should successfully parse config string ' { foo : "bar" }' should successfully parse config string '{ foo : "bar" } ' should successfully parse config string ' { foo : "bar" } ' should successfully parse config string '{foo:"bar"}' should successfully parse config string '{ foo : "bar" }' should successfully parse config string '{ foo : "bar" }' should successfully parse config string '{ foo : bar }' should successfully parse config string '{ foo : bar }' should successfully parse config string ' { foo : bar }' should successfully parse config string '{ foo : bar } ' should successfully parse config string ' { foo : bar } ' should successfully parse config string '{foo:bar}' should successfully parse config string '{ foo : bar }' should successfully parse config string '{ foo : bar }' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string ' { foo.bar : bar }' should successfully parse config string '{ foo.bar : bar } ' should successfully parse config string ' { foo.bar : bar } ' should successfully parse config string '{foo.bar:bar}' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string '{ foo."hello world".baz : bar }' should successfully parse config string '{ foo."hello world".baz : bar }' should successfully parse config string ' { foo."hello world".baz : bar }' should successfully parse config string '{ foo."hello world".baz : bar } ' should successfully parse config string ' { foo."hello world".baz : bar } ' should successfully parse config string '{foo."helloworld".baz:bar}' should successfully parse config string '{ foo."hello world".baz : bar }' should successfully parse config string '{ foo."hello world".baz : bar }' should successfully parse config string '{ foo.bar   : bar }' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string ' { foo.bar : bar }' should successfully parse config string '{ foo.bar : bar } ' should successfully parse config string ' { foo.bar : bar } ' should successfully parse config string '{foo.bar :bar}' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string '{ foo.bar : bar }' should successfully parse config string '{ foo  bar : bar }' should successfully parse config string '{ foo bar : bar }' should successfully parse config string ' { foo bar : bar }' should successfully parse config string '{ foo bar : bar } ' should successfully parse config string ' { foo bar : bar } ' should successfully parse config string '{foobar:bar}' should successfully parse config string '{ foo bar : bar }' should successfully parse config string '{ foo bar : bar }' should successfully parse config string '{ true : bar }' should successfully parse config string '{ true : bar }' should successfully parse config string ' { true : bar }' should successfully parse config string '{ true : bar } ' should successfully parse config string ' { true : bar } ' should successfully parse config string '{true:bar}' should successfully parse config string '{ true : bar }' should successfully parse config string '{ true : bar }' should successfully parse config string '{ "foo" : "bar", "foo" : "bar2" }' should successfully parse config string '{ "foo" : "bar", "foo" : "bar2" }' should successfully parse config string ' { "foo" : "bar", "foo" : "bar2" }' should successfully parse config string '{ "foo" : "bar", "foo" : "bar2" } ' should successfully parse config string ' { "foo" : "bar", "foo" : "bar2" } ' should successfully parse config string '{"foo":"bar","foo":"bar2"}' should successfully parse config string '{ "foo" : "bar", "foo" : "bar2" }' should successfully parse config string '{ "foo" : "bar" , "foo" : "bar2" }' should successfully parse config string '[ 1, 2, 3, ]' should successfully parse config string '[ 1, 2, 3, ]' should successfully parse config string ' [ 1, 2, 3, ]' should successfully parse config string '[ 1, 2, 3, ] ' should successfully parse config string ' [ 1, 2, 3, ] ' should successfully parse config string '[1,2,3,]' should successfully parse config string '[ 1, 2, 3, ]' should successfully parse config string '[ 1 , 2 , 3 , ]' should successfully parse config string '[1,2,3  , ]' should successfully parse config string '[1,2,3 , ]' should successfully parse config string ' [1,2,3 , ]' should successfully parse config string '[1,2,3 , ] ' should successfully parse config string ' [1,2,3 , ] ' should successfully parse config string '[1,2,3,]' should successfully parse config string '[1,2,3 , ]' should successfully parse config string '[1 , 2 , 3 , ]' should successfully parse config string '[1,2,3  ,  ]' should successfully parse config string '[1,2,3 , ]' should successfully parse config string ' [1,2,3 , ]' should successfully parse config string '[1,2,3 , ] ' should successfully parse config string ' [1,2,3 , ] ' should successfully parse config string '[1,2,3 , ]' should successfully parse config string '[1,2,3 , ]' should successfully parse config string '[1 , 2 , 3 , ]' should successfully parse config string '[1,]' should successfully parse config string ' [1,]' should successfully parse config string '[1,] ' should successfully parse config string ' [1,] ' should successfully parse config string '[1,]' should successfully parse config string '[1,]' should successfully parse config string '[1 , ]' should successfully parse config string '{ "foo" : 10, }' should successfully parse config string '{ "foo" : 10, }' should successfully parse config string ' { "foo" : 10, }' should successfully parse config string '{ "foo" : 10, } ' should successfully parse config string ' { "foo" : 10, } ' should successfully parse config string '{"foo":10,}' should successfully parse config string '{ "foo" : 10, }' should successfully parse config string '{ "foo" : 10 , }' should successfully parse config string '{ "a" : "b", }' should successfully parse config string '{ "a" : "b", }' should successfully parse config string ' { "a" : "b", }' should successfully parse config string '{ "a" : "b", } ' should successfully parse config string ' { "a" : "b", } ' should successfully parse config string '{"a":"b",}' should successfully parse config string '{ "a" : "b", }' should successfully parse config string '{ "a" : "b" , }' should successfully parse config string '{ a : b, }' should successfully parse config string '{ a : b, }' should successfully parse config string ' { a : b, }' should successfully parse config string '{ a : b, } ' should successfully parse config string ' { a : b, } ' should successfully parse config string '{a:b,}' should successfully parse config string '{ a : b, }' should successfully parse config string '{ a : b , }' should successfully parse config string '{ a : b     ,   }' should successfully parse config string '{ a : b , }' should successfully parse config string ' { a : b , }' should successfully parse config string '{ a : b , } ' should successfully parse config string ' { a : b , } ' should successfully parse config string '{a:b , }' should successfully parse config string '{ a : b , }' should successfully parse config string '{ a : b , }' should successfully parse config string 'a : b, c : d,' should successfully parse config string 'a : b, c : d,' should successfully parse config string ' a : b, c : d,' should successfully parse config string 'a : b, c : d, ' should successfully parse config string ' a : b, c : d, ' should successfully parse config string 'a:b,c:d,' should successfully parse config string 'a : b, c : d,' should successfully parse config string 'a : b , c : d , ' should successfully parse config string '{ a : b c : d }' should successfully parse config string '{ a : b c : d }' should successfully parse config string ' { a : b c : d }' should successfully parse config string '{ a : b c : d } ' should successfully parse config string ' { a : b c : d } ' should successfully parse config string '{a:b c:d}' should successfully parse config string '{ a : b c : d }' should successfully parse config string '{ a : b c : d }' should successfully parse config string 'a : b c : d' should successfully parse config string 'a : b c : d' should successfully parse config string ' a : b c : d' should successfully parse config string 'a : b c : d ' should successfully parse config string ' a : b c : d ' should successfully parse config string 'a:b c:d' should successfully parse config string 'a : b c : d' should successfully parse config string 'a : b c : d' should successfully parse config string 'a : b c : d,' should successfully parse config string 'a : b c : d,' should successfully parse config string ' a : b c : d,' should successfully parse config string 'a : b c : d, ' should successfully parse config string ' a : b c : d, ' should successfully parse config string 'a:b c:d,' should successfully parse config string 'a : b c : d,' should successfully parse config string 'a : b c : d , ' should successfully parse config string '[ foo ]' should successfully parse config string '[ foo ]' should successfully parse config string ' [ foo ]' should successfully parse config string '[ foo ] ' should successfully parse config string ' [ foo ] ' should successfully parse config string '[foo]' should successfully parse config string '[ foo ]' should successfully parse config string '[ foo ]' should successfully parse config string '[ t ]' should successfully parse config string '[ t ]' should successfully parse config string ' [ t ]' should successfully parse config string '[ t ] ' should successfully parse config string ' [ t ] ' should successfully parse config string '[t]' should successfully parse config string '[ t ]' should successfully parse config string '[ t ]' should successfully parse config string '[ tx ]' should successfully parse config string '[ tx ]' should successfully parse config string ' [ tx ]' should successfully parse config string '[ tx ] ' should successfully parse config string ' [ tx ] ' should successfully parse config string '[tx]' should successfully parse config string '[ tx ]' should successfully parse config string '[ tx ]' should successfully parse config string '[ tr ]' should successfully parse config string '[ tr ]' should successfully parse config string ' [ tr ]' should successfully parse config string '[ tr ] ' should successfully parse config string ' [ tr ] ' should successfully parse config string '[tr]' should successfully parse config string '[ tr ]' should successfully parse config string '[ tr ]' should successfully parse config string '[ trx ]' should successfully parse config string '[ trx ]' should successfully parse config string ' [ trx ]' should successfully parse config string '[ trx ] ' should successfully parse config string ' [ trx ] ' should successfully parse config string '[trx]' should successfully parse config string '[ trx ]' should successfully parse config string '[ trx ]' should successfully parse config string '[ tru ]' should successfully parse config string '[ tru ]' should successfully parse config string ' [ tru ]' should successfully parse config string '[ tru ] ' should successfully parse config string ' [ tru ] ' should successfully parse config string '[tru]' should successfully parse config string '[ tru ]' should successfully parse config string '[ tru ]' should successfully parse config string '[ trux ]' should successfully parse config string '[ trux ]' should successfully parse config string ' [ trux ]' should successfully parse config string '[ trux ] ' should successfully parse config string ' [ trux ] ' should successfully parse config string '[trux]' should successfully parse config string '[ trux ]' should successfully parse config string '[ trux ]' should successfully parse config string '[ truex ]' should successfully parse config string '[ truex ]' should successfully parse config string ' [ truex ]' should successfully parse config string '[ truex ] ' should successfully parse config string ' [ truex ] ' should successfully parse config string '[truex]' should successfully parse config string '[ truex ]' should successfully parse config string '[ truex ]' should successfully parse config string '[ 10x ]' should successfully parse config string '[ 10x ]' should successfully parse config string ' [ 10x ]' should successfully parse config string '[ 10x ] ' should successfully parse config string ' [ 10x ] ' should successfully parse config string '[10x]' should successfully parse config string '[ 10x ]' should successfully parse config string '[ 10x ]' should successfully parse config string '[ / ]' should successfully parse config string '[ / ]' should successfully parse config string ' [ / ]' should successfully parse config string '[ / ] ' should successfully parse config string ' [ / ] ' should successfully parse config string '[/]' should successfully parse config string '[ / ]' should successfully parse config string '[ / ]' should successfully parse config string '{ include "foo" }' should successfully parse config string '{ include "foo" }' should successfully parse config string ' { include "foo" }' should successfully parse config string '{ include "foo" } ' should successfully parse config string ' { include "foo" } ' should successfully parse config string '{include"foo"}' should successfully parse config string '{ include "foo" }' should successfully parse config string '{ include "foo" }' should successfully parse config string '{ include "foo" }' should successfully parse config string '{ include "foo" }' should successfully parse config string ' { include "foo" }' should successfully parse config string '{ include "foo" } ' should successfully parse config string ' { include "foo" } ' should successfully parse config string '{include "foo"}' should successfully parse config string '{ include "foo" }' should successfully parse config string '{ include "foo" }' should successfully parse config string '{ include"foo" }' should successfully parse config string '{ include"foo" }' should successfully parse config string ' { include"foo" }' should successfully parse config string '{ include"foo" } ' should successfully parse config string ' { include"foo" } ' should successfully parse config string '{include"foo"}' should successfully parse config string '{ include"foo" }' should successfully parse config string '{ include"foo" }' should successfully parse config string '[ include ]' should successfully parse config string '[ include ]' should successfully parse config string ' [ include ]' should successfully parse config string '[ include ] ' should successfully parse config string ' [ include ] ' should successfully parse config string '[include]' should successfully parse config string '[ include ]' should successfully parse config string '[ include ]' should successfully parse config string '{ foo : include }' should successfully parse config string '{ foo : include }' should successfully parse config string ' { foo : include }' should successfully parse config string '{ foo : include } ' should successfully parse config string ' { foo : include } ' should successfully parse config string '{foo:include}' should successfully parse config string '{ foo : include }' should successfully parse config string '{ foo : include }' should successfully parse config string '{ include "foo", "a" : "b" }' should successfully parse config string '{ include "foo", "a" : "b" }' should successfully parse config string ' { include "foo", "a" : "b" }' should successfully parse config string '{ include "foo", "a" : "b" } ' should successfully parse config string ' { include "foo", "a" : "b" } ' should successfully parse config string '{include"foo","a":"b"}' should successfully parse config string '{ include "foo", "a" : "b" }' should successfully parse config string '{ include "foo" , "a" : "b" }' should successfully parse config string '{ foo include : 42 }' should successfully parse config string '{ foo include : 42 }' should successfully parse config string ' { foo include : 42 }' should successfully parse config string '{ foo include : 42 } ' should successfully parse config string ' { foo include : 42 } ' should successfully parse config string '{fooinclude:42}' should successfully parse config string '{ foo include : 42 }' should successfully parse config string '{ foo include : 42 }' should successfully parse config string '[ ${foo} ]' should successfully parse config string '[ ${foo} ]' should successfully parse config string ' [ ${foo} ]' should successfully parse config string '[ ${foo} ] ' should successfully parse config string ' [ ${foo} ] ' should successfully parse config string '[${foo}]' should successfully parse config string '[ ${foo} ]' should successfully parse config string '[ ${foo} ]' should successfully parse config string '[ ${?foo} ]' should successfully parse config string '[ ${?foo} ]' should successfully parse config string ' [ ${?foo} ]' should successfully parse config string '[ ${?foo} ] ' should successfully parse config string ' [ ${?foo} ] ' should successfully parse config string '[${?foo}]' should successfully parse config string '[ ${?foo} ]' should successfully parse config string '[ ${?foo} ]' should successfully parse config string '[ ${"foo"} ]' should successfully parse config string '[ ${"foo"} ]' should successfully parse config string ' [ ${"foo"} ]' should successfully parse config string '[ ${"foo"} ] ' should successfully parse config string ' [ ${"foo"} ] ' should successfully parse config string '[${"foo"}]' should successfully parse config string '[ ${"foo"} ]' should successfully parse config string '[ ${"foo"} ]' should successfully parse config string '[ ${foo.bar} ]' should successfully parse config string '[ ${foo.bar} ]' should successfully parse config string ' [ ${foo.bar} ]' should successfully parse config string '[ ${foo.bar} ] ' should successfully parse config string ' [ ${foo.bar} ] ' should successfully parse config string '[${foo.bar}]' should successfully parse config string '[ ${foo.bar} ]' should successfully parse config string '[ ${foo.bar} ]' should successfully parse config string '[ abc  xyz  ${foo.bar}  qrs tuv ]' should successfully parse config string '[ abc xyz ${foo.bar} qrs tuv ]' should successfully parse config string ' [ abc xyz ${foo.bar} qrs tuv ]' should successfully parse config string '[ abc xyz ${foo.bar} qrs tuv ] ' should successfully parse config string ' [ abc xyz ${foo.bar} qrs tuv ] ' should successfully parse config string '[abcxyz${foo.bar}qrstuv]' should successfully parse config string '[ abc xyz ${foo.bar} qrs tuv ]' should successfully parse config string '[ abc xyz ${foo.bar} qrs tuv ]' should successfully parse config string '[ 1, 2, 3, blah ]' should successfully parse config string '[ 1, 2, 3, blah ]' should successfully parse config string ' [ 1, 2, 3, blah ]' should successfully parse config string '[ 1, 2, 3, blah ] ' should successfully parse config string ' [ 1, 2, 3, blah ] ' should successfully parse config string '[1,2,3,blah]' should successfully parse config string '[ 1, 2, 3, blah ]' should successfully parse config string '[ 1 , 2 , 3 , blah ]' should successfully parse config string '[ ${"foo.bar"} ]' should successfully parse config string '[ ${"foo.bar"} ]' should successfully parse config string ' [ ${"foo.bar"} ]' should successfully parse config string '[ ${"foo.bar"} ] ' should successfully parse config string ' [ ${"foo.bar"} ] ' should successfully parse config string '[${"foo.bar"}]' should successfully parse config string '[ ${"foo.bar"} ]' should successfully parse config string '[ ${"foo.bar"} ]' should successfully parse config string '{} # comment' should successfully parse config string '{} # comment' should successfully parse config string ' {} # comment' should successfully parse config string '{} # comment ' should successfully parse config string ' {} # comment ' should successfully parse config string '{}#comment' should successfully parse config string '{} # comment' should successfully parse config string '{} # comment' should successfully parse config string '{} // comment' should successfully parse config string '{} // comment' should successfully parse config string ' {} // comment' should successfully parse config string '{} // comment ' should successfully parse config string ' {} // comment ' should successfully parse config string '{}//comment' should successfully parse config string '{} // comment' should successfully parse config string '{} // comment' should successfully parse config string '{ "foo" #comment : 10 }' should successfully parse config string '{ "foo" #comment : 10 }' should successfully parse config string ' { "foo" #comment : 10 }' should successfully parse config string '{ "foo" #comment : 10 } ' should successfully parse config string ' { "foo" #comment : 10 } ' should successfully parse config string '{"foo"#comment :10}' should successfully parse config string '{ "foo" #comment : 10 }' should successfully parse config string '{ "foo" #comment : 10 }' should successfully parse config string '{ "foo" // comment : 10 }' should successfully parse config string '{ "foo" // comment : 10 }' should successfully parse config string ' { "foo" // comment : 10 }' should successfully parse config string '{ "foo" // comment : 10 } ' should successfully parse config string ' { "foo" // comment : 10 } ' should successfully parse config string '{"foo"//comment :10}' should successfully parse config string '{ "foo" // comment : 10 }' should successfully parse config string '{ "foo" // comment : 10 }' should successfully parse config string '{ "foo" : #comment 10 }' should successfully parse config string '{ "foo" : #comment 10 }' should successfully parse config string ' { "foo" : #comment 10 }' should successfully parse config string '{ "foo" : #comment 10 } ' should successfully parse config string ' { "foo" : #comment 10 } ' should successfully parse config string '{"foo":#comment 10}' should successfully parse config string '{ "foo" : #comment 10 }' should successfully parse config string '{ "foo" : #comment 10 }' should successfully parse config string '{ "foo" : // comment 10 }' should successfully parse config string '{ "foo" : // comment 10 }' should successfully parse config string ' { "foo" : // comment 10 }' should successfully parse config string '{ "foo" : // comment 10 } ' should successfully parse config string ' { "foo" : // comment 10 } ' should successfully parse config string '{"foo"://comment 10}' should successfully parse config string '{ "foo" : // comment 10 }' should successfully parse config string '{ "foo" : // comment 10 }' should successfully parse config string '{ "foo" : 10 #comment }' should successfully parse config string '{ "foo" : 10 #comment }' should successfully parse config string ' { "foo" : 10 #comment }' should successfully parse config string '{ "foo" : 10 #comment } ' should successfully parse config string ' { "foo" : 10 #comment } ' should successfully parse config string '{"foo":10#comment }' should successfully parse config string '{ "foo" : 10 #comment }' should successfully parse config string '{ "foo" : 10 #comment }' should successfully parse config string '{ "foo" : 10 // comment }' should successfully parse config string '{ "foo" : 10 // comment }' should successfully parse config string ' { "foo" : 10 // comment }' should successfully parse config string '{ "foo" : 10 // comment } ' should successfully parse config string ' { "foo" : 10 // comment } ' should successfully parse config string '{"foo":10//comment }' should successfully parse config string '{ "foo" : 10 // comment }' should successfully parse config string '{ "foo" : 10 // comment }' should successfully parse config string '[ 10, # comment 11]' should successfully parse config string '[ 10, # comment 11]' should successfully parse config string ' [ 10, # comment 11]' should successfully parse config string '[ 10, # comment 11] ' should successfully parse config string ' [ 10, # comment 11] ' should successfully parse config string '[10,#comment 11]' should successfully parse config string '[ 10, # comment 11]' should successfully parse config string '[ 10 , # comment 11]' should successfully parse config string '[ 10, // comment 11]' should successfully parse config string '[ 10, // comment 11]' should successfully parse config string ' [ 10, // comment 11]' should successfully parse config string '[ 10, // comment 11] ' should successfully parse config string ' [ 10, // comment 11] ' should successfully parse config string '[10,//comment 11]' should successfully parse config string '[ 10, // comment 11]' should successfully parse config string '[ 10 , // comment 11]' should successfully parse config string '[ 10 # comment , 11]' should successfully parse config string '[ 10 # comment , 11]' should successfully parse config string ' [ 10 # comment , 11]' should successfully parse config string '[ 10 # comment , 11] ' should successfully parse config string ' [ 10 # comment , 11] ' should successfully parse config string '[10#comment ,11]' should successfully parse config string '[ 10 # comment , 11]' should successfully parse config string '[ 10 # comment , 11]' should successfully parse config string '[ 10 // comment , 11]' should successfully parse config string '[ 10 // comment , 11]' should successfully parse config string ' [ 10 // comment , 11]' should successfully parse config string '[ 10 // comment , 11] ' should successfully parse config string ' [ 10 // comment , 11] ' should successfully parse config string '[10//comment ,11]' should successfully parse config string '[ 10 // comment , 11]' should successfully parse config string '[ 10 // comment , 11]' should successfully parse config string '{ /a/b/c : 10 }' should successfully parse config string '{ /a/b/c : 10 }' should successfully parse config string ' { /a/b/c : 10 }' should successfully parse config string '{ /a/b/c : 10 } ' should successfully parse config string ' { /a/b/c : 10 } ' should successfully parse config string '{/a/b/c:10}' should successfully parse config string '{ /a/b/c : 10 }' should successfully parse config string '{ /a/b/c : 10 }' should successfully parse config string '[${ foo.bar}]' should successfully parse config string '[${foo.bar }]' should successfully parse config string '[${ "foo.bar"}]' should successfully parse config string '[${"foo.bar" }]' should successfully parse config string '[ ${"foo""bar"} ]' should successfully parse config string '[ ${"foo""bar"} ]' should successfully parse config string ' [ ${"foo""bar"} ]' should successfully parse config string '[ ${"foo""bar"} ] ' should successfully parse config string ' [ ${"foo""bar"} ] ' should successfully parse config string '[${"foo""bar"}]' should successfully parse config string '[ ${"foo""bar"} ]' should successfully parse config string '[ ${"foo""bar"} ]' should successfully parse config string '[ ${foo  "bar"  baz} ]' should successfully parse config string '[ ${foo "bar" baz} ]' should successfully parse config string ' [ ${foo "bar" baz} ]' should successfully parse config string '[ ${foo "bar" baz} ] ' should successfully parse config string ' [ ${foo "bar" baz} ] ' should successfully parse config string '[${foo"bar"baz}]' should successfully parse config string '[ ${foo "bar" baz} ]' should successfully parse config string '[ ${foo "bar" baz} ]' should successfully parse config string '[${true}]' should successfully parse config string ' [${true}]' should successfully parse config string '[${true}] ' should successfully parse config string ' [${true}] ' should successfully parse config string '[${true}]' should successfully parse config string '[${true}]' should successfully parse config string '[${true}]' should successfully parse config string 'a = [], a += b' should successfully parse config string 'a = [], a += b' should successfully parse config string ' a = [], a += b' should successfully parse config string 'a = [], a += b ' should successfully parse config string ' a = [], a += b ' should successfully parse config string 'a=[],a+=b' should successfully parse config string 'a = [], a += b' should successfully parse config string 'a = [] , a += b' should successfully parse config string '{ a = [], a += 10 }' should successfully parse config string '{ a = [], a += 10 }' should successfully parse config string ' { a = [], a += 10 }' should successfully parse config string '{ a = [], a += 10 } ' should successfully parse config string ' { a = [], a += 10 } ' should successfully parse config string '{a=[],a+=10}' should successfully parse config string '{ a = [], a += 10 }' should successfully parse config string '{ a = [] , a += 10 }' should successfully parse config string 'a += b' should successfully parse config string 'a += b' should successfully parse config string ' a += b' should successfully parse config string 'a += b ' should successfully parse config string ' a += b ' should successfully parse config string 'a+=b' should successfully parse config string 'a += b' should successfully parse config string 'a += b' should successfully parse config string '{ a += 10 }' should successfully parse config string '{ a += 10 }' should successfully parse config string ' { a += 10 }' should successfully parse config string '{ a += 10 } ' should successfully parse config string ' { a += 10 } ' should successfully parse config string '{a+=10}' should successfully parse config string '{ a += 10 }' should successfully parse config string '{ a += 10 }' should successfully parse config string '[ 10e3e3 ]' should successfully parse config string '[ 10e3e3 ]' should successfully parse config string ' [ 10e3e3 ]' should successfully parse config string '[ 10e3e3 ] ' should successfully parse config string ' [ 10e3e3 ] ' should successfully parse config string '[10e3e3]' should successfully parse config string '[ 10e3e3 ]' should successfully parse config string '[ 10e3e3 ]' should successfully parse config string '[ 1-e3 ]' should successfully parse config string '[ 1-e3 ]' should successfully parse config string ' [ 1-e3 ]' should successfully parse config string '[ 1-e3 ] ' should successfully parse config string ' [ 1-e3 ] ' should successfully parse config string '[1-e3]' should successfully parse config string '[ 1-e3 ]' should successfully parse config string '[ 1-e3 ]' should successfully parse config string '[ 1.0.0 ]' should successfully parse config string '[ 1.0.0 ]' should successfully parse config string ' [ 1.0.0 ]' should successfully parse config string '[ 1.0.0 ] ' should successfully parse config string ' [ 1.0.0 ] ' should successfully parse config string '[1.0.0]' should successfully parse config string '[ 1.0.0 ]' should successfully parse config string '[ 1.0.0 ]' should successfully parse config string '[ 1.0. ]' should successfully parse config string '[ 1.0. ]' should successfully parse config string ' [ 1.0. ]' should successfully parse config string '[ 1.0. ] ' should successfully parse config string ' [ 1.0. ] ' should successfully parse config string '[1.0.]' should successfully parse config string '[ 1.0. ]' should successfully parse config string '[ 1.0. ]' should successfully parse config string '{}' should successfully parse config string ' {}' should successfully parse config string '{} ' should successfully parse config string ' {} ' should successfully parse config string '{}' should successfully parse config string '{}' should successfully parse config string '{}' should successfully parse config string '[]' should successfully parse config string ' []' should successfully parse config string '[] ' should successfully parse config string ' [] ' should successfully parse config string '[]' should successfully parse config string '[]' should successfully parse config string '[]' should successfully parse config string '{ "foo" : "bar" }' should successfully parse config string '{ "foo" : "bar" }' should successfully parse config string ' { "foo" : "bar" }' should successfully parse config string '{ "foo" : "bar" } ' should successfully parse config string ' { "foo" : "bar" } ' should successfully parse config string '{"foo":"bar"}' should successfully parse config string '{ "foo" : "bar" }' should successfully parse config string '{ "foo" : "bar" }' should successfully parse config string '["foo", "bar"]' should successfully parse config string '["foo", "bar"]' should successfully parse config string ' ["foo", "bar"]' should successfully parse config string '["foo", "bar"] ' should successfully parse config string ' ["foo", "bar"] ' should successfully parse config string '["foo","bar"]' should successfully parse config string '["foo", "bar"]' should successfully parse config string '["foo" , "bar"]' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string ' { "foo" : 42 }' should successfully parse config string '{ "foo" : 42 } ' should successfully parse config string ' { "foo" : 42 } ' should successfully parse config string '{"foo":42}' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '{ "foo"  : 42 }' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string ' { "foo" : 42 }' should successfully parse config string '{ "foo" : 42 } ' should successfully parse config string ' { "foo" : 42 } ' should successfully parse config string '{"foo" :42}' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '{ "foo" :   42 }' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string ' { "foo" : 42 }' should successfully parse config string '{ "foo" : 42 } ' should successfully parse config string ' { "foo" : 42 } ' should successfully parse config string '{"foo": 42}' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '{ "foo" : 42 }' should successfully parse config string '[10, 11]' should successfully parse config string '[10, 11]' should successfully parse config string ' [10, 11]' should successfully parse config string '[10, 11] ' should successfully parse config string ' [10, 11] ' should successfully parse config string '[10,11]' should successfully parse config string '[10, 11]' should successfully parse config string '[10 , 11]' should successfully parse config string '[10,"foo"]' should successfully parse config string ' [10,"foo"]' should successfully parse config string '[10,"foo"] ' should successfully parse config string ' [10,"foo"] ' should successfully parse config string '[10,"foo"]' should successfully parse config string '[10,"foo"]' should successfully parse config string '[10 , "foo"]' should successfully parse config string '{ "foo" : "bar", "baz" : "boo" }' should successfully parse config string '{ "foo" : "bar", "baz" : "boo" }' should successfully parse config string ' { "foo" : "bar", "baz" : "boo" }' should successfully parse config string '{ "foo" : "bar", "baz" : "boo" } ' should successfully parse config string ' { "foo" : "bar", "baz" : "boo" } ' should successfully parse config string '{"foo":"bar","baz":"boo"}' should successfully parse config string '{ "foo" : "bar", "baz" : "boo" }' should successfully parse config string '{ "foo" : "bar" , "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz" }, "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz" }, "baz" : "boo" }' should successfully parse config string ' { "foo" : { "bar" : "baz" }, "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz" }, "baz" : "boo" } ' should successfully parse config string ' { "foo" : { "bar" : "baz" }, "baz" : "boo" } ' should successfully parse config string '{"foo":{"bar":"baz"},"baz":"boo"}' should successfully parse config string '{ "foo" : { "bar" : "baz" }, "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz" } , "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : "boo" }' should successfully parse config string ' { "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : "boo" } ' should successfully parse config string ' { "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : "boo" } ' should successfully parse config string '{"foo":{"bar":"baz","woo":"w00t"},"baz":"boo"}' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : "boo" }' should successfully parse config string '{ "foo" : { "bar" : "baz" , "woo" : "w00t" } , "baz" : "boo" }' should successfully parse config string '{ "foo" : [10,11,12], "baz" : "boo" }' should successfully parse config string '{ "foo" : [10,11,12], "baz" : "boo" }' should successfully parse config string ' { "foo" : [10,11,12], "baz" : "boo" }' should successfully parse config string '{ "foo" : [10,11,12], "baz" : "boo" } ' should successfully parse config string ' { "foo" : [10,11,12], "baz" : "boo" } ' should successfully parse config string '{"foo":[10,11,12],"baz":"boo"}' should successfully parse config string '{ "foo" : [10,11,12], "baz" : "boo" }' should successfully parse config string '{ "foo" : [10 , 11 , 12] , "baz" : "boo" }' should successfully parse config string '[{},{},{},{}]' should successfully parse config string ' [{},{},{},{}]' should successfully parse config string '[{},{},{},{}] ' should successfully parse config string ' [{},{},{},{}] ' should successfully parse config string '[{},{},{},{}]' should successfully parse config string '[{},{},{},{}]' should successfully parse config string '[{} , {} , {} , {}]' should successfully parse config string '[[[[[[]]]]]]' should successfully parse config string ' [[[[[[]]]]]]' should successfully parse config string '[[[[[[]]]]]] ' should successfully parse config string ' [[[[[[]]]]]] ' should successfully parse config string '[[[[[[]]]]]]' should successfully parse config string '[[[[[[]]]]]]' should successfully parse config string '[[[[[[]]]]]]' should successfully parse config string '[[1], [1,2], [1,2,3], []]' should successfully parse config string '[[1], [1,2], [1,2,3], []]' should successfully parse config string ' [[1], [1,2], [1,2,3], []]' should successfully parse config string '[[1], [1,2], [1,2,3], []] ' should successfully parse config string ' [[1], [1,2], [1,2,3], []] ' should successfully parse config string '[[1],[1,2],[1,2,3],[]]' should successfully parse config string '[[1], [1,2], [1,2,3], []]' should successfully parse config string '[[1] , [1 , 2] , [1 , 2 , 3] , []]' should successfully parse config string '{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":42}}}}}}}}' should successfully parse config string ' {"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":42}}}}}}}}' should successfully parse config string '{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":42}}}}}}}} ' should successfully parse config string ' {"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":42}}}}}}}} ' should successfully parse config string '{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":42}}}}}}}}' should successfully parse config string '{"a" : {"a" : {"a" : {"a" : {"a" : {"a" : {"a" : {"a" : 42}}}}}}}}' should successfully parse config string '{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":42}}}}}}}}' should successfully parse config string '[ "#comment" ]' should successfully parse config string '[ "#comment" ]' should successfully parse config string ' [ "#comment" ]' should successfully parse config string '[ "#comment" ] ' should successfully parse config string ' [ "#comment" ] ' should successfully parse config string '["#comment"]' should successfully parse config string '[ "#comment" ]' should successfully parse config string '[ "#comment" ]' should successfully parse config string '[ "//comment" ]' should successfully parse config string '[ "//comment" ]' should successfully parse config string ' [ "//comment" ]' should successfully parse config string '[ "//comment" ] ' should successfully parse config string ' [ "//comment" ] ' should successfully parse config string '["//comment"]' should successfully parse config string '[ "//comment" ]' should successfully parse config string '[ "//comment" ]' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : { "bar" : "baz", "woo" : [1,2,3,4], "w00t" : true, "a" : false, "b" : 3.14, "c" : null } }' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : { "bar" : "baz", "woo" : [1,2,3,4], "w00t" : true, "a" : false, "b" : 3.14, "c" : null } }' should successfully parse config string ' { "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : { "bar" : "baz", "woo" : [1,2,3,4], "w00t" : true, "a" : false, "b" : 3.14, "c" : null } }' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : { "bar" : "baz", "woo" : [1,2,3,4], "w00t" : true, "a" : false, "b" : 3.14, "c" : null } } ' should successfully parse config string ' { "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : { "bar" : "baz", "woo" : [1,2,3,4], "w00t" : true, "a" : false, "b" : 3.14, "c" : null } } ' should successfully parse config string '{"foo":{"bar":"baz","woo":"w00t"},"baz":{"bar":"baz","woo":[1,2,3,4],"w00t":true,"a":false,"b":3.14,"c":null}}' should successfully parse config string '{ "foo" : { "bar" : "baz", "woo" : "w00t" }, "baz" : { "bar" : "baz", "woo" : [1,2,3,4], "w00t" : true, "a" : false, "b" : 3.14, "c" : null } }' should successfully parse config string '{ "foo" : { "bar" : "baz" , "woo" : "w00t" } , "baz" : { "bar" : "baz" , "woo" : [1 , 2 , 3 , 4] , "w00t" : true , "a" : false , "b" : 3.14 , "c" : null } }' should successfully parse config string '{}' should successfully parse config string ' {}' should successfully parse config string '{} ' should successfully parse config string ' {} ' should successfully parse config string '{}' should successfully parse config string '{}' should successfully parse config string '{}' should successfully parse config string '[ 10e+3 ]' should successfully parse config string '[ 10e+3 ]' should successfully parse config string ' [ 10e+3 ]' should successfully parse config string '[ 10e+3 ] ' should successfully parse config string ' [ 10e+3 ] ' should successfully parse config string '[10e+3]' should successfully parse config string '[ 10e+3 ]' should successfully parse config string '[ 10e+3 ]' Config Parser should allow the last instance to win when duplicate keys are found should merge maps when duplicate keys are found should merge maps recursively when duplicate keys are found should merge maps recursively when three levels of duplicate keys are found should 'reset' a key when a null is found should 'reset' a map key when a scalar is found path_parsing '["a"]' should parse to same path as 'a' '["a", "b"]' should parse to same path as 'a.b' '["a.b"]' should parse to same path as '"a.b"' '["a."]' should parse to same path as '"a."' '[".b"]' should parse to same path as '".b"' '["true"]' should parse to same path as 'true' '["a"]' should parse to same path as ' a ' '["a ", "b"]' should parse to same path as ' a .b' '["a ", " b"]' should parse to same path as ' a . b' '["a b"]' should parse to same path as ' a b' '["a", "b.c", "d"]' should parse to same path as 'a."b.c".d' '["3", "14"]' should parse to same path as '3.14' '["3", "14", "159"]' should parse to same path as '3.14.159' '["a3", "14"]' should parse to same path as 'a3.14' '[""]' should parse to same path as '""' '["a", "", "b"]' should parse to same path as 'a."".b' '["a", ""]' should parse to same path as 'a.""' '["", "b"]' should parse to same path as '"".b' '["", "", ""]' should parse to same path as ' "".""."" ' '["a-c"]' should parse to same path as 'a-c' '["a_c"]' should parse to same path as 'a_c' '["-"]' should parse to same path as '"-"' '["-"]' should parse to same path as '-' '["-foo"]' should parse to same path as '-foo' '["-10"]' should parse to same path as '-10' '["foo10", "0"]' should parse to same path as 'foo10.0' '["10", "0foo"]' should parse to same path as '10.0foo' '["10", "0"]' should parse to same path as '10.0' '["1", "2", "3", "4"]' should parse to same path as '1.2.3.4' should raise a ConfigBadPathError for '' should raise a ConfigBadPathError for ' ' should raise a ConfigBadPathError for ' ' should raise a ConfigBadPathError for 'a.' should raise a ConfigBadPathError for '.b' should raise a ConfigBadPathError for 'a..b' should raise a ConfigBadPathError for 'a${b}c' should raise a ConfigBadPathError for '"".' should raise a ConfigBadPathError for '.""' Config Parser should support keys with slashes implied_comma_handling should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y, b : z, c : [ 1, 2, 3, ], } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y, b : z, c : [ 1, 2, 3, ], } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y, b : z, c : [ 1, 2, 3, ], } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y , b : z , c : [ 1 , 2 , 3 , ] , } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y , b : z , c : [ 1 , 2 , 3 , ] , } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y, b : z, c : [ 1, 2, 3, ], } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y , b : z , c : [ 1 , 2 , 3 , ] , } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should handle commas and whitespaces properly for string ' // one line { a : y, b : z, c : [ 1, 2, 3 ] }' should handle commas and whitespaces properly for string ' // multiline but with all commas { a : y, b : z, c : [ 1, 2, 3, ], } ' should handle commas and whitespaces properly for string ' // multiline with no commas { a : y b : z c : [ 1 2 3 ] } ' should have run one test per change per valid string should concatenate values when there is no newline or comma with no newline in array with no newline in array with quoted strings with no newline in object with no newline at end errors when no newline between keys errors when no newline between quoted keys Config Parser line_numbers_in_errors should include the line number 1 in the error message for invalid string '}' should include the line number 2 in the error message for invalid string ' }' should include the line number 3 in the error message for invalid string ' }' should include the line number 1 in the error message for invalid string '} ' should include the line number 2 in the error message for invalid string ' } ' should include the line number 3 in the error message for invalid string ' } ' should include the line number 1 in the error message for invalid string 'foo' should include the line number 2 in the error message for invalid string ' foo' should include the line number 3 in the error message for invalid string ' foo' should include the line number 1 in the error message for invalid string '"foo"' should include the line number 2 in the error message for invalid string ' "foo"' should include the line number 3 in the error message for invalid string ' "foo"' should include the line number 1 in the error message for invalid string 'a : """foo"""}' should include the line number 2 in the error message for invalid string 'a : """foo """}' should include the line number 3 in the error message for invalid string 'a : """foo bar baz"""}' should include the line number 5 in the error message for invalid string 'a : """foo bar baz""" }' should include the line number 6 in the error message for invalid string 'a : """foo bar baz """ }' should include the line number 5 in the error message for invalid string 'a : """foo bar ' to_string_for_parseables should allow to_s on File Parseable should allow to_s on Resources Parseable should allow to_s on Resources Parseable Config Parser includeFile includeFileWithExtension includeFileWhitespaceInsideParens includeFileNoWhitespaceOutsideParens includeFileNotQuoted includeFileNotQuotedAndSpecialChar includeFileUnclosedParens acceptsUTF8FileContents shouldacceptUTF16FileContents (PENDING: supporting UTF-16 requires appropriate BOM detection during parsing) acceptBOMStartingFile acceptBOMInStringValue acceptBOMWhitespace (PENDING: BOM not parsing properly yet; not fixing this now because it most likely only affects windows) acceptMultiPeriodNumericPath track_comments_for_single_field should have comments [] at path foo should have comments [" Before"] at path foo should have comments [] at path foo should have comments [" BeforeNoBraces"] at path foo should have comments [] at path foo should have comments [" SameLine"] at path foo should have comments [" BeforeSep"] at path foo should have comments [" AfterSep"] at path foo should have comments [] at path foo should have comments [" BeforeSepOwnLine"] at path foo should have comments [" AfterSepOwnLine"] at path foo should have comments [" Before", " BeforeSep", " AfterSepSameLine", " AfterSepNextLine", " AfterValue"] at path foo should have comments [" BeforeEmpty", "AfterEmpty"] at root should have comments [" BeforeEmptyArray", "AfterEmptyArray"] at path foo should have comments [" BeforeElement", " AfterElement"] at path foo and index 0 should have comments [" AfterCommaField"] at path foo should have comments [" AfterCommaElement"] at path foo and index 0 should have comments [] at path foo should have comments [] at path foo and index 0 should have comments [] at path foo should have comments [] at path foo and index 0 should have comments [" BeforeCommaFieldSameLine"] at path foo should have comments [" BeforeCommaElementSameLine"] at path foo and index 0 track_comments_for_multiple_fields should have comments [" Inner", " AfterInner"] at path bar.baz.foo should have comments [" Middle", " two lines", " AfterMiddle"] at path bar.baz should have comments [" Outside", " AfterOutside"] at path bar should have comments [" this is field A"] at path a should have comments [" this is field B", " goes with field B which has no comma"] at path b should have comments [" this is field C", " goes with field C after comma"] at path c should have comments [" this is with field D", " this is with field D also"] at path d should have comments [" goes with 0"] at path array and index 0 should have comments [" goes with 1", " with 1 after comma"] at path array and index 1 should have comments [" goes with 2", " no comma after 2"] at path array and index 2 should have comments [" before entire array", " after entire array"] at path array should have comments [" x.y comment"] at path x.y should have comments [" x.z comment"] at path x.z should have comments [" x.a comment"] at path x.a should have comments [" a.b comment"] at path a.b should have comments [] at path a.c should have comments [" a.d comment"] at path a.d should have comments [] at path x should have comments [] at path a loading unicode file paths should be able to parse files with unicode file paths ConfigDocumentParser parse_success simple map with no braces should correctly render the parsed node simple map with no braces and whitespace should correctly render the parsed node include with no braces should correctly render the parsed node simple map with no braces and newlines should correctly render the parsed node map with no braces and all simple types should correctly render the parsed node empty map should correctly render the parsed node simple map with braces should correctly render the parsed node simple map with braces and whitespace should correctly render the parsed node simple map with braces and trailing whitespace should correctly render the parsed node simple map with braces and include should correctly render the parsed node simple map with braces and leading/trailing newlines should correctly render the parsed node map with braces and all simple types should correctly render the parsed node maps can be nested within other maps should correctly render the parsed node comments can be parsed in maps should correctly render the parsed node empty array should correctly render the parsed node single-element array should correctly render the parsed node trailing comment should correctly render the parsed node trailing comment and whitespace should correctly render the parsed node leading and trailing whitespace should correctly render the parsed node array with all simple types should correctly render the parsed node array with all simple types and weird whitespace should correctly render the parsed node basic concatenation inside an array should correctly render the parsed node basic concatenation inside a map should correctly render the parsed node complex concatenation in an array with multiple elements should correctly render the parsed node complex node with all types should correctly render the parsed node can correctly parse a JSON string should correctly parse and render a JSON string parse JSON failures JSON does not support concatenations should thrown an exception when parsing invalid JSON JSON must begin with { or [ should thrown an exception when parsing invalid JSON JSON does not support unquoted text should thrown an exception when parsing invalid JSON JSON does not support substitutions should thrown an exception when parsing invalid JSON JSON does not support multi-element paths should thrown an exception when parsing invalid JSON JSON does not support = should thrown an exception when parsing invalid JSON JSON does not support += should thrown an exception when parsing invalid JSON JSON does not support duplicate keys should thrown an exception when parsing invalid JSON JSON does not support trailing commas should thrown an exception when parsing invalid JSON JSON does not support empty documents should thrown an exception when parsing invalid JSON parse single values should parse concatenations when using CONF syntax should parse keys with no separators and object values with CONF parsing parse a single integer should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse a single double should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse a single string should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse true should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse false should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse null should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse a map should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse an array should correctly parse and render the original text as CONF should correctly parse and render the original text as JSON parse single values failures should throw an error when parsing concatenations in JSON should throw an error when parsing keys with no separators in JSON throws on leading whitespace should throw an exception when parsing an invalid single value throws on trailing whitespace should throw an exception when parsing an invalid single value throws on leading and trailing whitespace should throw an exception when parsing an invalid single value throws on leading newline should throw an exception when parsing an invalid single value throws on trailing newline should throw an exception when parsing an invalid single value throws on leading and trailing newline should throw an exception when parsing an invalid single value throws on leading and trailing comments should throw an exception when parsing an invalid single value throws on whitespace after a concatenation should throw an exception when parsing an invalid single value throws on unquoted text in JSON should correctly parse and render the original text as CONF should throw an exception when parsing the original text as JSON throws on substitutions in JSON should correctly parse and render the original text as CONF should throw an exception when parsing the original text as JSON parse empty document should parse an empty document with CONF syntax should parse a document with only comments and whitespace with CONF syntax ConfigDocument ConfigDocument replace parsing/replacement with a very simple map should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document should correctly render the parsed JSON document should perform a successful replacement on the parsed JSON document parsing/replacement with a map without surrounding braces should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document parsing/replacement with a complicated map should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document should correctly render the parsed JSON document should perform a successful replacement on the parsed JSON document replacing values with maps should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document should correctly render the parsed JSON document should perform a successful replacement on the parsed JSON document replacing values with arrays should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document should correctly render the parsed JSON document should perform a successful replacement on the parsed JSON document replacing values with concatenations should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document config document multi element duplicates removed should remove all duplicates when setting a value should keep a trailing comma if succeeding elements were removed in CONF should add the setting if only a multi-element duplicate exists config document set new value brace root set a new value in CONF should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document set a new value in JSON should correctly render the parsed JSON document should perform a successful replacement on the parsed JSON document config document set new value no braces should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document config document set new value multi level CONF should correctly render the parsed CONF document should perform a successful replacement on the parsed CONF document config document set new value multi level JSON should correctly render the parsed JSON document should perform a successful replacement on the parsed JSON document config document set new config value should successfuly render the original text from both documents should succesfully set a new value on both documents config document has value should return true on paths that exist in the document should return false on paths that don't exist in the document config document remove value should remove a top-level setting with a simple value should remove a top-level setting with a complex value should do nothing if the setting does not exist config document remove value JSON should not leave a trailing comma when removing a value in JSON config document remove multiple should remove duplicate nested keys config document remove overridden should remove all instances of keys even if overridden by a top-level key/value pair config document remove nested should remove nested keys if specified config document array failures should throw when set_value is called and there is an array at the root should throw when has_value is called and there is an array at the root should throw when remove_value is called and there is an array at the root config document JSON replace failure should fail when trying to replace with a value using HOCON syntax in JSON config document JSON replace with concatenation failure should fail when trying to add a concatenation into a JSON document config document file parse should correctly parse from a file config document indentation single line object should properly indent a value in a single-line map should properly indent a value in the top-level when it is on a single line should not preserve trailing commas should add necessary keys along the path to the value and properly space them should properly indent keys added to the top-level with curly braces should add necessary keys along the path to the value and properly space them when the root has braces config document indentation multi line object document with no trailing newlines should properly indent a value in a multi-line map should properly add/indent any necessary objects along the way to the value document with multi-line root should properly indent a value at the root with multiple lines should properly add/indent any necessary objects along the way to the value config document indentation nested should properly space a new key/value pair in a nested map in a single-line document should properly space a new key/value pair in a nested map in a multi-line document config document indentation empty object should properly space a new key/value pair in a single-line empty object should properly indent a new key/value pair in a multi-line empty object config document indentation multi line value should successfully insert and indent a multi-line object should successfully insert a concatenation with a multi-line array config document indentation multi line value single line object should get weird indentation when adding a multi-line value to a single-line object config document indentation single line object containing multi line value should treat an object with no new-lines outside of its values as a single-line object config document indentation replacing with multi line value should properly indent a multi-line value when replacing a single-line value should properly indent a multi-line value when replacing a single-line value in an object with multiple keys config document indentation value with include should indent an include node config document indentation based on include node should indent properly when only an include node is present in the object in which the value is inserted insertion into an empty document should successfully insert a value into an empty document should successfully insert a multi-line object into an empty document should successfully insert a hash into an empty document should successfully insert an array into an empty document can insert a map parsed with ConfigValueFactory should successfully insert a map into a document Hocon::ConfigFactory example1 parsing a HOCON string should make the config data available as a map should render the config data to a string with comments intact should generate the same conf data via re-parsing the rendered output parsing a .conf file should make the config data available as a map should render the config data to a string with comments intact should generate the same conf data via re-parsing the rendered output example2 parsing a HOCON string should make the config data available as a map should render the config data to a string with comments intact should generate the same conf data via re-parsing the rendered output parsing a .conf file should make the config data available as a map should render the config data to a string with comments intact should generate the same conf data via re-parsing the rendered output example3 loading a HOCON file with substitutions should make the config data available as a map should render the config data to a string with comments intact should generate the same conf data via re-parsing the rendered output example4 parsing a .json file should make the config data available as a map should render the config data to a string with comments intact should generate the same conf data via re-parsing the rendered output example5 should raise a ConfigParseError when given an invalid .conf file Hocon::Parser::ConfigNode create basic config node start of file should render the node with the text of the token end of file should render the node with the text of the token { should render the node with the text of the token } should render the node with the text of the token [ should render the node with the text of the token ] should render the node with the text of the token , should render the node with the text of the token = should render the node with the text of the token : should render the node with the text of the token += should render the node with the text of the token unquoted text should render the node with the text of the token ignored whitespace should render the node with the text of the token \n should render the node with the text of the token double slash comment should render the node with the text of the token hash comment should render the node with the text of the token create config node setting unquoted key should render the node with the text of the path quoted_key should render the node with the text of the path path node subpath should produce correct subpaths of path nodes with subpath method create config node simple value integer should render the original token text double should render the original token text false should render the original token text true should render the original token text null should render the original token text quoted text should render the original token text unquoted text should render the original token text key substitution should render the original token text optional substitution should render the original token text substitution should render the original token text create ConfigNodeField supports quoted keys should properly replace the value of a field node supports unquoted keys should properly replace the value of a field node can replace a simple value with a different type of simple value should properly replace the value of a field node can replace a simple value with a complex value should properly replace the value of a field node replace nodes replace an integer with an integer should replace a value in a ConfigNodeObject replace a double with an integer should replace a value in a ConfigNodeObject replace false with true should replace a value in a ConfigNodeObject replace true with null should replace a value in a ConfigNodeObject replace null with a string should replace a value in a ConfigNodeObject replace a string with unquoted text should replace a value in a ConfigNodeObject replace unquoted text with a key substitution should replace a value in a ConfigNodeObject replace int with an optional substitution should replace a value in a ConfigNodeObject replace int with a substitution should replace a value in a ConfigNodeObject replace substitution with an int should replace a value in a ConfigNodeObject ensure arrays can be replaced can replace a simple value with an array should replace a value in a ConfigNodeObject can replace an array with a simple value should replace a value in a ConfigNodeObject can replace an array with another complex value should replace a value in a ConfigNodeObject ensure objects can be replaced can replace an object with a simple value should replace a value in a ConfigNodeObject can replace a simple value with an object should replace a value in a ConfigNodeObject can replace an array with an object should replace a value in a ConfigNodeObject can replace an object with an array should replace a value in a ConfigNodeObject can replace an object with an empty object should replace a value in a ConfigNodeObject ensure concatenations can be replaced can replace a concatenation with a simple value should replace a value in a ConfigNodeObject can replace a simple value with a concatenation should replace a value in a ConfigNodeObject can replace an object with a concatenation should replace a value in a ConfigNodeObject can replace a concatenation with an object should replace a value in a ConfigNodeObject can replace an array with a concatenation should replace a value in a ConfigNodeObject can replace a concatenation with an array should replace a value in a ConfigNodeObject ensure a key with format "a.b" will be properly replaced should replace a value in a ConfigNodeObject remove duplicates duplicates containing simple values will all be removed should remove duplicates of a key when setting a value duplicates containing objects will be removed should remove duplicates of a key when setting a value duplicates containing arrays will be removed should remove duplicates of a key when setting a value duplicates containing a mix of value types will be removed should remove duplicates of a key when setting a value add non existent paths adding an integer should properly add a key/value pair if the key does not exist in the object adding an array should properly add a key/value pair if the key does not exist in the object adding an object should properly add a key/value pair if the key does not exist in the object replace nested nodes should properly render the original node should properly replae values in the original node Hocon::ConfigValueFactory converting objects to ConfigValue using ConfigValueFactory should convert true into a ConfigBoolean should convert false into a ConfigBoolean should convert nil into a ConfigNull object should convert an string into a ConfigString object should convert an integer into a ConfigInt object should convert a double into a ConfigDouble object should convert a map into a SimpleConfigObject should convert symbol keys in a map to string keys should not parse maps with non-string and non-symbol keys should convert an Enumerable into a SimpleConfigList SimpleConfigOrigin equality different origins with the same name should be equal a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a does not equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigInt equality different ConfigInts with the same value should be equal a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a does not equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigFloat equality different ConfigFloats with the same value should be equal a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a does not equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigFloat and ConfigInt equality different ConfigInts with the same value should be equal int equals double should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigFloat made from int equals double should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing 3 doesn't equal 4.0 should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing 4.0 doesn't equal 3.0 should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing SimpleConfigObject equality SimpleConfigObjects made from hash maps a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing b equals b should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing c equals c should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal c should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing b doesn't equal c should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a's config equals a's config should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a's config equals same_as_a's config should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a's config equals a's config computed again should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a's config doesn't equal b's config should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a's config doesn't equal c's config should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal a's config should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing b doesn't equal b's config should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing SimpleConfigList equality a_list equals a_list should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a_list equals same_as_a_list should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a_list doesn't equal b_list should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigReference equality testing values are of the right type a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal c, an optional substitution should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigConcatenation equality testing values are of the right type a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal c, an optional substitution should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigDelayedMerge equality a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing ConfigDelayedMergeObject equality a equals a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a equals same_as_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing a doesn't equal b should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing Values' to_s methods to_s doesn't throw error ConfigObject should unwrap correctly should implement read only map ConfigList should implement read only list Objects throwing ConfigNotResolvedError ConfigSubstitution should throw ConfigNotResolvedError ConfigDelayedMerge should throw ConfigNotResolvedError ConfigDelayedMergeObject should have value type of OBJECT should throw ConfigNotResolvedError Round tripping numbers through parse_string should get the same numbers back out AbstractConfigObject#merge_origins should merge origins correctly SimpleConfig#has_path? should work in various contexts ConfigNumber::new_number should create new objects correctly Boolean conversions true, yes, and on all convert to true SimpleConfigOrigin filename matches what was specified description matches correctly origins with no line number should have line number of -1 line_number returns the right line number Config#with_only_key and with_only_path should handle unresolved correctly should keep the correct data should keep only a should keep only e should keep only c.d should keep only c.d.z should keep nonexistent key should keep nonexistent path should keep only nonexistent underneath non-object should keep only nonexistent underneath nested non-object Config#without_key/path should remove keys correctly should not have a should not have c should not have c.d should not have c.d.z should not change without nonexistent key should not change without nonexistent path should not change without nonexistent path with existing prefix Config#without_key/path involving unresolved should handle unresolved correctly Config#at_path works with one element works with two elements works with four elements Config#at_key at_key works works with value depth 1 from empty works with value depth 2 from empty works with value depth 3 from empty with value depth 1 overwrites existing with value depth 2 overwrites existing with value inside existing object with value build complex config #render should sort properly has newlines in description rendered config should have all the lines that were added, with newlines the rendered config should give back the original config RenderOptions.key_value_separator should use colons when set to :colon should use equals signs when set to :equals Hocon::Impl::Path Check path equality key_a equals a path of the same name should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing two_elements equals a path with those two elements should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing key_a equals key_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing key_a equals same_as_key_a should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing key_a not equal to different_key should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing key_a not equal to the two_elements path should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing two_elements path equals same_as_two_elements path should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing testing to_s should find to_s returning the correct strings testing .render rendering simple one element case should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering simple two element case should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering non safe char in an element should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering period in an element should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering hyphen in element should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering hyphen in element should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering element starting with a hyphen should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering element starting with a number should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering empty elements should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering element with internal space should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering leading and trailing spaces should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering trailing space only should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering number with decimal point should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path rendering number with multiple decimal points should find the expected rendered text equal to the rendered path should find the path equal to the parsed expected text should find the path equal to the parsed text that came from the rendered path test that paths made from a list of Path objects equal paths made from a list of strings should find a path made from a list of one path equal to a path from one string should find a path made from a list of multiple paths equal to that list of strings prepending paths should find prepending a single path works should find prepending multiple paths works path length should find length of single part path to be 1 should find length of two part path to be 2 parent paths should find parent of single level path to be nil should find parent of a.b to be a should find parent of a.b.c to be a.b path last method should find last of single level path to be itself should find last of a.b to be b invalid paths should catch exception from empty path should catch exception from path '..' basic load and get should be able to see some values in the config object loading JSON only should be missing value specific to CONF files should find value specific to the JSON file loading CONF only should be missing value specific to JSON files should find value specific to the CONF file ConfigFactory#load_file_with_resolve_options sanity check to make sure load_file_with_resolve_options act strange empty configs empty config is empty empty config's origin should be 'empty config' empty config with origin description is empty empty config with origin description 'foo' is having it's description set Creating objects with ConfigValueFactory from true create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from false create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from nil create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from int create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from float create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from string create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from empty hash create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from populated hash create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from_map should also work from empty array create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from populated array create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from existing Config values from int create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from string create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from hash create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match from existing list of Config values create_from made into a config value should equal the expected value create_from made into a config value with origin description should equal the expected value descriptions match round tripping unwrap conf has a lot of stuff in it rewrapped conf equals conf reunwrapped conf equals unwrapped conf default parse options allow missing == true includer == nil origin description == nil syntax == nil allow missing with ConfigFactory#parse_file nonexistant conf throws error when allow_missing? == false nonexistant conf returns empty conf when allow_missing? == false allow missing with ConfigFactory#parse_file_any_syntax nonexistant conf throws error when allow_missing? == false nonexistant conf returns empty conf when allow_missing? == false allow missing shouldn't mess up includes conf should have stuff from test01.conf both confs should be equal regardless of allow_missing being true or false string parsing should parse correctly config_utils can join and split paths should throw errors on invalid paths should quote strings correctly detecting cycles should detect a cycle including from list should throw error when trying to include from list using some values without resolving should be able to use some values without resolving unresolved value should throw error include file statements should find values from each included file should not find certain paths Config#has_path_or_null has_path_or_null returns correctly Config#get_is_null should return whether or not values are null correctly should throw error for missing values should throw error for missing underneal null should throw error for missing underneath missing Hocon::Impl::SimpleConfig example1 parsing a .conf file should allow you to get a value for a specific configuration setting should return true if a path exists should return false if a path does not exist should add desired setting with desired value should add a nested map to a config should add an array to a config should remove desired setting example2 parsing a .conf file should allow you to get a value for a setting whose value is a data structure should return true if a path exists should return false if a path does not exist should add desired setting with desired value should add a nested map to a config should add an array to a config should remove desired setting Hocon::Impl::Token check token equality syntax tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing integer tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing truth tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing int and double of the same value should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing double tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing quoted string tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing unquoted string tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing key substitution tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing null tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing newline tokens should find the first object to be equal to the second object should find the second object to be equal to the first object should find the hash codes of the two objects to be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing check token inequality syntax tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing integer tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing double tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing truth tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing quoted string tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing unquoted string tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing key substitution tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing newline tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing true and int tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing string 'true' and true tokens should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing int and double of slightly different values should find the first object to not be equal to the second object should find the second object to not be equal to the first object should find the hash codes of the two objects to not be equal should find the first object not equal to a random other thing should find the second object not equal to a random other thing Check that to_s doesn't throw exception shouldn't throw an exception Hocon::Impl::Tokenizer tokenizing whitespace tokenize empty string should match the tokenized string to the list of expected tokens tokenize newlines should match the tokenized string to the list of expected tokens tokenize unquoted text should keep spaces should match the tokenized string to the list of expected tokens tokenize unquoted text with internal spaces should keep spaces should match the tokenized string to the list of expected tokens tokenizing booleans and null tokenize true and unquoted text should match the tokenized string to the list of expected tokens tokenize false and unquoted text should match the tokenized string to the list of expected tokens tokenize null and unquoted text should match the tokenized string to the list of expected tokens tokenize unquoted text containing true should match the tokenized string to the list of expected tokens tokenize unquoted text containing space and true should match the tokenized string to the list of expected tokens tokenize true and space and unquoted text should match the tokenized string to the list of expected tokens tokenizing slashes tokenize unquoted text containing slash should match the tokenized string to the list of expected tokens tokenize slash should match the tokenized string to the list of expected tokens tokenize slash space slash should match the tokenized string to the list of expected tokens tokenize mixed unquoted and quoted should match the tokenized string to the list of expected tokens tokenize empty triple quoted string should match the tokenized string to the list of expected tokens tokenize trivial triple quoted string should match the tokenized string to the list of expected tokens tokenize no escapes in triple quoted string should match the tokenized string to the list of expected tokens tokenize trailing quotes in triple quoted string should match the tokenized string to the list of expected tokens tokenize new line in triple quoted string should match the tokenized string to the list of expected tokens finding problems when tokenizing nothing after backslash should find a problem when tokenizing there is no q escape sequence should find a problem when tokenizing unicode byte sequence missing a byte should find a problem when tokenizing unicode byte sequence missing two bytes should find a problem when tokenizing unicode byte sequence missing three bytes should find a problem when tokenizing unicode byte missing should find a problem when tokenizing just a single quote should find a problem when tokenizing no end quote should find a problem when tokenizing file ends with a backslash should find a problem when tokenizing file ends with a $ should find a problem when tokenizing file ends with a ${ should find a problem when tokenizing tokenizing numbers parse positive float should match the tokenized string to the list of expected tokens parse negative float should match the tokenized string to the list of expected tokens parse exponent notation should match the tokenized string to the list of expected tokens parse negative exponent should match the tokenized string to the list of expected tokens parse exponent with capital E should match the tokenized string to the list of expected tokens parse negative int should match the tokenized string to the list of expected tokens tokenizing comments tokenize two slashes as comment should match the tokenized string to the list of expected tokens tokenize two slashes in string as string should match the tokenized string to the list of expected tokens tokenize hash in string as string should match the tokenized string to the list of expected tokens tokenize slash comment after unquoted text should match the tokenized string to the list of expected tokens tokenize hash comment after unquoted text should match the tokenized string to the list of expected tokens tokenize slash comment after int should match the tokenized string to the list of expected tokens tokenize hash comment after int should match the tokenized string to the list of expected tokens tokenize hash comment after int should match the tokenized string to the list of expected tokens tokenize slash comment after float should match the tokenized string to the list of expected tokens tokenize hash comment after float should match the tokenized string to the list of expected tokens tokenize slash comment with newline should match the tokenized string to the list of expected tokens tokenize hash comment with newline should match the tokenized string to the list of expected tokens tokenize slash comments on two consecutive lines should match the tokenized string to the list of expected tokens tokenize hash comments on two consecutive lines should match the tokenized string to the list of expected tokens tokenize slash comments on multiple lines with whitespace should match the tokenized string to the list of expected tokens tokenize hash comments on multiple lines with whitespace should match the tokenized string to the list of expected tokens tokenizing brackets and braces tokenize open curly braces should match the tokenized string to the list of expected tokens tokenize close curly braces should match the tokenized string to the list of expected tokens tokenize open and close curly braces should match the tokenized string to the list of expected tokens tokenize open and close curly braces should match the tokenized string to the list of expected tokens tokenize open square brackets should match the tokenized string to the list of expected tokens tokenize close square brackets should match the tokenized string to the list of expected tokens tokenize open and close square brackets should match the tokenized string to the list of expected tokens tokenizing comma, colon, equals, and plus equals tokenize comma should match the tokenized string to the list of expected tokens tokenize colon should match the tokenized string to the list of expected tokens tokenize equals should match the tokenized string to the list of expected tokens tokenize plus equals should match the tokenized string to the list of expected tokens tokenize comma, colon, plus equals, and equals together should match the tokenized string to the list of expected tokens tokenizing substitutions tokenize substitution should match the tokenized string to the list of expected tokens tokenize optional substitution should match the tokenized string to the list of expected tokens tokenize key substitution should match the tokenized string to the list of expected tokens tokenizing unicode and escape characters tokenize unicode infinity symbol should match the tokenized string to the list of expected tokens tokenize null byte should match the tokenized string to the list of expected tokens tokenize various espace codes should match the tokenized string to the list of expected tokens tokenize unicode F should match the tokenized string to the list of expected tokens tokenize two unicode Fs should match the tokenized string to the list of expected tokens Finding problems with using reserved characters problem with reserved character + should find a problem when tokenizing problem with reserved character ` should find a problem when tokenizing problem with reserved character ^ should find a problem when tokenizing problem with reserved character ? should find a problem when tokenizing problem with reserved character ! should find a problem when tokenizing problem with reserved character @ should find a problem when tokenizing problem with reserved character * should find a problem when tokenizing problem with reserved character & should find a problem when tokenizing problem with reserved character \ should find a problem when tokenizing Tokenizing all types together tokenize all types no spaces should match the tokenized string to the list of expected tokens tokenize all types single spaces should match the tokenized string to the list of expected tokens tokenize all types multiple spaces should match the tokenized string to the list of expected tokens Pending: (Failures listed here are expected and do not affect your suite's status) 1) Config Parser shouldacceptUTF16FileContents # supporting UTF-16 requires appropriate BOM detection during parsing # ./spec/unit/typesafe/config/conf_parser_spec.rb:796 2) Config Parser acceptBOMWhitespace # BOM not parsing properly yet; not fixing this now because it most likely only affects windows # ./spec/unit/typesafe/config/conf_parser_spec.rb:815 Finished in 3.32 seconds (files took 8.7 seconds to load) 2579 examples, 0 failures, 2 pending ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -i -O--buildsystem=ruby dh_installdocs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_ruby_fixdocs -i -O--buildsystem=ruby dh_installchangelogs -i -O--buildsystem=ruby dh_installchangelogs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installman -i -O--buildsystem=ruby dh_installman: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installinit -i -O--buildsystem=ruby dh_installinit: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_perl -i -O--buildsystem=ruby dh_link -i -O--buildsystem=ruby dh_strip_nondeterminism -i -O--buildsystem=ruby dh_compress -X.rb -i -O--buildsystem=ruby dh_compress: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_fixperms -i -O--buildsystem=ruby dh_missing -i -O--buildsystem=ruby dh_missing: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installdeb -i -O--buildsystem=ruby dh_installdeb: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_gencontrol -i -O--buildsystem=ruby dpkg-gencontrol: warning: Depends field of package ruby-hocon: substitution variable ${shlibs:Depends} used, but is not defined dpkg-gencontrol: warning: package ruby-hocon: substitution variable ${ruby:Depends} unused, but is defined dh_md5sums -i -O--buildsystem=ruby dh_builddeb -i -O--buildsystem=ruby dpkg-deb: building package 'ruby-hocon' in '../ruby-hocon_1.2.5-1.1_all.deb'. dpkg-genbuildinfo --build=all dpkg-genchanges --build=all >../ruby-hocon_1.2.5-1.1_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/ruby-hocon-Wq8e6H /tmp/ruby-hocon-1.2.5-1.1yn948hf_ I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.uNp8m8zKR4... I: success in 380.5974 seconds md5: ruby-hocon_1.2.5-1.1_all.deb: OK sha1: ruby-hocon_1.2.5-1.1_all.deb: OK sha256: ruby-hocon_1.2.5-1.1_all.deb: OK Checksums: OK