<86>Jan  4 13:41:39 userdel[3185643]: delete user 'rooter'
<86>Jan  4 13:41:39 userdel[3185643]: removed group 'rooter' owned by 'rooter'
<86>Jan  4 13:41:39 groupadd[3185657]: group added to /etc/group: name=rooter, GID=627
<86>Jan  4 13:41:39 groupadd[3185657]: group added to /etc/gshadow: name=rooter
<86>Jan  4 13:41:39 groupadd[3185657]: new group: name=rooter, GID=627
<86>Jan  4 13:41:39 useradd[3185673]: new user: name=rooter, UID=627, GID=627, home=/root, shell=/bin/bash
<86>Jan  4 13:41:39 userdel[3185690]: delete user 'builder'
<86>Jan  4 13:41:39 userdel[3185690]: removed group 'builder' owned by 'builder'
<86>Jan  4 13:41:39 userdel[3185690]: removed shadow group 'builder' owned by 'builder'
<86>Jan  4 13:41:39 groupadd[3185704]: group added to /etc/group: name=builder, GID=628
<86>Jan  4 13:41:39 groupadd[3185704]: group added to /etc/gshadow: name=builder
<86>Jan  4 13:41:39 groupadd[3185704]: new group: name=builder, GID=628
<86>Jan  4 13:41:39 useradd[3185716]: new user: name=builder, UID=628, GID=628, home=/usr/src, shell=/bin/bash
<13>Jan  4 13:41:41 rpmi: rpm-build-compat-2.2.6-alt2 sisyphus+262205.100.1.1 1605912726 installed
<13>Jan  4 13:41:41 rpmi: rpm-build-intro-2.2.6-alt2 sisyphus+262205.100.1.1 1605912726 installed
<13>Jan  4 13:41:41 rpmi: rpm-macros-nodejs-0.20.7-alt1 sisyphus+261512.100.1.1 1605056365 installed
<13>Jan  4 13:41:43 rpmi: libuv-1.40.0-alt1 sisyphus+259303.100.2.1 1602003324 installed
<13>Jan  4 13:41:43 rpmi: libcares-1.17.1-alt1 sisyphus+262311.100.1.1 1606112761 installed
<13>Jan  4 13:41:43 rpmi: libexpat-2.2.10-alt1 sisyphus+259966.100.1.1 1602824518 installed
<13>Jan  4 13:41:43 rpmi: libnghttp2-1.41.0-alt1 sisyphus+253680.100.1.1 1592642271 installed
<13>Jan  4 13:41:43 rpmi: libidn2-2.3.0-alt1 sisyphus+240846.100.1.2 1573870475 installed
<13>Jan  4 13:41:43 rpmi: libcares-devel-1.17.1-alt1 sisyphus+262311.100.1.1 1606112761 installed
<13>Jan  4 13:41:43 rpmi: libuv-devel-1.40.0-alt1 sisyphus+259303.100.2.1 1602003324 installed
<13>Jan  4 13:41:43 rpmi: zlib-devel-1.2.11-alt1 sisyphus+221902.6000.4.1 1550601058 installed
<13>Jan  4 13:41:43 rpmi: zip-30000000:3.0-alt1 1332241772 installed
<13>Jan  4 13:41:44 rpmi: libicu67-1:6.7.1-alt2 sisyphus+252432.100.2.2 1590796126 installed
<13>Jan  4 13:41:44 rpmi: libgdbm-1.8.3-alt10 1454943334 installed
<13>Jan  4 13:41:44 rpmi: rsync-3.1.3-alt2 sisyphus+262850.200.1.1 1606957848 installed
<13>Jan  4 13:41:44 rpmi: libedit3-3.1.20191231-alt1 sisyphus+262996.100.1.1 1607274935 installed
<13>Jan  4 13:41:44 rpmi: less-530-alt1 sisyphus+226367.200.2.2 1554151813 installed
<13>Jan  4 13:41:44 rpmi: gcc-c++-common-1.4.27-alt1 sisyphus+262033.600.7.2 1607340230 installed
<13>Jan  4 13:41:44 rpmi: libstdc++10-devel-10.2.1-alt2 sisyphus+263054.100.3.1 1607510657 installed
<13>Jan  4 13:41:45 rpmi: gcc10-c++-10.2.1-alt2 sisyphus+263054.100.3.1 1607510657 installed
<13>Jan  4 13:41:45 rpmi: gcc-c++-10-alt1 sisyphus+263054.200.3.1 1607516810 installed
<13>Jan  4 13:41:45 rpmi: diffstat-1.63-alt1 sisyphus+243663.100.1.1 1577480060 installed
<13>Jan  4 13:41:45 rpmi: publicsuffix-list-dafsa-20201117-alt1 sisyphus+262026.100.1.1 1605704486 installed
<13>Jan  4 13:41:45 rpmi: libpsl-0.21.1-alt1 sisyphus+255206.100.1.1 1595348938 installed
<13>Jan  4 13:41:45 rpmi: openldap-common-2.4.56-alt1 sisyphus+264049.140.3.1 1609084202 installed
<13>Jan  4 13:41:45 rpmi: libverto-0.3.0-alt1_11 sisyphus+263994.100.1.1 1608994695 installed
<13>Jan  4 13:41:45 rpmi: liblmdb-0.9.23-alt1 sisyphus+225277.100.2.1 1553001679 installed
<13>Jan  4 13:41:45 rpmi: libkeyutils-1.6.1-alt1 sisyphus+256015.100.1.1 1596820124 installed
<13>Jan  4 13:41:45 rpmi: libcom_err-1.45.6.0.24.af1a-alt1 sisyphus+262279.100.1.1 1606088229 installed
<13>Jan  4 13:41:45 rpmi: libbrotlicommon-1.0.9-alt2 sisyphus+257777.100.1.1 1599688017 installed
<13>Jan  4 13:41:45 rpmi: libbrotlidec-1.0.9-alt2 sisyphus+257777.100.1.1 1599688017 installed
<13>Jan  4 13:41:45 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Jan  4 13:41:45 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed
<13>Jan  4 13:41:45 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jan  4 13:41:45 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jan  4 13:41:45 rpmi: ca-certificates-2020.10.22-alt1 sisyphus+260224.300.2.1 1603549301 installed
<13>Jan  4 13:41:45 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed
<13>Jan  4 13:41:45 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Jan  4 13:41:45 rpmi: libcrypto1.1-1.1.1i-alt1 sisyphus+263103.100.1.1 1607445576 installed
<13>Jan  4 13:41:45 rpmi: libssl1.1-1.1.1i-alt1 sisyphus+263103.100.1.1 1607445576 installed
<13>Jan  4 13:41:45 rpmi: libpython3-3.8.6-alt1 sisyphus+259085.100.2.1 1601904174 installed
<13>Jan  4 13:41:45 rpmi: python3-3.8.6-alt1 sisyphus+259085.100.2.1 1601904174 installed
<13>Jan  4 13:41:46 rpmi: python3-base-3.8.6-alt1 sisyphus+259085.100.2.1 1601904174 installed
<86>Jan  4 13:41:46 groupadd[3196860]: group added to /etc/group: name=_keytab, GID=499
<86>Jan  4 13:41:46 groupadd[3196860]: group added to /etc/gshadow: name=_keytab
<86>Jan  4 13:41:46 groupadd[3196860]: new group: name=_keytab, GID=499
<13>Jan  4 13:41:46 rpmi: libkrb5-1.18.3-alt1 sisyphus+262109.100.1.1 1605777180 installed
<86>Jan  4 13:41:46 groupadd[3197044]: group added to /etc/group: name=sasl, GID=498
<86>Jan  4 13:41:46 groupadd[3197044]: group added to /etc/gshadow: name=sasl
<86>Jan  4 13:41:46 groupadd[3197044]: new group: name=sasl, GID=498
<13>Jan  4 13:41:46 rpmi: libsasl2-3-2.1.27-alt2.1 sisyphus+255909.100.2.1 1597199456 installed
<13>Jan  4 13:41:46 rpmi: libldap-2.4.56-alt1 sisyphus+264049.140.3.1 1609084359 installed
<13>Jan  4 13:41:46 rpmi: libcurl-7.74.0-alt1 sisyphus+264234.100.1.1 1609355642 installed
<13>Jan  4 13:41:46 rpmi: curl-7.74.0-alt1 sisyphus+264234.100.1.1 1609355642 installed
<13>Jan  4 13:41:46 rpmi: python3-module-pkg_resources-1:46.1.3-alt2 sisyphus+260458.600.6.1 1603876498 installed
<13>Jan  4 13:41:46 rpmi: gyp-0.1.h.e87d37d6-alt1 sisyphus+244411.10.3.1 1579209415 installed
<13>Jan  4 13:41:46 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed
<13>Jan  4 13:41:46 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed
<13>Jan  4 13:41:46 rpmi: libssl-devel-1.1.1i-alt1 sisyphus+263103.100.1.1 1607445576 installed
<13>Jan  4 13:41:46 rpmi: openssl-1.1.1i-alt1 sisyphus+263103.100.1.1 1607445576 installed
<13>Jan  4 13:41:46 rpmi: openssh-common-7.9p1-alt2 sisyphus+263609.100.1.1 1608251321 installed
<86>Jan  4 13:41:47 groupadd[3197630]: group added to /etc/group: name=sshagent, GID=497
<86>Jan  4 13:41:47 groupadd[3197630]: group added to /etc/gshadow: name=sshagent
<86>Jan  4 13:41:47 groupadd[3197630]: new group: name=sshagent, GID=497
<13>Jan  4 13:41:47 rpmi: openssh-clients-7.9p1-alt2 sisyphus+263609.100.1.1 1608251321 installed
<13>Jan  4 13:41:47 rpmi: git-core-2.29.2-alt2 sisyphus+262938.100.1.1 1607121200 installed
<13>Jan  4 13:41:47 rpmi: npm-6.14.8-alt1 sisyphus+257221.200.2.1 1599049856 installed
<13>Jan  4 13:41:48 rpmi: node-14.15.1-alt1 sisyphus+261881.20.3.1 1605635402 installed
<13>Jan  4 13:41:48 rpmi: node-devel-14.15.1-alt1 sisyphus+261881.20.3.1 1605635402 installed
<13>Jan  4 13:41:48 rpmi: node-gyp-5.0.7-alt1 sisyphus+246660.140.3.1 1582211319 installed
<13>Jan  4 13:41:48 rpmi: rpm-build-nodejs-0.20.7-alt1 sisyphus+261512.100.1.1 1605056365 installed
<13>Jan  4 13:41:49 rpmi: node-tap-14.10.7-alt1 sisyphus+252443.100.3.2 1590797687 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/node-semver-7.3.2-alt1.nosrc.rpm (w1.gzdio)
Installing node-semver-7.3.2-alt1.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.98087
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf node-semver-7.3.2
+ echo 'Source #0 (node-semver-7.3.2.tar):'
Source #0 (node-semver-7.3.2.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/node-semver-7.3.2.tar
+ cd node-semver-7.3.2
+ /bin/chmod -c -Rf u+rwX,go-w .
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.98087
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd node-semver-7.3.2
+ [[ -f binding.gyp ]]
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.76235
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/node-semver-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/node-semver-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd node-semver-7.3.2
+ set +x
cat: .npmignore: No such file or directory
Installing ./test/ranges/valid.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/to-comparators.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/subset.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/simplify.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/outside.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/min-version.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/min-satisfying.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/max-satisfying.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/ltr.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/intersects.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/ranges/gtr.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/ranges/
Installing ./test/preload.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/
Installing ./test/internal/re.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/internal/
Installing ./test/internal/identifiers.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/internal/
Installing ./test/internal/debug.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/internal/
Installing ./test/internal/constants.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/internal/
Installing ./test/index.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/
Installing ./test/functions/valid.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/sort.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/satisfies.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/rsort.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/rcompare.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/prerelease.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/patch.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/parse.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/neq.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/minor.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/major.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/lte.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/lt.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/inc.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/gte.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/gt.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/eq.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/diff.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/compare.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/compare-loose.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/compare-build.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/coerce.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/cmp.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/functions/clean.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/functions/
Installing ./test/fixtures/version-not-lt-range.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/version-not-gt-range.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/version-lt-range.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/version-gt-range.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/range-parse.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/range-intersection.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/range-include.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/range-exclude.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/invalid-versions.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/increments.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/equality.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/comparisons.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/fixtures/comparator-intersection.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/fixtures/
Installing ./test/classes/semver.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/classes/
Installing ./test/classes/range.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/classes/
Installing ./test/classes/index.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/classes/
Installing ./test/classes/comparator.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/classes/
Installing ./test/bin/semver.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./test/bin/
Installing ./tap-snapshots/test-cli.js-TAP.test.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./tap-snapshots/
Installing ./tap-snapshots/test-bin-semver.js-TAP.test.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./tap-snapshots/
Installing ./ranges/valid.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/to-comparators.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/subset.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/simplify.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/outside.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/min-version.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/min-satisfying.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/max-satisfying.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/ltr.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/intersects.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./ranges/gtr.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./ranges/
Installing ./range.bnf -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./preload.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./package.json -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./package-lock.json -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./map.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./internal/re.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./internal/
Installing ./internal/identifiers.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./internal/
Installing ./internal/debug.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./internal/
Installing ./internal/constants.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./internal/
Installing ./index.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./functions/valid.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/sort.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/satisfies.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/rsort.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/rcompare.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/prerelease.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/patch.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/parse.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/neq.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/minor.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/major.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/lte.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/lt.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/inc.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/gte.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/gt.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/eq.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/diff.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/compare.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/compare-loose.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/compare-build.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/coerce.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/cmp.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./functions/clean.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./functions/
Installing ./classes/semver.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./classes/
Installing ./classes/range.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./classes/
Installing ./classes/index.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./classes/
Installing ./classes/comparator.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./classes/
Installing ./bin/semver.js -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./bin/
Installing ./README.md -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./LICENSE -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./CONTRIBUTING.md -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
Installing ./CHANGELOG.md -> /usr/src/tmp/node-semver-buildroot/usr/lib/node_modules/semver/./
+ mkdir -p /usr/src/tmp/node-semver-buildroot/usr/bin/
+ ln -s /usr/lib/node_modules/semver/bin/semver.js /usr/src/tmp/node-semver-buildroot/usr/bin/semver
+ cd /usr/src/tmp/node-semver-buildroot//usr/lib/node_modules/semver/
+ '[' -s package.json ']'
+ npm prune --production
up to date in 0.777s
+ rm -rfv test tests doc docs examples
removed 'test/bin/semver.js'
removed directory 'test/bin'
removed 'test/classes/comparator.js'
removed 'test/classes/index.js'
removed 'test/classes/range.js'
removed 'test/classes/semver.js'
removed directory 'test/classes'
removed 'test/fixtures/comparator-intersection.js'
removed 'test/fixtures/comparisons.js'
removed 'test/fixtures/equality.js'
removed 'test/fixtures/increments.js'
removed 'test/fixtures/invalid-versions.js'
removed 'test/fixtures/range-exclude.js'
removed 'test/fixtures/range-include.js'
removed 'test/fixtures/range-intersection.js'
removed 'test/fixtures/range-parse.js'
removed 'test/fixtures/version-gt-range.js'
removed 'test/fixtures/version-lt-range.js'
removed 'test/fixtures/version-not-gt-range.js'
removed 'test/fixtures/version-not-lt-range.js'
removed directory 'test/fixtures'
removed 'test/functions/clean.js'
removed 'test/functions/cmp.js'
removed 'test/functions/coerce.js'
removed 'test/functions/compare-build.js'
removed 'test/functions/compare-loose.js'
removed 'test/functions/compare.js'
removed 'test/functions/diff.js'
removed 'test/functions/eq.js'
removed 'test/functions/gt.js'
removed 'test/functions/gte.js'
removed 'test/functions/inc.js'
removed 'test/functions/lt.js'
removed 'test/functions/lte.js'
removed 'test/functions/major.js'
removed 'test/functions/minor.js'
removed 'test/functions/neq.js'
removed 'test/functions/parse.js'
removed 'test/functions/patch.js'
removed 'test/functions/prerelease.js'
removed 'test/functions/rcompare.js'
removed 'test/functions/rsort.js'
removed 'test/functions/satisfies.js'
removed 'test/functions/sort.js'
removed 'test/functions/valid.js'
removed directory 'test/functions'
removed 'test/index.js'
removed 'test/internal/constants.js'
removed 'test/internal/debug.js'
removed 'test/internal/identifiers.js'
removed 'test/internal/re.js'
removed directory 'test/internal'
removed 'test/preload.js'
removed 'test/ranges/gtr.js'
removed 'test/ranges/intersects.js'
removed 'test/ranges/ltr.js'
removed 'test/ranges/max-satisfying.js'
removed 'test/ranges/min-satisfying.js'
removed 'test/ranges/min-version.js'
removed 'test/ranges/outside.js'
removed 'test/ranges/simplify.js'
removed 'test/ranges/subset.js'
removed 'test/ranges/to-comparators.js'
removed 'test/ranges/valid.js'
removed directory 'test/ranges'
removed directory 'test'
+ xargs rm -rfv
+ find -type d -name test
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/node-semver-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/node-semver-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/node-semver-buildroot/ (default)
Compressing files in /usr/src/tmp/node-semver-buildroot (auto)
Adjusting library links in /usr/src/tmp/node-semver-buildroot
./usr/lib: (from <cmdline>:0)
Verifying ELF objects in /usr/src/tmp/node-semver-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Hardlinking identical .pyc and .opt-?.pyc files
Hardlinking identical .pyc and .pyo files
Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.9973
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd node-semver-7.3.2
+ npm test

> semver@7.3.2 test /usr/src/RPM/BUILD/node-semver-7.3.2
> tap

TAP version 13
# Subtest: test/index.js
    ok 1 - just a normal value property
    1..1
    # time=11.621ms
ok 1 - test/index.js # time=11.621ms

# Subtest: test/preload.js
    ok 1 - preload and index match
    1..1
    # time=4.685ms
ok 2 - test/preload.js # time=4.685ms

# Subtest: test/bin/semver.js
    # Subtest: inc tests
        ok 1 - -i major 1.0.0
        ok 2 - -i major 1.0.0 1.0.1
        ok 3 - -i premajor 1.0.0 --preid=beta
        ok 4 - -i 1.2.3
        1..4
    ok 1 - inc tests # time=995.014ms
    
    # Subtest: help output
        ok 1 - -h
        ok 2 - -?
        ok 3 - --help
        ok 4 - (no args)
        1..4
    ok 2 - help output # time=433.096ms
    
    # Subtest: sorting and filtering
        ok 1 - 1.2.3 3.2.1 2.3.4
        ok 2 - 1.2.3 3.2.1 2.3.4 2.3.4-beta
        ok 3 - 1.2.3 -v 3.2.1 --version 2.3.4
        ok 4 - 1.2.3 -v 3.2.1 --version 2.3.4 -rv
        ok 5 - 1.2.3foo 1.2.3-bar
        ok 6 - 1.2.3foo 1.2.3-bar -l
        ok 7 - 1.2.3 3.2.1 -r 2.x 2.3.4
        ok 8 - 1.2.3 3.2.1 2.3.4 2.3.4-beta 2.0.0asdf -r 2.x
        ok 9 - 1.2.3 3.2.1 2.3.4 2.3.4-beta 2.0.0asdf -r 2.x -p
        ok 10 - 3.2.1 2.3.4 2.3.4-beta 2.0.0asdf -r 2.x -p -l
        ok 11 - 1.2.3 3.2.1 -r 2.x
        1..11
    ok 3 - sorting and filtering # time=1049.778ms
    
    # Subtest: coercing
        ok 1 - 1.2.3.4.5.6 -c
        ok 2 - 1.2.3.4.5.6 -c --rtl
        ok 3 - 1.2.3.4.5.6 -c --rtl --ltr
        ok 4 - not a version 1.2.3 -c
        ok 5 - not a version -c
        1..5
    ok 4 - coercing # time=552.076ms
    
    1..4
    # time=3036.041ms
ok 3 - test/bin/semver.js # time=3036.041ms

# Subtest: test/classes/comparator.js
    # Subtest: comparator testing
        ok 1 - expect truthy value
        ok 2 - expect truthy value
        ok 3 - expect truthy value
        ok 4 - expect falsey value
        1..4
    ok 1 - comparator testing # time=14.878ms
    
    # Subtest: tostrings
        ok 1 - should be equal
        1..1
    ok 2 - tostrings # time=1.324ms
    
    # Subtest: intersect comparators
        1..28
        # Subtest: 1.3.0 >=1.3.0 true
            ok 1 - 1.3.0 intersects >=1.3.0
            ok 2 - >=1.3.0 intersects 1.3.0
            1..2
        ok 1 - 1.3.0 >=1.3.0 true # time=9.164ms
        
        # Subtest: 1.3.0 >1.3.0 false
            ok 1 - 1.3.0 intersects >1.3.0
            ok 2 - >1.3.0 intersects 1.3.0
            1..2
        ok 2 - 1.3.0 >1.3.0 false # time=5.614ms
        
        # Subtest: >=1.3.0 1.3.0 true
            ok 1 - >=1.3.0 intersects 1.3.0
            ok 2 - 1.3.0 intersects >=1.3.0
            1..2
        ok 3 - >=1.3.0 1.3.0 true # time=1.353ms
        
        # Subtest: >1.3.0 1.3.0 false
            ok 1 - >1.3.0 intersects 1.3.0
            ok 2 - 1.3.0 intersects >1.3.0
            1..2
        ok 4 - >1.3.0 1.3.0 false # time=1.311ms
        
        # Subtest: >1.3.0 >1.2.0 true
            ok 1 - >1.3.0 intersects >1.2.0
            ok 2 - >1.2.0 intersects >1.3.0
            1..2
        ok 5 - >1.3.0 >1.2.0 true # time=1.307ms
        
        # Subtest: >1.2.0 >1.3.0 true
            ok 1 - >1.2.0 intersects >1.3.0
            ok 2 - >1.3.0 intersects >1.2.0
            1..2
        ok 6 - >1.2.0 >1.3.0 true # time=5.261ms
        
        # Subtest: >=1.2.0 >1.3.0 true
            ok 1 - >=1.2.0 intersects >1.3.0
            ok 2 - >1.3.0 intersects >=1.2.0
            1..2
        ok 7 - >=1.2.0 >1.3.0 true # time=1.145ms
        
        # Subtest: >1.2.0 >=1.3.0 true
            ok 1 - >1.2.0 intersects >=1.3.0
            ok 2 - >=1.3.0 intersects >1.2.0
            1..2
        ok 8 - >1.2.0 >=1.3.0 true # time=1.133ms
        
        # Subtest: <1.3.0 <1.2.0 true
            ok 1 - <1.3.0 intersects <1.2.0
            ok 2 - <1.2.0 intersects <1.3.0
            1..2
        ok 9 - <1.3.0 <1.2.0 true # time=1.165ms
        
        # Subtest: <1.2.0 <1.3.0 true
            ok 1 - <1.2.0 intersects <1.3.0
            ok 2 - <1.3.0 intersects <1.2.0
            1..2
        ok 10 - <1.2.0 <1.3.0 true # time=4.843ms
        
        # Subtest: <=1.2.0 <1.3.0 true
            ok 1 - <=1.2.0 intersects <1.3.0
            ok 2 - <1.3.0 intersects <=1.2.0
            1..2
        ok 11 - <=1.2.0 <1.3.0 true # time=1.093ms
        
        # Subtest: <1.2.0 <=1.3.0 true
            ok 1 - <1.2.0 intersects <=1.3.0
            ok 2 - <=1.3.0 intersects <1.2.0
            1..2
        ok 12 - <1.2.0 <=1.3.0 true # time=1.059ms
        
        # Subtest: >=1.3.0 <=1.3.0 true
            ok 1 - >=1.3.0 intersects <=1.3.0
            ok 2 - <=1.3.0 intersects >=1.3.0
            1..2
        ok 13 - >=1.3.0 <=1.3.0 true # time=1.096ms
        
        # Subtest: >=v1.3.0 <=1.3.0 true
            ok 1 - >=v1.3.0 intersects <=1.3.0
            ok 2 - <=1.3.0 intersects >=v1.3.0
            1..2
        ok 14 - >=v1.3.0 <=1.3.0 true # time=1.067ms
        
        # Subtest: >=1.3.0 >=1.3.0 true
            ok 1 - >=1.3.0 intersects >=1.3.0
            ok 2 - >=1.3.0 intersects >=1.3.0
            1..2
        ok 15 - >=1.3.0 >=1.3.0 true # time=1.754ms
        
        # Subtest: <=1.3.0 <=1.3.0 true
            ok 1 - <=1.3.0 intersects <=1.3.0
            ok 2 - <=1.3.0 intersects <=1.3.0
            1..2
        ok 16 - <=1.3.0 <=1.3.0 true # time=1.047ms
        
        # Subtest: <=1.3.0 <=v1.3.0 true
            ok 1 - <=1.3.0 intersects <=v1.3.0
            ok 2 - <=v1.3.0 intersects <=1.3.0
            1..2
        ok 17 - <=1.3.0 <=v1.3.0 true # time=1.562ms
        
        # Subtest: >1.3.0 <=1.3.0 false
            ok 1 - >1.3.0 intersects <=1.3.0
            ok 2 - <=1.3.0 intersects >1.3.0
            1..2
        ok 18 - >1.3.0 <=1.3.0 false # time=1.054ms
        
        # Subtest: >=1.3.0 <1.3.0 false
            ok 1 - >=1.3.0 intersects <1.3.0
            ok 2 - <1.3.0 intersects >=1.3.0
            1..2
        ok 19 - >=1.3.0 <1.3.0 false # time=3.555ms
        
        # Subtest: >1.0.0 <2.0.0 true
            ok 1 - >1.0.0 intersects <2.0.0
            ok 2 - <2.0.0 intersects >1.0.0
            1..2
        ok 20 - >1.0.0 <2.0.0 true # time=1.047ms
        
        # Subtest: >=1.0.0 <2.0.0 true
            ok 1 - >=1.0.0 intersects <2.0.0
            ok 2 - <2.0.0 intersects >=1.0.0
            1..2
        ok 21 - >=1.0.0 <2.0.0 true # time=1.514ms
        
        # Subtest: >=1.0.0 <=2.0.0 true
            ok 1 - >=1.0.0 intersects <=2.0.0
            ok 2 - <=2.0.0 intersects >=1.0.0
            1..2
        ok 22 - >=1.0.0 <=2.0.0 true # time=1.206ms
        
        # Subtest: >1.0.0 <=2.0.0 true
            ok 1 - >1.0.0 intersects <=2.0.0
            ok 2 - <=2.0.0 intersects >1.0.0
            1..2
        ok 23 - >1.0.0 <=2.0.0 true # time=1.054ms
        
        # Subtest: <=2.0.0 >1.0.0 true
            ok 1 - <=2.0.0 intersects >1.0.0
            ok 2 - >1.0.0 intersects <=2.0.0
            1..2
        ok 24 - <=2.0.0 >1.0.0 true # time=1.014ms
        
        # Subtest: <=1.0.0 >=2.0.0 false
            ok 1 - <=1.0.0 intersects >=2.0.0
            ok 2 - >=2.0.0 intersects <=1.0.0
            1..2
        ok 25 - <=1.0.0 >=2.0.0 false # time=1.704ms
        
        # Subtest:   true
            ok 1 - intersects
            ok 2 - intersects
            1..2
        ok 26 - true # time=0.975ms
        
        # Subtest:  >1.0.0 true
            ok 1 - intersects >1.0.0
            ok 2 - >1.0.0 intersects
            1..2
        ok 27 - >1.0.0 true # time=0.895ms
        
        # Subtest: <=2.0.0  true
            ok 1 - <=2.0.0 intersects
            ok 2 - intersects <=2.0.0
            1..2
        ok 28 - <=2.0.0  true # time=0.876ms
        
    ok 3 - intersect comparators # time=347.856ms
    
    # Subtest: intersect demands another comparator
        ok 1 - expected to throw: TypeError a Comparator is required
        1..1
    ok 4 - intersect demands another comparator # time=4.169ms
    
    # Subtest: ANY matches anything
        ok 1 - ANY matches anything
        ok 2 - anything matches ANY
        1..2
    ok 5 - ANY matches anything # time=0.732ms
    
    # Subtest: invalid comparator parse throws
        ok 1 - expected to throw: TypeError Invalid comparator: foo bar baz
        1..1
    ok 6 - invalid comparator parse throws # time=1.026ms
    
    # Subtest: = is ignored
        ok 1 - should match pattern provided
        1..1
    ok 7 - = is ignored # time=2.096ms
    
    1..7
    # time=423.874ms
ok 4 - test/classes/comparator.js # time=423.874ms

# Subtest: test/classes/index.js
    ok 1 - export all classes at semver/classes
    1..1
    # time=9.569ms
ok 5 - test/classes/index.js # time=9.569ms

# Subtest: test/classes/range.js
    # Subtest: range tests
        1..122
        ok 1 - 1.0.0 - 2.0.0 satisfied by 1.2.3
        ok 2 - ^1.2.3+build satisfied by 1.2.3
        ok 3 - ^1.2.3+build satisfied by 1.3.0
        ok 4 - 1.2.3-pre+asdf - 2.4.3-pre+asdf satisfied by 1.2.3
        ok 5 - 1.2.3pre+asdf - 2.4.3-pre+asdf satisfied by 1.2.3
        ok 6 - 1.2.3-pre+asdf - 2.4.3pre+asdf satisfied by 1.2.3
        ok 7 - 1.2.3pre+asdf - 2.4.3pre+asdf satisfied by 1.2.3
        ok 8 - 1.2.3-pre+asdf - 2.4.3-pre+asdf satisfied by 1.2.3-pre.2
        ok 9 - 1.2.3-pre+asdf - 2.4.3-pre+asdf satisfied by 2.4.3-alpha
        ok 10 - 1.2.3+asdf - 2.4.3+asdf satisfied by 1.2.3
        ok 11 - 1.0.0 satisfied by 1.0.0
        ok 12 - >=* satisfied by 0.2.4
        ok 13 - satisfied by 1.0.0
        ok 14 - * satisfied by 1.2.3
        ok 15 - * satisfied by v1.2.3
        ok 16 - >=1.0.0 satisfied by 1.0.0
        ok 17 - >=1.0.0 satisfied by 1.0.1
        ok 18 - >=1.0.0 satisfied by 1.1.0
        ok 19 - >1.0.0 satisfied by 1.0.1
        ok 20 - >1.0.0 satisfied by 1.1.0
        ok 21 - <=2.0.0 satisfied by 2.0.0
        ok 22 - <=2.0.0 satisfied by 1.9999.9999
        ok 23 - <=2.0.0 satisfied by 0.2.9
        ok 24 - <2.0.0 satisfied by 1.9999.9999
        ok 25 - <2.0.0 satisfied by 0.2.9
        ok 26 - >= 1.0.0 satisfied by 1.0.0
        ok 27 - >=  1.0.0 satisfied by 1.0.1
        ok 28 - >=   1.0.0 satisfied by 1.1.0
        ok 29 - > 1.0.0 satisfied by 1.0.1
        ok 30 - >  1.0.0 satisfied by 1.1.0
        ok 31 - <=   2.0.0 satisfied by 2.0.0
        ok 32 - <= 2.0.0 satisfied by 1.9999.9999
        ok 33 - <=  2.0.0 satisfied by 0.2.9
        ok 34 - <    2.0.0 satisfied by 1.9999.9999
        ok 35 - <  2.0.0 satisfied by 0.2.9
        ok 36 - >=0.1.97 satisfied by v0.1.97
        ok 37 - >=0.1.97 satisfied by 0.1.97
        ok 38 - 0.1.20 || 1.2.4 satisfied by 1.2.4
        ok 39 - >=0.2.3 || <0.0.1 satisfied by 0.0.0
        ok 40 - >=0.2.3 || <0.0.1 satisfied by 0.2.3
        ok 41 - >=0.2.3 || <0.0.1 satisfied by 0.2.4
        ok 42 - || satisfied by 1.3.4
        ok 43 - 2.x.x satisfied by 2.1.3
        ok 44 - 1.2.x satisfied by 1.2.3
        ok 45 - 1.2.x || 2.x satisfied by 2.1.3
        ok 46 - 1.2.x || 2.x satisfied by 1.2.3
        ok 47 - x satisfied by 1.2.3
        ok 48 - 2.*.* satisfied by 2.1.3
        ok 49 - 1.2.* satisfied by 1.2.3
        ok 50 - 1.2.* || 2.* satisfied by 2.1.3
        ok 51 - 1.2.* || 2.* satisfied by 1.2.3
        ok 52 - * satisfied by 1.2.3
        ok 53 - 2 satisfied by 2.1.2
        ok 54 - 2.3 satisfied by 2.3.1
        ok 55 - ~0.0.1 satisfied by 0.0.1
        ok 56 - ~0.0.1 satisfied by 0.0.2
        ok 57 - ~x satisfied by 0.0.9
        ok 58 - ~2 satisfied by 2.0.9
        ok 59 - ~2.4 satisfied by 2.4.0
        ok 60 - ~2.4 satisfied by 2.4.5
        ok 61 - ~>3.2.1 satisfied by 3.2.2
        ok 62 - ~1 satisfied by 1.2.3
        ok 63 - ~>1 satisfied by 1.2.3
        ok 64 - ~> 1 satisfied by 1.2.3
        ok 65 - ~1.0 satisfied by 1.0.2
        ok 66 - ~ 1.0 satisfied by 1.0.2
        ok 67 - ~ 1.0.3 satisfied by 1.0.12
        ok 68 - ~ 1.0.3alpha satisfied by 1.0.12
        ok 69 - >=1 satisfied by 1.0.0
        ok 70 - >= 1 satisfied by 1.0.0
        ok 71 - <1.2 satisfied by 1.1.1
        ok 72 - < 1.2 satisfied by 1.1.1
        ok 73 - ~v0.5.4-pre satisfied by 0.5.5
        ok 74 - ~v0.5.4-pre satisfied by 0.5.4
        ok 75 - =0.7.x satisfied by 0.7.2
        ok 76 - <=0.7.x satisfied by 0.7.2
        ok 77 - >=0.7.x satisfied by 0.7.2
        ok 78 - <=0.7.x satisfied by 0.6.2
        ok 79 - ~1.2.1 >=1.2.3 satisfied by 1.2.3
        ok 80 - ~1.2.1 =1.2.3 satisfied by 1.2.3
        ok 81 - ~1.2.1 1.2.3 satisfied by 1.2.3
        ok 82 - ~1.2.1 >=1.2.3 1.2.3 satisfied by 1.2.3
        ok 83 - ~1.2.1 1.2.3 >=1.2.3 satisfied by 1.2.3
        ok 84 - ~1.2.1 1.2.3 satisfied by 1.2.3
        ok 85 - >=1.2.1 1.2.3 satisfied by 1.2.3
        ok 86 - 1.2.3 >=1.2.1 satisfied by 1.2.3
        ok 87 - >=1.2.3 >=1.2.1 satisfied by 1.2.3
        ok 88 - >=1.2.1 >=1.2.3 satisfied by 1.2.3
        ok 89 - >=1.2 satisfied by 1.2.8
        ok 90 - ^1.2.3 satisfied by 1.8.1
        ok 91 - ^0.1.2 satisfied by 0.1.2
        ok 92 - ^0.1 satisfied by 0.1.2
        ok 93 - ^0.0.1 satisfied by 0.0.1
        ok 94 - ^1.2 satisfied by 1.4.2
        ok 95 - ^1.2 ^1 satisfied by 1.4.2
        ok 96 - ^1.2.3-alpha satisfied by 1.2.3-pre
        ok 97 - ^1.2.0-alpha satisfied by 1.2.0-pre
        ok 98 - ^0.0.1-alpha satisfied by 0.0.1-beta
        ok 99 - ^0.0.1-alpha satisfied by 0.0.1
        ok 100 - ^0.1.1-alpha satisfied by 0.1.1-beta
        ok 101 - ^x satisfied by 1.2.3
        ok 102 - x - 1.0.0 satisfied by 0.9.7
        ok 103 - x - 1.x satisfied by 0.9.7
        ok 104 - 1.0.0 - x satisfied by 1.9.7
        ok 105 - 1.x - x satisfied by 1.9.7
        ok 106 - <=7.x satisfied by 7.9.9
        ok 107 - 2.x satisfied by 2.0.0-pre.0
        ok 108 - 2.x satisfied by 2.1.0-pre.0
        ok 109 - 1.1.x satisfied by 1.1.0-a
        ok 110 - 1.1.x satisfied by 1.1.1-a
        ok 111 - * satisfied by 1.0.0-rc1
        ok 112 - ^1.0.0-0 satisfied by 1.0.1-rc1
        ok 113 - ^1.0.0-rc2 satisfied by 1.0.1-rc1
        ok 114 - ^1.0.0 satisfied by 1.0.1-rc1
        ok 115 - ^1.0.0 satisfied by 1.1.0-rc1
        ok 116 - 1 - 2 satisfied by 2.0.0-pre
        ok 117 - 1 - 2 satisfied by 1.0.0-pre
        ok 118 - 1.0 - 2 satisfied by 1.0.0-pre
        ok 119 - =0.7.x satisfied by 0.7.0-asdf
        ok 120 - >=0.7.x satisfied by 0.7.0-asdf
        ok 121 - <=0.7.x satisfied by 0.7.0-asdf
        ok 122 - >=1.0.0 <=1.1.0 satisfied by 1.1.0-pre
    ok 1 - range tests # time=67.81ms
    
    # Subtest: range parsing
        1..84
        # Subtest: 1.0.0 - 2.0.0 >=1.0.0 <=2.0.0
            ok 1 - 1.0.0 - 2.0.0 => >=1.0.0 <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 1 - 1.0.0 - 2.0.0 >=1.0.0 <=2.0.0 # time=1.7ms
        
        # Subtest: 1.0.0 - 2.0.0 >=1.0.0-0 <2.0.1-0
            ok 1 - 1.0.0 - 2.0.0 => >=1.0.0-0 <2.0.1-0
            ok 2 - parsing both yields same result
            1..2
        ok 2 - 1.0.0 - 2.0.0 >=1.0.0-0 <2.0.1-0 # time=1.417ms
        
        # Subtest: 1 - 2 >=1.0.0 <3.0.0-0
            ok 1 - 1 - 2 => >=1.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 3 - 1 - 2 >=1.0.0 <3.0.0-0 # time=2.229ms
        
        # Subtest: 1 - 2 >=1.0.0-0 <3.0.0-0
            ok 1 - 1 - 2 => >=1.0.0-0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 4 - 1 - 2 >=1.0.0-0 <3.0.0-0 # time=1.955ms
        
        # Subtest: 1.0 - 2.0 >=1.0.0 <2.1.0-0
            ok 1 - 1.0 - 2.0 => >=1.0.0 <2.1.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 5 - 1.0 - 2.0 >=1.0.0 <2.1.0-0 # time=1.816ms
        
        # Subtest: 1.0 - 2.0 >=1.0.0-0 <2.1.0-0
            ok 1 - 1.0 - 2.0 => >=1.0.0-0 <2.1.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 6 - 1.0 - 2.0 >=1.0.0-0 <2.1.0-0 # time=1.313ms
        
        # Subtest: 1.0.0 1.0.0
            ok 1 - 1.0.0 => 1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 7 - 1.0.0 1.0.0 # time=1.211ms
        
        # Subtest: >=* *
            ok 1 - >=* => *
            ok 2 - parsing both yields same result
            1..2
        ok 8 - >=* * # time=1.182ms
        
        # Subtest:  *
            ok 1 - => *
            ok 2 - parsing both yields same result
            1..2
        ok 9 - * # time=1.163ms
        
        # Subtest: * *
            ok 1 - * => *
            ok 2 - parsing both yields same result
            1..2
        ok 10 - * * # time=1.141ms
        
        # Subtest: * *
            ok 1 - * => *
            ok 2 - parsing both yields same result
            1..2
        ok 11 - * * # time=1.137ms
        
        # Subtest: >=1.0.0 >=1.0.0
            ok 1 - >=1.0.0 => >=1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 12 - >=1.0.0 >=1.0.0 # time=1.18ms
        
        # Subtest: >1.0.0 >1.0.0
            ok 1 - >1.0.0 => >1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 13 - >1.0.0 >1.0.0 # time=2.33ms
        
        # Subtest: <=2.0.0 <=2.0.0
            ok 1 - <=2.0.0 => <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 14 - <=2.0.0 <=2.0.0 # time=1.187ms
        
        # Subtest: 1 >=1.0.0 <2.0.0-0
            ok 1 - 1 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 15 - 1 >=1.0.0 <2.0.0-0 # time=1.242ms
        
        # Subtest: <=2.0.0 <=2.0.0
            ok 1 - <=2.0.0 => <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 16 - <=2.0.0 <=2.0.0 # time=1.181ms
        
        # Subtest: <=2.0.0 <=2.0.0
            ok 1 - <=2.0.0 => <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 17 - <=2.0.0 <=2.0.0 # time=1.186ms
        
        # Subtest: <2.0.0 <2.0.0
            ok 1 - <2.0.0 => <2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 18 - <2.0.0 <2.0.0 # time=1.185ms
        
        # Subtest: <2.0.0 <2.0.0
            ok 1 - <2.0.0 => <2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 19 - <2.0.0 <2.0.0 # time=1.392ms
        
        # Subtest: >= 1.0.0 >=1.0.0
            ok 1 - >= 1.0.0 => >=1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 20 - >= 1.0.0 >=1.0.0 # time=1.902ms
        
        # Subtest: >=  1.0.0 >=1.0.0
            ok 1 - >=  1.0.0 => >=1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 21 - >=  1.0.0 >=1.0.0 # time=1.087ms
        
        # Subtest: >=   1.0.0 >=1.0.0
            ok 1 - >=   1.0.0 => >=1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 22 - >=   1.0.0 >=1.0.0 # time=1.068ms
        
        # Subtest: > 1.0.0 >1.0.0
            ok 1 - > 1.0.0 => >1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 23 - > 1.0.0 >1.0.0 # time=1.043ms
        
        # Subtest: >  1.0.0 >1.0.0
            ok 1 - >  1.0.0 => >1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 24 - >  1.0.0 >1.0.0 # time=1.606ms
        
        # Subtest: <=   2.0.0 <=2.0.0
            ok 1 - <=   2.0.0 => <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 25 - <=   2.0.0 <=2.0.0 # time=1.169ms
        
        # Subtest: <= 2.0.0 <=2.0.0
            ok 1 - <= 2.0.0 => <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 26 - <= 2.0.0 <=2.0.0 # time=1.048ms
        
        # Subtest: <=  2.0.0 <=2.0.0
            ok 1 - <=  2.0.0 => <=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 27 - <=  2.0.0 <=2.0.0 # time=1.043ms
        
        # Subtest: <    2.0.0 <2.0.0
            ok 1 - <    2.0.0 => <2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 28 - <    2.0.0 <2.0.0 # time=1.039ms
        
        # Subtest: < 2.0.0 <2.0.0
            ok 1 - <  2.0.0 => <2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 29 - < 2.0.0 <2.0.0 # time=1.042ms
        
        # Subtest: >=0.1.97 >=0.1.97
            ok 1 - >=0.1.97 => >=0.1.97
            ok 2 - parsing both yields same result
            1..2
        ok 30 - >=0.1.97 >=0.1.97 # time=1.039ms
        
        # Subtest: >=0.1.97 >=0.1.97
            ok 1 - >=0.1.97 => >=0.1.97
            ok 2 - parsing both yields same result
            1..2
        ok 31 - >=0.1.97 >=0.1.97 # time=1.041ms
        
        # Subtest: 0.1.20 || 1.2.4 0.1.20||1.2.4
            ok 1 - 0.1.20 || 1.2.4 => 0.1.20||1.2.4
            ok 2 - parsing both yields same result
            1..2
        ok 32 - 0.1.20 || 1.2.4 0.1.20||1.2.4 # time=1.475ms
        
        # Subtest: >=0.2.3 || <0.0.1 >=0.2.3||<0.0.1
            ok 1 - >=0.2.3 || <0.0.1 => >=0.2.3||<0.0.1
            ok 2 - parsing both yields same result
            1..2
        ok 33 - >=0.2.3 || <0.0.1 >=0.2.3||<0.0.1 # time=1.184ms
        
        # Subtest: >=0.2.3 || <0.0.1 >=0.2.3||<0.0.1
            ok 1 - >=0.2.3 || <0.0.1 => >=0.2.3||<0.0.1
            ok 2 - parsing both yields same result
            1..2
        ok 34 - >=0.2.3 || <0.0.1 >=0.2.3||<0.0.1 # time=1.254ms
        
        # Subtest: >=0.2.3 || <0.0.1 >=0.2.3||<0.0.1
            ok 1 - >=0.2.3 || <0.0.1 => >=0.2.3||<0.0.1
            ok 2 - parsing both yields same result
            1..2
        ok 35 - >=0.2.3 || <0.0.1 >=0.2.3||<0.0.1 # time=1.143ms
        
        # Subtest: || ||
            ok 1 - || => ||
            ok 2 - parsing both yields same result
            1..2
        ok 36 - || || # time=1.026ms
        
        # Subtest: 2.x.x >=2.0.0 <3.0.0-0
            ok 1 - 2.x.x => >=2.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 37 - 2.x.x >=2.0.0 <3.0.0-0 # time=1.104ms
        
        # Subtest: 1.2.x >=1.2.0 <1.3.0-0
            ok 1 - 1.2.x => >=1.2.0 <1.3.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 38 - 1.2.x >=1.2.0 <1.3.0-0 # time=1.057ms
        
        # Subtest: 1.2.x || 2.x >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
            ok 1 - 1.2.x || 2.x => >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 39 - 1.2.x || 2.x >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0 # time=1.225ms
        
        # Subtest: 1.2.x || 2.x >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
            ok 1 - 1.2.x || 2.x => >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 40 - 1.2.x || 2.x >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0 # time=1.222ms
        
        # Subtest: x *
            ok 1 - x => *
            ok 2 - parsing both yields same result
            1..2
        ok 41 - x * # time=0.993ms
        
        # Subtest: 2.*.* >=2.0.0 <3.0.0-0
            ok 1 - 2.*.* => >=2.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 42 - 2.*.* >=2.0.0 <3.0.0-0 # time=1.06ms
        
        # Subtest: 1.2.* >=1.2.0 <1.3.0-0
            ok 1 - 1.2.* => >=1.2.0 <1.3.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 43 - 1.2.* >=1.2.0 <1.3.0-0 # time=1.057ms
        
        # Subtest: 1.2.* || 2.* >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
            ok 1 - 1.2.* || 2.* => >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 44 - 1.2.* || 2.* >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0 # time=1.248ms
        
        # Subtest: * *
            ok 1 - * => *
            ok 2 - parsing both yields same result
            1..2
        ok 45 - * * # time=0.98ms
        
        # Subtest: 2 >=2.0.0 <3.0.0-0
            ok 1 - 2 => >=2.0.0 <3.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 46 - 2 >=2.0.0 <3.0.0-0 # time=1.05ms
        
        # Subtest: 2.3 >=2.3.0 <2.4.0-0
            ok 1 - 2.3 => >=2.3.0 <2.4.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 47 - 2.3 >=2.3.0 <2.4.0-0 # time=1.673ms
        
        # Subtest: ~2.4 >=2.4.0 <2.5.0-0
            ok 1 - ~2.4 => >=2.4.0 <2.5.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 48 - ~2.4 >=2.4.0 <2.5.0-0 # time=1.136ms
        
        # Subtest: ~2.4 >=2.4.0 <2.5.0-0
            ok 1 - ~2.4 => >=2.4.0 <2.5.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 49 - ~2.4 >=2.4.0 <2.5.0-0 # time=1.162ms
        
        # Subtest: ~>3.2.1 >=3.2.1 <3.3.0-0
            ok 1 - ~>3.2.1 => >=3.2.1 <3.3.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 50 - ~>3.2.1 >=3.2.1 <3.3.0-0 # time=1.117ms
        
        # Subtest: ~1 >=1.0.0 <2.0.0-0
            ok 1 - ~1 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 51 - ~1 >=1.0.0 <2.0.0-0 # time=1.078ms
        
        # Subtest: ~>1 >=1.0.0 <2.0.0-0
            ok 1 - ~>1 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 52 - ~>1 >=1.0.0 <2.0.0-0 # time=1.089ms
        
        # Subtest: ~> 1 >=1.0.0 <2.0.0-0
            ok 1 - ~> 1 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 53 - ~> 1 >=1.0.0 <2.0.0-0 # time=1.07ms
        
        # Subtest: ~1.0 >=1.0.0 <1.1.0-0
            ok 1 - ~1.0 => >=1.0.0 <1.1.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 54 - ~1.0 >=1.0.0 <1.1.0-0 # time=1.071ms
        
        # Subtest: ~ 1.0 >=1.0.0 <1.1.0-0
            ok 1 - ~ 1.0 => >=1.0.0 <1.1.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 55 - ~ 1.0 >=1.0.0 <1.1.0-0 # time=1.08ms
        
        # Subtest: ^0 <1.0.0-0
            ok 1 - ^0 => <1.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 56 - ^0 <1.0.0-0 # time=1.041ms
        
        # Subtest: ^ 1 >=1.0.0 <2.0.0-0
            ok 1 - ^ 1 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 57 - ^ 1 >=1.0.0 <2.0.0-0 # time=1.107ms
        
        # Subtest: ^0.1 >=0.1.0 <0.2.0-0
            ok 1 - ^0.1 => >=0.1.0 <0.2.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 58 - ^0.1 >=0.1.0 <0.2.0-0 # time=1.087ms
        
        # Subtest: ^1.0 >=1.0.0 <2.0.0-0
            ok 1 - ^1.0 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 59 - ^1.0 >=1.0.0 <2.0.0-0 # time=1.09ms
        
        # Subtest: ^1.2 >=1.2.0 <2.0.0-0
            ok 1 - ^1.2 => >=1.2.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 60 - ^1.2 >=1.2.0 <2.0.0-0 # time=1.081ms
        
        # Subtest: ^0.0.1 >=0.0.1 <0.0.2-0
            ok 1 - ^0.0.1 => >=0.0.1 <0.0.2-0
            ok 2 - parsing both yields same result
            1..2
        ok 61 - ^0.0.1 >=0.0.1 <0.0.2-0 # time=1.121ms
        
        # Subtest: ^0.0.1-beta >=0.0.1-beta <0.0.2-0
            ok 1 - ^0.0.1-beta => >=0.0.1-beta <0.0.2-0
            ok 2 - parsing both yields same result
            1..2
        ok 62 - ^0.0.1-beta >=0.0.1-beta <0.0.2-0 # time=1.155ms
        
        # Subtest: ^0.1.2 >=0.1.2 <0.2.0-0
            ok 1 - ^0.1.2 => >=0.1.2 <0.2.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 63 - ^0.1.2 >=0.1.2 <0.2.0-0 # time=1.085ms
        
        # Subtest: ^1.2.3 >=1.2.3 <2.0.0-0
            ok 1 - ^1.2.3 => >=1.2.3 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 64 - ^1.2.3 >=1.2.3 <2.0.0-0 # time=1.079ms
        
        # Subtest: ^1.2.3-beta.4 >=1.2.3-beta.4 <2.0.0-0
            ok 1 - ^1.2.3-beta.4 => >=1.2.3-beta.4 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 65 - ^1.2.3-beta.4 >=1.2.3-beta.4 <2.0.0-0 # time=1.114ms
        
        # Subtest: <1 <1.0.0-0
            ok 1 - <1 => <1.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 66 - <1 <1.0.0-0 # time=0.99ms
        
        # Subtest: < 1 <1.0.0-0
            ok 1 - < 1 => <1.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 67 - < 1 <1.0.0-0 # time=1.058ms
        
        # Subtest: >=1 >=1.0.0
            ok 1 - >=1 => >=1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 68 - >=1 >=1.0.0 # time=0.998ms
        
        # Subtest: >= 1 >=1.0.0
            ok 1 - >= 1 => >=1.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 69 - >= 1 >=1.0.0 # time=1.405ms
        
        # Subtest: <1.2 <1.2.0-0
            ok 1 - <1.2 => <1.2.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 70 - <1.2 <1.2.0-0 # time=1ms
        
        # Subtest: < 1.2 <1.2.0-0
            ok 1 - < 1.2 => <1.2.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 71 - < 1.2 <1.2.0-0 # time=0.971ms
        
        # Subtest: 1 >=1.0.0 <2.0.0-0
            ok 1 - 1 => >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 72 - 1 >=1.0.0 <2.0.0-0 # time=1.015ms
        
        # Subtest: >01.02.03 >1.2.3
            ok 1 - >01.02.03 => >1.2.3
            ok 2 - parsing both yields same result
            1..2
        ok 73 - >01.02.03 >1.2.3 # time=7.129ms
        
        # Subtest: >01.02.03 null
            ok 1 - invalid range: >01.02.03
            1..1
        ok 74 - >01.02.03 null # time=8.026ms
        
        # Subtest: ~1.2.3beta >=1.2.3-beta <1.3.0-0
            ok 1 - ~1.2.3beta => >=1.2.3-beta <1.3.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 75 - ~1.2.3beta >=1.2.3-beta <1.3.0-0 # time=1.108ms
        
        # Subtest: ~1.2.3beta null
            ok 1 - invalid range: ~1.2.3beta
            1..1
        ok 76 - ~1.2.3beta null # time=1.038ms
        
        # Subtest: ^ 1.2 ^ 1 >=1.2.0 <2.0.0-0 >=1.0.0 <2.0.0-0
            ok 1 - ^ 1.2 ^ 1 => >=1.2.0 <2.0.0-0 >=1.0.0 <2.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 77 - ^ 1.2 ^ 1 >=1.2.0 <2.0.0-0 >=1.0.0 <2.0.0-0 # time=1.17ms
        
        # Subtest: 1.2 - 3.4.5 >=1.2.0 <=3.4.5
            ok 1 - 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
            ok 2 - parsing both yields same result
            1..2
        ok 78 - 1.2 - 3.4.5 >=1.2.0 <=3.4.5 # time=1.013ms
        
        # Subtest: 1.2.3 - 3.4 >=1.2.3 <3.5.0-0
            ok 1 - 1.2.3 - 3.4 => >=1.2.3 <3.5.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 79 - 1.2.3 - 3.4 >=1.2.3 <3.5.0-0 # time=1.028ms
        
        # Subtest: 1.2 - 3.4 >=1.2.0 <3.5.0-0
            ok 1 - 1.2 - 3.4 => >=1.2.0 <3.5.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 80 - 1.2 - 3.4 >=1.2.0 <3.5.0-0 # time=1.029ms
        
        # Subtest: >1 >=2.0.0
            ok 1 - >1 => >=2.0.0
            ok 2 - parsing both yields same result
            1..2
        ok 81 - >1 >=2.0.0 # time=0.943ms
        
        # Subtest: >1.2 >=1.3.0
            ok 1 - >1.2 => >=1.3.0
            ok 2 - parsing both yields same result
            1..2
        ok 82 - >1.2 >=1.3.0 # time=0.928ms
        
        # Subtest: >X <0.0.0-0
            ok 1 - >X => <0.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 83 - >X <0.0.0-0 # time=0.916ms
        
        # Subtest: <X <0.0.0-0
            ok 1 - <X => <0.0.0-0
            ok 2 - parsing both yields same result
            1..2
        ok 84 - <X <0.0.0-0 # time=0.914ms
        
    ok 2 - range parsing # time=621.298ms
    
    # Subtest: throw for empty comparator set, even in loose mode
        ok 1 - expected to throw: TypeError Invalid SemVer Range: sadf||asdf
        1..1
    ok 3 - throw for empty comparator set, even in loose mode # time=3.668ms
    
    # Subtest: convert comparator to range
        ok 1 - created range from comparator
        1..1
    ok 4 - convert comparator to range # time=0.566ms
    
    # Subtest: range as argument to range ctor
        ok 1 - loose option
        ok 2 - loose boolean
        ok 3 - created new range if not matched
        ok 4 - include prerelease, option match returns argument
        ok 5 - include prerelease, option mismatch does not return argument
        1..5
    ok 5 - range as argument to range ctor # time=1.393ms
    
    # Subtest: negative range tests
        1..96
        ok 1 - 1.0.0 - 2.0.0 not satisfied by 2.2.3
        ok 2 - 1.2.3+asdf - 2.4.3+asdf not satisfied by 1.2.3-pre.2
        ok 3 - 1.2.3+asdf - 2.4.3+asdf not satisfied by 2.4.3-alpha
        ok 4 - ^1.2.3+build not satisfied by 2.0.0
        ok 5 - ^1.2.3+build not satisfied by 1.2.0
        ok 6 - ^1.2.3 not satisfied by 1.2.3-pre
        ok 7 - ^1.2 not satisfied by 1.2.0-pre
        ok 8 - >1.2 not satisfied by 1.3.0-beta
        ok 9 - <=1.2.3 not satisfied by 1.2.3-beta
        ok 10 - ^1.2.3 not satisfied by 1.2.3-beta
        ok 11 - =0.7.x not satisfied by 0.7.0-asdf
        ok 12 - >=0.7.x not satisfied by 0.7.0-asdf
        ok 13 - <=0.7.x not satisfied by 0.7.0-asdf
        ok 14 - 1 not satisfied by 1.0.0beta
        ok 15 - <1 not satisfied by 1.0.0beta
        ok 16 - < 1 not satisfied by 1.0.0beta
        ok 17 - 1.0.0 not satisfied by 1.0.1
        ok 18 - >=1.0.0 not satisfied by 0.0.0
        ok 19 - >=1.0.0 not satisfied by 0.0.1
        ok 20 - >=1.0.0 not satisfied by 0.1.0
        ok 21 - >1.0.0 not satisfied by 0.0.1
        ok 22 - >1.0.0 not satisfied by 0.1.0
        ok 23 - <=2.0.0 not satisfied by 3.0.0
        ok 24 - <=2.0.0 not satisfied by 2.9999.9999
        ok 25 - <=2.0.0 not satisfied by 2.2.9
        ok 26 - <2.0.0 not satisfied by 2.9999.9999
        ok 27 - <2.0.0 not satisfied by 2.2.9
        ok 28 - >=0.1.97 not satisfied by v0.1.93
        ok 29 - >=0.1.97 not satisfied by 0.1.93
        ok 30 - 0.1.20 || 1.2.4 not satisfied by 1.2.3
        ok 31 - >=0.2.3 || <0.0.1 not satisfied by 0.0.3
        ok 32 - >=0.2.3 || <0.0.1 not satisfied by 0.2.2
        ok 33 - 2.x.x not satisfied by 1.1.3
        ok 34 - 2.x.x not satisfied by 3.1.3
        ok 35 - 1.2.x not satisfied by 1.3.3
        ok 36 - 1.2.x || 2.x not satisfied by 3.1.3
        ok 37 - 1.2.x || 2.x not satisfied by 1.1.3
        ok 38 - 2.*.* not satisfied by 1.1.3
        ok 39 - 2.*.* not satisfied by 3.1.3
        ok 40 - 1.2.* not satisfied by 1.3.3
        ok 41 - 1.2.* || 2.* not satisfied by 3.1.3
        ok 42 - 1.2.* || 2.* not satisfied by 1.1.3
        ok 43 - 2 not satisfied by 1.1.2
        ok 44 - 2.3 not satisfied by 2.4.1
        ok 45 - ~0.0.1 not satisfied by 0.1.0-alpha
        ok 46 - ~0.0.1 not satisfied by 0.1.0
        ok 47 - ~2.4 not satisfied by 2.5.0
        ok 48 - ~2.4 not satisfied by 2.3.9
        ok 49 - ~>3.2.1 not satisfied by 3.3.2
        ok 50 - ~>3.2.1 not satisfied by 3.2.0
        ok 51 - ~1 not satisfied by 0.2.3
        ok 52 - ~>1 not satisfied by 2.2.3
        ok 53 - ~1.0 not satisfied by 1.1.0
        ok 54 - <1 not satisfied by 1.0.0
        ok 55 - >=1.2 not satisfied by 1.1.1
        ok 56 - 1 not satisfied by 2.0.0beta
        ok 57 - ~v0.5.4-beta not satisfied by 0.5.4-alpha
        ok 58 - =0.7.x not satisfied by 0.8.2
        ok 59 - >=0.7.x not satisfied by 0.6.2
        ok 60 - <0.7.x not satisfied by 0.7.2
        ok 61 - <1.2.3 not satisfied by 1.2.3-beta
        ok 62 - =1.2.3 not satisfied by 1.2.3-beta
        ok 63 - >1.2 not satisfied by 1.2.8
        ok 64 - ^0.0.1 not satisfied by 0.0.2-alpha
        ok 65 - ^0.0.1 not satisfied by 0.0.2
        ok 66 - ^1.2.3 not satisfied by 2.0.0-alpha
        ok 67 - ^1.2.3 not satisfied by 1.2.2
        ok 68 - ^1.2 not satisfied by 1.1.9
        ok 69 - * not satisfied by v1.2.3-foo
        ok 70 - * not satisfied by not a version
        ok 71 - >=2 not satisfied by glorp
        ok 72 - >=2 not satisfied by false
        ok 73 - 2.x not satisfied by 3.0.0-pre.0
        ok 74 - ^1.0.0 not satisfied by 1.0.0-rc1
        ok 75 - ^1.0.0 not satisfied by 2.0.0-rc1
        ok 76 - ^1.2.3-rc2 not satisfied by 2.0.0
        ok 77 - ^1.0.0 not satisfied by 2.0.0-rc1
        ok 78 - ^1.0.0 not satisfied by 2.0.0-rc1
        ok 79 - 1 - 2 not satisfied by 3.0.0-pre
        ok 80 - 1 - 2 not satisfied by 2.0.0-pre
        ok 81 - 1 - 2 not satisfied by 1.0.0-pre
        ok 82 - 1.0 - 2 not satisfied by 1.0.0-pre
        ok 83 - 1.1.x not satisfied by 1.0.0-a
        ok 84 - 1.1.x not satisfied by 1.1.0-a
        ok 85 - 1.1.x not satisfied by 1.2.0-a
        ok 86 - 1.1.x not satisfied by 1.2.0-a
        ok 87 - 1.1.x not satisfied by 1.0.0-a
        ok 88 - 1.x not satisfied by 1.0.0-a
        ok 89 - 1.x not satisfied by 1.1.0-a
        ok 90 - 1.x not satisfied by 1.2.0-a
        ok 91 - 1.x not satisfied by 0.0.0-a
        ok 92 - 1.x not satisfied by 2.0.0-a
        ok 93 - >=1.0.0 <1.1.0 not satisfied by 1.1.0
        ok 94 - >=1.0.0 <1.1.0 not satisfied by 1.1.0
        ok 95 - >=1.0.0 <1.1.0 not satisfied by 1.1.0-pre
        ok 96 - >=1.0.0 <1.1.0-pre not satisfied by 1.1.0-pre
    ok 6 - negative range tests # time=33.304ms
    
    # Subtest: strict vs loose ranges
        ok 1 - expected to throw
        ok 2 - should be equal
        ok 3 - expected to throw
        ok 4 - should be equal
        1..4
    ok 7 - strict vs loose ranges # time=1.272ms
    
    # Subtest: tostrings
        ok 1 - should be equal
        1..1
    ok 8 - tostrings # time=0.544ms
    
    # Subtest: ranges intersect
        # Subtest: 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 objects
            1..2
        ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 # time=1.746ms
        
        # Subtest: <1.0.0 >2.0.0 <~> >0.0.0
            ok 1 - <1.0.0 >2.0.0 <~> >0.0.0 objects
            ok 2 - >0.0.0 <~> <1.0.0 >2.0.0 objects
            1..2
        ok 2 - <1.0.0 >2.0.0 <~> >0.0.0 # time=1.098ms
        
        # Subtest: >0.0.0 <~> <1.0.0 >2.0.0
            ok 1 - >0.0.0 <~> <1.0.0 >2.0.0 objects
            ok 2 - <1.0.0 >2.0.0 <~> >0.0.0 objects
            1..2
        ok 3 - >0.0.0 <~> <1.0.0 >2.0.0 # time=0.943ms
        
        # Subtest: <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0
            ok 1 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 objects
            ok 2 - >1.4.0 <1.6.0 <~> <1.0.0 >2.0.0 objects
            1..2
        ok 4 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 # time=1.012ms
        
        # Subtest: <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0
            ok 1 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 objects
            ok 2 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >2.0.0 objects
            1..2
        ok 5 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 # time=1.038ms
        
        # Subtest: >1.0.0 <=2.0.0 <~> 2.0.0
            ok 1 - >1.0.0 <=2.0.0 <~> 2.0.0 objects
            ok 2 - 2.0.0 <~> >1.0.0 <=2.0.0 objects
            1..2
        ok 6 - >1.0.0 <=2.0.0 <~> 2.0.0 # time=1.181ms
        
        # Subtest: <1.0.0 >=2.0.0 <~> 2.1.0
            ok 1 - <1.0.0 >=2.0.0 <~> 2.1.0 objects
            ok 2 - 2.1.0 <~> <1.0.0 >=2.0.0 objects
            1..2
        ok 7 - <1.0.0 >=2.0.0 <~> 2.1.0 # time=0.989ms
        
        # Subtest: <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0
            ok 1 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 objects
            ok 2 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >=2.0.0 objects
            1..2
        ok 8 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 # time=1.042ms
        
        # Subtest: 1.5.x <~> <1.5.0 || >=1.6.0
            ok 1 - 1.5.x <~> <1.5.0 || >=1.6.0 objects
            ok 2 - <1.5.0 || >=1.6.0 <~> 1.5.x objects
            1..2
        ok 9 - 1.5.x <~> <1.5.0 || >=1.6.0 # time=1.033ms
        
        # Subtest: <1.5.0 || >=1.6.0 <~> 1.5.x
            ok 1 - <1.5.0 || >=1.6.0 <~> 1.5.x objects
            ok 2 - 1.5.x <~> <1.5.0 || >=1.6.0 objects
            1..2
        ok 10 - <1.5.0 || >=1.6.0 <~> 1.5.x # time=1.049ms
        
        # Subtest: <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2
            ok 1 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 objects
            ok 2 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 objects
            1..2
        ok 11 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 # time=1.541ms
        
        # Subtest: <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2
            ok 1 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 objects
            ok 2 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 objects
            1..2
        ok 12 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 # time=1.236ms
        
        # Subtest: >=1.0.0 <~> <=1.0.0
            ok 1 - >=1.0.0 <~> <=1.0.0 objects
            ok 2 - <=1.0.0 <~> >=1.0.0 objects
            1..2
        ok 13 - >=1.0.0 <~> <=1.0.0 # time=0.889ms
        
        # Subtest: >1.0.0 <1.0.0 <~> <=0.0.0
            ok 1 - >1.0.0 <1.0.0 <~> <=0.0.0 objects
            ok 2 - <=0.0.0 <~> >1.0.0 <1.0.0 objects
            1..2
        ok 14 - >1.0.0 <1.0.0 <~> <=0.0.0 # time=0.917ms
        
        # Subtest: * <~> 0.0.1
            ok 1 - * <~> 0.0.1 objects
            ok 2 - 0.0.1 <~> * objects
            1..2
        ok 15 - * <~> 0.0.1 # time=0.918ms
        
        # Subtest: * <~> >=1.0.0
            ok 1 - * <~> >=1.0.0 objects
            ok 2 - >=1.0.0 <~> * objects
            1..2
        ok 16 - * <~> >=1.0.0 # time=0.869ms
        
        # Subtest: * <~> >1.0.0
            ok 1 - * <~> >1.0.0 objects
            ok 2 - >1.0.0 <~> * objects
            1..2
        ok 17 - * <~> >1.0.0 # time=0.87ms
        
        # Subtest: * <~> ~1.0.0
            ok 1 - * <~> ~1.0.0 objects
            ok 2 - ~1.0.0 <~> * objects
            1..2
        ok 18 - * <~> ~1.0.0 # time=0.924ms
        
        # Subtest: * <~> <1.6.0
            ok 1 - * <~> <1.6.0 objects
            ok 2 - <1.6.0 <~> * objects
            1..2
        ok 19 - * <~> <1.6.0 # time=0.867ms
        
        # Subtest: * <~> <=1.6.0
            ok 1 - * <~> <=1.6.0 objects
            ok 2 - <=1.6.0 <~> * objects
            1..2
        ok 20 - * <~> <=1.6.0 # time=0.869ms
        
        # Subtest: 1.* <~> 0.0.1
            ok 1 - 1.* <~> 0.0.1 objects
            ok 2 - 0.0.1 <~> 1.* objects
            1..2
        ok 21 - 1.* <~> 0.0.1 # time=1.022ms
        
        # Subtest: 1.* <~> 2.0.0
            ok 1 - 1.* <~> 2.0.0 objects
            ok 2 - 2.0.0 <~> 1.* objects
            1..2
        ok 22 - 1.* <~> 2.0.0 # time=3.396ms
        
        # Subtest: 1.* <~> 1.0.0
            ok 1 - 1.* <~> 1.0.0 objects
            ok 2 - 1.0.0 <~> 1.* objects
            1..2
        ok 23 - 1.* <~> 1.0.0 # time=1.129ms
        
        # Subtest: 1.* <~> <2.0.0
            ok 1 - 1.* <~> <2.0.0 objects
            ok 2 - <2.0.0 <~> 1.* objects
            1..2
        ok 24 - 1.* <~> <2.0.0 # time=0.941ms
        
        # Subtest: 1.* <~> >1.0.0
            ok 1 - 1.* <~> >1.0.0 objects
            ok 2 - >1.0.0 <~> 1.* objects
            1..2
        ok 25 - 1.* <~> >1.0.0 # time=0.921ms
        
        # Subtest: 1.* <~> <=1.0.0
            ok 1 - 1.* <~> <=1.0.0 objects
            ok 2 - <=1.0.0 <~> 1.* objects
            1..2
        ok 26 - 1.* <~> <=1.0.0 # time=0.927ms
        
        # Subtest: 1.* <~> ^1.0.0
            ok 1 - 1.* <~> ^1.0.0 objects
            ok 2 - ^1.0.0 <~> 1.* objects
            1..2
        ok 27 - 1.* <~> ^1.0.0 # time=0.996ms
        
        # Subtest: 1.0.* <~> 0.0.1
            ok 1 - 1.0.* <~> 0.0.1 objects
            ok 2 - 0.0.1 <~> 1.0.* objects
            1..2
        ok 28 - 1.0.* <~> 0.0.1 # time=1.025ms
        
        # Subtest: 1.0.* <~> <0.0.1
            ok 1 - 1.0.* <~> <0.0.1 objects
            ok 2 - <0.0.1 <~> 1.0.* objects
            1..2
        ok 29 - 1.0.* <~> <0.0.1 # time=0.902ms
        
        # Subtest: 1.0.* <~> >0.0.1
            ok 1 - 1.0.* <~> >0.0.1 objects
            ok 2 - >0.0.1 <~> 1.0.* objects
            1..2
        ok 30 - 1.0.* <~> >0.0.1 # time=0.959ms
        
        # Subtest: * <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - * <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> * objects
            1..2
        ok 31 - * <~> 1.3.0 || <1.0.0 >2.0.0 # time=0.946ms
        
        # Subtest: 1.3.0 || <1.0.0 >2.0.0 <~> *
            ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> * objects
            ok 2 - * <~> 1.3.0 || <1.0.0 >2.0.0 objects
            1..2
        ok 32 - 1.3.0 || <1.0.0 >2.0.0 <~> * # time=0.944ms
        
        # Subtest: 1.* <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.* objects
            1..2
        ok 33 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0 # time=1.163ms
        
        # Subtest: x <~> 0.0.1
            ok 1 - x <~> 0.0.1 objects
            ok 2 - 0.0.1 <~> x objects
            1..2
        ok 34 - x <~> 0.0.1 # time=0.886ms
        
        # Subtest: x <~> >=1.0.0
            ok 1 - x <~> >=1.0.0 objects
            ok 2 - >=1.0.0 <~> x objects
            1..2
        ok 35 - x <~> >=1.0.0 # time=0.846ms
        
        # Subtest: x <~> >1.0.0
            ok 1 - x <~> >1.0.0 objects
            ok 2 - >1.0.0 <~> x objects
            1..2
        ok 36 - x <~> >1.0.0 # time=0.846ms
        
        # Subtest: x <~> ~1.0.0
            ok 1 - x <~> ~1.0.0 objects
            ok 2 - ~1.0.0 <~> x objects
            1..2
        ok 37 - x <~> ~1.0.0 # time=4.28ms
        
        # Subtest: x <~> <1.6.0
            ok 1 - x <~> <1.6.0 objects
            ok 2 - <1.6.0 <~> x objects
            1..2
        ok 38 - x <~> <1.6.0 # time=0.842ms
        
        # Subtest: x <~> <=1.6.0
            ok 1 - x <~> <=1.6.0 objects
            ok 2 - <=1.6.0 <~> x objects
            1..2
        ok 39 - x <~> <=1.6.0 # time=0.845ms
        
        # Subtest: 1.x <~> 0.0.1
            ok 1 - 1.x <~> 0.0.1 objects
            ok 2 - 0.0.1 <~> 1.x objects
            1..2
        ok 40 - 1.x <~> 0.0.1 # time=0.999ms
        
        # Subtest: 1.x <~> 2.0.0
            ok 1 - 1.x <~> 2.0.0 objects
            ok 2 - 2.0.0 <~> 1.x objects
            1..2
        ok 41 - 1.x <~> 2.0.0 # time=1.128ms
        
        # Subtest: 1.x <~> 1.0.0
            ok 1 - 1.x <~> 1.0.0 objects
            ok 2 - 1.0.0 <~> 1.x objects
            1..2
        ok 42 - 1.x <~> 1.0.0 # time=1.108ms
        
        # Subtest: 1.x <~> <2.0.0
            ok 1 - 1.x <~> <2.0.0 objects
            ok 2 - <2.0.0 <~> 1.x objects
            1..2
        ok 43 - 1.x <~> <2.0.0 # time=0.995ms
        
        # Subtest: 1.x <~> >1.0.0
            ok 1 - 1.x <~> >1.0.0 objects
            ok 2 - >1.0.0 <~> 1.x objects
            1..2
        ok 44 - 1.x <~> >1.0.0 # time=0.905ms
        
        # Subtest: 1.x <~> <=1.0.0
            ok 1 - 1.x <~> <=1.0.0 objects
            ok 2 - <=1.0.0 <~> 1.x objects
            1..2
        ok 45 - 1.x <~> <=1.0.0 # time=0.905ms
        
        # Subtest: 1.x <~> ^1.0.0
            ok 1 - 1.x <~> ^1.0.0 objects
            ok 2 - ^1.0.0 <~> 1.x objects
            1..2
        ok 46 - 1.x <~> ^1.0.0 # time=0.969ms
        
        # Subtest: 1.0.x <~> 0.0.1
            ok 1 - 1.0.x <~> 0.0.1 objects
            ok 2 - 0.0.1 <~> 1.0.x objects
            1..2
        ok 47 - 1.0.x <~> 0.0.1 # time=0.992ms
        
        # Subtest: 1.0.x <~> <0.0.1
            ok 1 - 1.0.x <~> <0.0.1 objects
            ok 2 - <0.0.1 <~> 1.0.x objects
            1..2
        ok 48 - 1.0.x <~> <0.0.1 # time=1.58ms
        
        # Subtest: 1.0.x <~> >0.0.1
            ok 1 - 1.0.x <~> >0.0.1 objects
            ok 2 - >0.0.1 <~> 1.0.x objects
            1..2
        ok 49 - 1.0.x <~> >0.0.1 # time=0.897ms
        
        # Subtest: x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - x <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> x objects
            1..2
        ok 50 - x <~> 1.3.0 || <1.0.0 >2.0.0 # time=0.95ms
        
        # Subtest: 1.3.0 || <1.0.0 >2.0.0 <~> x
            ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> x objects
            ok 2 - x <~> 1.3.0 || <1.0.0 >2.0.0 objects
            1..2
        ok 51 - 1.3.0 || <1.0.0 >2.0.0 <~> x # time=0.934ms
        
        # Subtest: 1.x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.x objects
            1..2
        ok 52 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0 # time=1.138ms
        
        # Subtest: * <~> *
            ok 1 - * <~> * objects
            ok 2 - * <~> * objects
            1..2
        ok 53 - * <~> * # time=0.821ms
        
        # Subtest: x <~> 
            ok 1 - x <~>  objects
            ok 2 - <~> x objects
            1..2
        ok 54 - x <~> # time=0.813ms
        
        1..54
    ok 9 - ranges intersect # time=312.345ms
    
    # Subtest: missing range parameter in range intersect
        ok 1 - throws type error: TypeError a Range is required
        1..1
    ok 10 - missing range parameter in range intersect # time=0.974ms
    
    1..10
    # time=1086.952ms
ok 6 - test/classes/range.js # time=1086.952ms

# Subtest: test/classes/semver.js
    # Subtest: comparisons
        1..31
        # Subtest: 0.0.0 0.0.0-foo
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 1 - 0.0.0 0.0.0-foo # time=6.052ms
        
        # Subtest: 0.0.1 0.0.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 2 - 0.0.1 0.0.0 # time=2.358ms
        
        # Subtest: 1.0.0 0.9.9
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 3 - 1.0.0 0.9.9 # time=2.171ms
        
        # Subtest: 0.10.0 0.9.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 4 - 0.10.0 0.9.0 # time=2.038ms
        
        # Subtest: 0.99.0 0.10.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 5 - 0.99.0 0.10.0 # time=2.016ms
        
        # Subtest: 2.0.0 1.2.3
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 6 - 2.0.0 1.2.3 # time=1.947ms
        
        # Subtest: v0.0.0 0.0.0-foo
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 7 - v0.0.0 0.0.0-foo # time=2.302ms
        
        # Subtest: v0.0.1 0.0.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 8 - v0.0.1 0.0.0 # time=1.958ms
        
        # Subtest: v1.0.0 0.9.9
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 9 - v1.0.0 0.9.9 # time=1.936ms
        
        # Subtest: v0.10.0 0.9.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 10 - v0.10.0 0.9.0 # time=1.941ms
        
        # Subtest: v0.99.0 0.10.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 11 - v0.99.0 0.10.0 # time=3.787ms
        
        # Subtest: v2.0.0 1.2.3
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 12 - v2.0.0 1.2.3 # time=1.977ms
        
        # Subtest: 0.0.0 v0.0.0-foo
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 13 - 0.0.0 v0.0.0-foo # time=1.987ms
        
        # Subtest: 0.0.1 v0.0.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 14 - 0.0.1 v0.0.0 # time=2.034ms
        
        # Subtest: 1.0.0 v0.9.9
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 15 - 1.0.0 v0.9.9 # time=1.65ms
        
        # Subtest: 0.10.0 v0.9.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 16 - 0.10.0 v0.9.0 # time=1.665ms
        
        # Subtest: 0.99.0 v0.10.0
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 17 - 0.99.0 v0.10.0 # time=1.716ms
        
        # Subtest: 2.0.0 v1.2.3
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 18 - 2.0.0 v1.2.3 # time=1.657ms
        
        # Subtest: 1.2.3 1.2.3-asdf
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 19 - 1.2.3 1.2.3-asdf # time=1.687ms
        
        # Subtest: 1.2.3 1.2.3-4
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 20 - 1.2.3 1.2.3-4 # time=1.675ms
        
        # Subtest: 1.2.3 1.2.3-4-foo
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 21 - 1.2.3 1.2.3-4-foo # time=1.656ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 22 - 1.2.3-5-foo 1.2.3-5 # time=1.822ms
        
        # Subtest: 1.2.3-5 1.2.3-4
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 23 - 1.2.3-5 1.2.3-4 # time=1.705ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo # time=1.726ms
        
        # Subtest: 3.0.0 2.7.2+asdf
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 25 - 3.0.0 2.7.2+asdf # time=1.652ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 26 - 1.2.3-a.10 1.2.3-a.5 # time=1.702ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 27 - 1.2.3-a.b 1.2.3-a.5 # time=1.671ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 28 - 1.2.3-a.b 1.2.3-a # time=1.7ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 # time=1.739ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 30 - 1.2.3-r2 1.2.3-r100 # time=1.779ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            1..6
        ok 31 - 1.2.3-r100 1.2.3-R2 # time=1.664ms
        
    ok 1 - comparisons # time=254.577ms
    
    # Subtest: equality
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 1 - 1.2.3 v1.2.3 true # time=1.908ms
        
        # Subtest: 1.2.3 =1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 2 - 1.2.3 =1.2.3 true # time=1.785ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 3 - 1.2.3 v 1.2.3 true # time=1.726ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 4 - 1.2.3 = 1.2.3 true # time=1.708ms
        
        # Subtest: 1.2.3  v1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 5 - 1.2.3  v1.2.3 true # time=1.729ms
        
        # Subtest: 1.2.3  =1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 6 - 1.2.3  =1.2.3 true # time=1.717ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 7 - 1.2.3  v 1.2.3 true # time=1.706ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 8 - 1.2.3  = 1.2.3 true # time=1.715ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=1.751ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=1.755ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=1.722ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=1.731ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=1.738ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=2.182ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=1.705ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=1.691ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=1.68ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=1.662ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.681ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=1.684ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=1.689ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=1.694ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=1.677ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=1.695ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=1.684ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=1.705ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.677ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=1.685ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=1.713ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=3.83ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=1.753ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=1.582ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=1.608ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=1.584ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=1.601ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=1.58ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            ok 5 - should be equal
            ok 6 - should be equal
            ok 7 - comparePre just to hit that code path
            1..7
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=1.575ms
        
    ok 2 - equality # time=256.158ms
    
    # Subtest: toString equals parsed version
        ok 1 - should be equal
        1..1
    ok 3 - toString equals parsed version # time=0.532ms
    
    # Subtest: throws when presented with garbage
        1..10
        ok 1 - too long
        ok 2 - too big
        ok 3 - too big
        ok 4 - too big
        ok 5 - not a version
        ok 6 - expected to throw
        ok 7 - even loose as an opt, same
        ok 8 - regexp is not a string
        ok 9 - semver-ish regexp is not a string
        ok 10 - obj with a tostring is not a string
    ok 4 - throws when presented with garbage # time=2.507ms
    
    # Subtest: return SemVer arg to ctor if options match
        ok 1 - get same object when options match
        ok 2 - get new object when options match
        1..2
    ok 5 - return SemVer arg to ctor if options match # time=0.726ms
    
    # Subtest: really big numeric prerelease value
        ok 1 - should be equivalent strictly
        1..1
    ok 6 - really big numeric prerelease value # time=3.632ms
    
    # Subtest: invalid version numbers
        ok 1 - expected to throw
        ok 2 - expected to throw
        ok 3 - expected to throw
        ok 4 - expected to throw
        ok 5 - expected to throw
        1..5
    ok 7 - invalid version numbers # time=3.44ms
    
    # Subtest: incrementing
        1..80
        # Subtest: 1.2.3 major
            1..1
            ok 1 - should be equal
        ok 1 - 1.2.3 major # time=1.002ms
        
        # Subtest: 1.2.3 minor
            1..1
            ok 1 - should be equal
        ok 2 - 1.2.3 minor # time=0.625ms
        
        # Subtest: 1.2.3 patch
            1..1
            ok 1 - should be equal
        ok 3 - 1.2.3 patch # time=0.641ms
        
        # Subtest: 1.2.3tag major
            1..1
            ok 1 - should be equal
        ok 4 - 1.2.3tag major # time=0.624ms
        
        # Subtest: 1.2.3-tag major
            1..1
            ok 1 - should be equal
        ok 5 - 1.2.3-tag major # time=0.586ms
        
        # Subtest: 1.2.3 fake
            1..1
            ok 1 - expected to throw
        ok 6 - 1.2.3 fake # time=0.721ms
        
        # Subtest: 1.2.0-0 patch
            1..1
            ok 1 - should be equal
        ok 7 - 1.2.0-0 patch # time=0.639ms
        
        # Subtest: fake major
            1..1
            ok 1 - expected to throw
        ok 8 - fake major # time=0.607ms
        
        # Subtest: 1.2.3-4 major
            1..1
            ok 1 - should be equal
        ok 9 - 1.2.3-4 major # time=0.587ms
        
        # Subtest: 1.2.3-4 minor
            1..1
            ok 1 - should be equal
        ok 10 - 1.2.3-4 minor # time=0.631ms
        
        # Subtest: 1.2.3-4 patch
            1..1
            ok 1 - should be equal
        ok 11 - 1.2.3-4 patch # time=0.625ms
        
        # Subtest: 1.2.3-alpha.0.beta major
            1..1
            ok 1 - should be equal
        ok 12 - 1.2.3-alpha.0.beta major # time=0.632ms
        
        # Subtest: 1.2.3-alpha.0.beta minor
            1..1
            ok 1 - should be equal
        ok 13 - 1.2.3-alpha.0.beta minor # time=0.579ms
        
        # Subtest: 1.2.3-alpha.0.beta patch
            1..1
            ok 1 - should be equal
        ok 14 - 1.2.3-alpha.0.beta patch # time=0.547ms
        
        # Subtest: 1.2.4 prerelease
            1..1
            ok 1 - should be equal
        ok 15 - 1.2.4 prerelease # time=0.575ms
        
        # Subtest: 1.2.3-0 prerelease
            1..1
            ok 1 - should be equal
        ok 16 - 1.2.3-0 prerelease # time=0.565ms
        
        # Subtest: 1.2.3-alpha.0 prerelease
            1..1
            ok 1 - should be equal
        ok 17 - 1.2.3-alpha.0 prerelease # time=0.578ms
        
        # Subtest: 1.2.3-alpha.1 prerelease
            1..1
            ok 1 - should be equal
        ok 18 - 1.2.3-alpha.1 prerelease # time=0.565ms
        
        # Subtest: 1.2.3-alpha.2 prerelease
            1..1
            ok 1 - should be equal
        ok 19 - 1.2.3-alpha.2 prerelease # time=0.569ms
        
        # Subtest: 1.2.3-alpha.0.beta prerelease
            1..1
            ok 1 - should be equal
        ok 20 - 1.2.3-alpha.0.beta prerelease # time=0.55ms
        
        # Subtest: 1.2.3-alpha.1.beta prerelease
            1..1
            ok 1 - should be equal
        ok 21 - 1.2.3-alpha.1.beta prerelease # time=0.54ms
        
        # Subtest: 1.2.3-alpha.2.beta prerelease
            1..1
            ok 1 - should be equal
        ok 22 - 1.2.3-alpha.2.beta prerelease # time=0.541ms
        
        # Subtest: 1.2.3-alpha.10.0.beta prerelease
            1..1
            ok 1 - should be equal
        ok 23 - 1.2.3-alpha.10.0.beta prerelease # time=0.543ms
        
        # Subtest: 1.2.3-alpha.10.1.beta prerelease
            1..1
            ok 1 - should be equal
        ok 24 - 1.2.3-alpha.10.1.beta prerelease # time=0.542ms
        
        # Subtest: 1.2.3-alpha.10.2.beta prerelease
            1..1
            ok 1 - should be equal
        ok 25 - 1.2.3-alpha.10.2.beta prerelease # time=2.249ms
        
        # Subtest: 1.2.3-alpha.10.beta.0 prerelease
            1..1
            ok 1 - should be equal
        ok 26 - 1.2.3-alpha.10.beta.0 prerelease # time=0.555ms
        
        # Subtest: 1.2.3-alpha.10.beta.1 prerelease
            1..1
            ok 1 - should be equal
        ok 27 - 1.2.3-alpha.10.beta.1 prerelease # time=0.55ms
        
        # Subtest: 1.2.3-alpha.10.beta.2 prerelease
            1..1
            ok 1 - should be equal
        ok 28 - 1.2.3-alpha.10.beta.2 prerelease # time=0.541ms
        
        # Subtest: 1.2.3-alpha.9.beta prerelease
            1..1
            ok 1 - should be equal
        ok 29 - 1.2.3-alpha.9.beta prerelease # time=0.543ms
        
        # Subtest: 1.2.3-alpha.10.beta prerelease
            1..1
            ok 1 - should be equal
        ok 30 - 1.2.3-alpha.10.beta prerelease # time=0.541ms
        
        # Subtest: 1.2.3-alpha.11.beta prerelease
            1..1
            ok 1 - should be equal
        ok 31 - 1.2.3-alpha.11.beta prerelease # time=0.559ms
        
        # Subtest: 1.2.0 prepatch
            1..1
            ok 1 - should be equal
        ok 32 - 1.2.0 prepatch # time=0.572ms
        
        # Subtest: 1.2.0-1 prepatch
            1..1
            ok 1 - should be equal
        ok 33 - 1.2.0-1 prepatch # time=0.54ms
        
        # Subtest: 1.2.0 preminor
            1..1
            ok 1 - should be equal
        ok 34 - 1.2.0 preminor # time=0.571ms
        
        # Subtest: 1.2.3-1 preminor
            1..1
            ok 1 - should be equal
        ok 35 - 1.2.3-1 preminor # time=0.548ms
        
        # Subtest: 1.2.0 premajor
            1..1
            ok 1 - should be equal
        ok 36 - 1.2.0 premajor # time=0.569ms
        
        # Subtest: 1.2.3-1 premajor
            1..1
            ok 1 - should be equal
        ok 37 - 1.2.3-1 premajor # time=0.54ms
        
        # Subtest: 1.2.0-1 minor
            1..1
            ok 1 - should be equal
        ok 38 - 1.2.0-1 minor # time=0.548ms
        
        # Subtest: 1.0.0-1 major
            1..1
            ok 1 - should be equal
        ok 39 - 1.0.0-1 major # time=0.543ms
        
        # Subtest: 1.2.3 major dev
            1..1
            ok 1 - should be equal
        ok 40 - 1.2.3 major dev # time=0.525ms
        
        # Subtest: 1.2.3 minor dev
            1..1
            ok 1 - should be equal
        ok 41 - 1.2.3 minor dev # time=0.528ms
        
        # Subtest: 1.2.3 patch dev
            1..1
            ok 1 - should be equal
        ok 42 - 1.2.3 patch dev # time=0.524ms
        
        # Subtest: 1.2.3tag major dev
            1..1
            ok 1 - should be equal
        ok 43 - 1.2.3tag major dev # time=0.542ms
        
        # Subtest: 1.2.3-tag major dev
            1..1
            ok 1 - should be equal
        ok 44 - 1.2.3-tag major dev # time=0.578ms
        
        # Subtest: 1.2.3 fake dev
            1..1
            ok 1 - expected to throw
        ok 45 - 1.2.3 fake dev # time=0.583ms
        
        # Subtest: 1.2.0-0 patch dev
            1..1
            ok 1 - should be equal
        ok 46 - 1.2.0-0 patch dev # time=0.538ms
        
        # Subtest: fake major dev
            1..1
            ok 1 - expected to throw
        ok 47 - fake major dev # time=0.569ms
        
        # Subtest: 1.2.3-4 major dev
            1..1
            ok 1 - should be equal
        ok 48 - 1.2.3-4 major dev # time=0.546ms
        
        # Subtest: 1.2.3-4 minor dev
            1..1
            ok 1 - should be equal
        ok 49 - 1.2.3-4 minor dev # time=0.545ms
        
        # Subtest: 1.2.3-4 patch dev
            1..1
            ok 1 - should be equal
        ok 50 - 1.2.3-4 patch dev # time=0.541ms
        
        # Subtest: 1.2.3-alpha.0.beta major dev
            1..1
            ok 1 - should be equal
        ok 51 - 1.2.3-alpha.0.beta major dev # time=0.553ms
        
        # Subtest: 1.2.3-alpha.0.beta minor dev
            1..1
            ok 1 - should be equal
        ok 52 - 1.2.3-alpha.0.beta minor dev # time=0.547ms
        
        # Subtest: 1.2.3-alpha.0.beta patch dev
            1..1
            ok 1 - should be equal
        ok 53 - 1.2.3-alpha.0.beta patch dev # time=0.547ms
        
        # Subtest: 1.2.4 prerelease dev
            1..1
            ok 1 - should be equal
        ok 54 - 1.2.4 prerelease dev # time=0.61ms
        
        # Subtest: 1.2.3-0 prerelease dev
            1..1
            ok 1 - should be equal
        ok 55 - 1.2.3-0 prerelease dev # time=0.57ms
        
        # Subtest: 1.2.3-alpha.0 prerelease dev
            1..1
            ok 1 - should be equal
        ok 56 - 1.2.3-alpha.0 prerelease dev # time=0.554ms
        
        # Subtest: 1.2.3-alpha.0 prerelease alpha
            1..1
            ok 1 - should be equal
        ok 57 - 1.2.3-alpha.0 prerelease alpha # time=0.56ms
        
        # Subtest: 1.2.3-alpha.0.beta prerelease dev
            1..1
            ok 1 - should be equal
        ok 58 - 1.2.3-alpha.0.beta prerelease dev # time=0.566ms
        
        # Subtest: 1.2.3-alpha.0.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 59 - 1.2.3-alpha.0.beta prerelease alpha # time=0.554ms
        
        # Subtest: 1.2.3-alpha.10.0.beta prerelease dev
            1..1
            ok 1 - should be equal
        ok 60 - 1.2.3-alpha.10.0.beta prerelease dev # time=0.556ms
        
        # Subtest: 1.2.3-alpha.10.0.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 61 - 1.2.3-alpha.10.0.beta prerelease alpha # time=0.556ms
        
        # Subtest: 1.2.3-alpha.10.1.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 62 - 1.2.3-alpha.10.1.beta prerelease alpha # time=0.563ms
        
        # Subtest: 1.2.3-alpha.10.2.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 63 - 1.2.3-alpha.10.2.beta prerelease alpha # time=0.599ms
        
        # Subtest: 1.2.3-alpha.10.beta.0 prerelease dev
            1..1
            ok 1 - should be equal
        ok 64 - 1.2.3-alpha.10.beta.0 prerelease dev # time=0.545ms
        
        # Subtest: 1.2.3-alpha.10.beta.0 prerelease alpha
            1..1
            ok 1 - should be equal
        ok 65 - 1.2.3-alpha.10.beta.0 prerelease alpha # time=0.545ms
        
        # Subtest: 1.2.3-alpha.10.beta.1 prerelease alpha
            1..1
            ok 1 - should be equal
        ok 66 - 1.2.3-alpha.10.beta.1 prerelease alpha # time=0.546ms
        
        # Subtest: 1.2.3-alpha.10.beta.2 prerelease alpha
            1..1
            ok 1 - should be equal
        ok 67 - 1.2.3-alpha.10.beta.2 prerelease alpha # time=0.542ms
        
        # Subtest: 1.2.3-alpha.9.beta prerelease dev
            1..1
            ok 1 - should be equal
        ok 68 - 1.2.3-alpha.9.beta prerelease dev # time=0.544ms
        
        # Subtest: 1.2.3-alpha.9.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 69 - 1.2.3-alpha.9.beta prerelease alpha # time=0.552ms
        
        # Subtest: 1.2.3-alpha.10.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 70 - 1.2.3-alpha.10.beta prerelease alpha # time=0.548ms
        
        # Subtest: 1.2.3-alpha.11.beta prerelease alpha
            1..1
            ok 1 - should be equal
        ok 71 - 1.2.3-alpha.11.beta prerelease alpha # time=0.555ms
        
        # Subtest: 1.2.0 prepatch dev
            1..1
            ok 1 - should be equal
        ok 72 - 1.2.0 prepatch dev # time=0.556ms
        
        # Subtest: 1.2.0-1 prepatch dev
            1..1
            ok 1 - should be equal
        ok 73 - 1.2.0-1 prepatch dev # time=0.563ms
        
        # Subtest: 1.2.0 preminor dev
            1..1
            ok 1 - should be equal
        ok 74 - 1.2.0 preminor dev # time=0.57ms
        
        # Subtest: 1.2.3-1 preminor dev
            1..1
            ok 1 - should be equal
        ok 75 - 1.2.3-1 preminor dev # time=0.606ms
        
        # Subtest: 1.2.0 premajor dev
            1..1
            ok 1 - should be equal
        ok 76 - 1.2.0 premajor dev # time=0.567ms
        
        # Subtest: 1.2.3-1 premajor dev
            1..1
            ok 1 - should be equal
        ok 77 - 1.2.3-1 premajor dev # time=0.577ms
        
        # Subtest: 1.2.0-1 minor dev
            1..1
            ok 1 - should be equal
        ok 78 - 1.2.0-1 minor dev # time=0.568ms
        
        # Subtest: 1.0.0-1 major
            1..1
            ok 1 - should be equal
        ok 79 - 1.0.0-1 major # time=0.545ms
        
        # Subtest: 1.2.3-dev.bar prerelease dev
            1..1
            ok 1 - should be equal
        ok 80 - 1.2.3-dev.bar prerelease dev # time=0.609ms
        
    ok 8 - incrementing # time=417.516ms
    
    # Subtest: compare main vs pre
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        ok 5 - should be equal
        ok 6 - should be equal
        ok 7 - should be equal
        ok 8 - should be equal
        ok 9 - should be equal
        1..9
    ok 9 - compare main vs pre # time=1.64ms
    
    # Subtest: invalid version numbers
        ok 1 - expected to throw
        ok 2 - expected to throw
        ok 3 - expected to throw
        ok 4 - expected to throw
        ok 5 - expected to throw
        1..5
    ok 10 - invalid version numbers # time=2.344ms
    
    # Subtest: compareBuild
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        ok 5 - should be equal
        ok 6 - should be equal
        ok 7 - should be equal
        1..7
    ok 11 - compareBuild # time=1.512ms
    
    1..11
    # time=993.179ms
ok 7 - test/classes/semver.js # time=993.179ms

# Subtest: test/functions/clean.js
    # Subtest: clean tests
        ok 1 - clean(1.2.3) = 1.2.3
        ok 2 - clean( 1.2.3 ) = 1.2.3
        ok 3 - clean( 1.2.3-4 ) = 1.2.3-4
        ok 4 - clean( 1.2.3-pre ) = 1.2.3-pre
        ok 5 - clean(  =v1.2.3   ) = 1.2.3
        ok 6 - clean(v1.2.3) = 1.2.3
        ok 7 - clean( v1.2.3 ) = 1.2.3
        ok 8 - clean(  1.2.3) = 1.2.3
        ok 9 - clean(>1.2.3) = null
        ok 10 - clean(~1.2.3) = null
        ok 11 - clean(<=1.2.3) = null
        ok 12 - clean(1.2.x) = null
        1..12
    ok 1 - clean tests # time=7.442ms
    
    1..1
    # time=12.366ms
ok 8 - test/functions/clean.js # time=12.366ms

# Subtest: test/functions/cmp.js
    # Subtest: invalid cmp usage
        ok 1 - expected to throw: TypeError Invalid operator: a frog
        1..1
    ok 1 - invalid cmp usage # time=7.04ms
    
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..8
            ok 1 - cmp('0.0.0' > '0.0.0-foo')
            ok 2 - cmp('0.0.0-foo' < '0.0.0')
            ok 3 - !cmp('0.0.0-foo' > '0.0.0')
            ok 4 - !cmp('0.0.0' < '0.0.0-foo')
            ok 5 - cmp('0.0.0-foo' == '0.0.0-foo')
            ok 6 - cmp('0.0.0' >= '0.0.0-foo')
            ok 7 - cmp('0.0.0-foo' <= '0.0.0')
            ok 8 - cmp('0.0.0' != '0.0.0-foo')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.197ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..8
            ok 1 - cmp('0.0.1' > '0.0.0')
            ok 2 - cmp('0.0.0' < '0.0.1')
            ok 3 - !cmp('0.0.0' > '0.0.1')
            ok 4 - !cmp('0.0.1' < '0.0.0')
            ok 5 - cmp('0.0.0' == '0.0.0')
            ok 6 - cmp('0.0.1' >= '0.0.0')
            ok 7 - cmp('0.0.0' <= '0.0.1')
            ok 8 - cmp('0.0.1' != '0.0.0')
        ok 2 - 0.0.1 0.0.0 undefined # time=2.67ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..8
            ok 1 - cmp('1.0.0' > '0.9.9')
            ok 2 - cmp('0.9.9' < '1.0.0')
            ok 3 - !cmp('0.9.9' > '1.0.0')
            ok 4 - !cmp('1.0.0' < '0.9.9')
            ok 5 - cmp('0.9.9' == '0.9.9')
            ok 6 - cmp('1.0.0' >= '0.9.9')
            ok 7 - cmp('0.9.9' <= '1.0.0')
            ok 8 - cmp('1.0.0' != '0.9.9')
        ok 3 - 1.0.0 0.9.9 undefined # time=2.531ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..8
            ok 1 - cmp('0.10.0' > '0.9.0')
            ok 2 - cmp('0.9.0' < '0.10.0')
            ok 3 - !cmp('0.9.0' > '0.10.0')
            ok 4 - !cmp('0.10.0' < '0.9.0')
            ok 5 - cmp('0.9.0' == '0.9.0')
            ok 6 - cmp('0.10.0' >= '0.9.0')
            ok 7 - cmp('0.9.0' <= '0.10.0')
            ok 8 - cmp('0.10.0' != '0.9.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=2.446ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..8
            ok 1 - cmp('0.99.0' > '0.10.0')
            ok 2 - cmp('0.10.0' < '0.99.0')
            ok 3 - !cmp('0.10.0' > '0.99.0')
            ok 4 - !cmp('0.99.0' < '0.10.0')
            ok 5 - cmp('0.10.0' == '0.10.0')
            ok 6 - cmp('0.99.0' >= '0.10.0')
            ok 7 - cmp('0.10.0' <= '0.99.0')
            ok 8 - cmp('0.99.0' != '0.10.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=2.439ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..8
            ok 1 - cmp('2.0.0' > '1.2.3')
            ok 2 - cmp('1.2.3' < '2.0.0')
            ok 3 - !cmp('1.2.3' > '2.0.0')
            ok 4 - !cmp('2.0.0' < '1.2.3')
            ok 5 - cmp('1.2.3' == '1.2.3')
            ok 6 - cmp('2.0.0' >= '1.2.3')
            ok 7 - cmp('1.2.3' <= '2.0.0')
            ok 8 - cmp('2.0.0' != '1.2.3')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=2.554ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..8
            ok 1 - cmp('v0.0.0' > '0.0.0-foo')
            ok 2 - cmp('0.0.0-foo' < 'v0.0.0')
            ok 3 - !cmp('0.0.0-foo' > 'v0.0.0')
            ok 4 - !cmp('v0.0.0' < '0.0.0-foo')
            ok 5 - cmp('0.0.0-foo' == '0.0.0-foo')
            ok 6 - cmp('v0.0.0' >= '0.0.0-foo')
            ok 7 - cmp('0.0.0-foo' <= 'v0.0.0')
            ok 8 - cmp('v0.0.0' != '0.0.0-foo')
        ok 7 - v0.0.0 0.0.0-foo true # time=2.693ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..8
            ok 1 - cmp('v0.0.1' > '0.0.0')
            ok 2 - cmp('0.0.0' < 'v0.0.1')
            ok 3 - !cmp('0.0.0' > 'v0.0.1')
            ok 4 - !cmp('v0.0.1' < '0.0.0')
            ok 5 - cmp('0.0.0' == '0.0.0')
            ok 6 - cmp('v0.0.1' >= '0.0.0')
            ok 7 - cmp('0.0.0' <= 'v0.0.1')
            ok 8 - cmp('v0.0.1' != '0.0.0')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=2.369ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..8
            ok 1 - cmp('v1.0.0' > '0.9.9')
            ok 2 - cmp('0.9.9' < 'v1.0.0')
            ok 3 - !cmp('0.9.9' > 'v1.0.0')
            ok 4 - !cmp('v1.0.0' < '0.9.9')
            ok 5 - cmp('0.9.9' == '0.9.9')
            ok 6 - cmp('v1.0.0' >= '0.9.9')
            ok 7 - cmp('0.9.9' <= 'v1.0.0')
            ok 8 - cmp('v1.0.0' != '0.9.9')
        ok 9 - v1.0.0 0.9.9 true # time=2.39ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..8
            ok 1 - cmp('v0.10.0' > '0.9.0')
            ok 2 - cmp('0.9.0' < 'v0.10.0')
            ok 3 - !cmp('0.9.0' > 'v0.10.0')
            ok 4 - !cmp('v0.10.0' < '0.9.0')
            ok 5 - cmp('0.9.0' == '0.9.0')
            ok 6 - cmp('v0.10.0' >= '0.9.0')
            ok 7 - cmp('0.9.0' <= 'v0.10.0')
            ok 8 - cmp('v0.10.0' != '0.9.0')
        ok 10 - v0.10.0 0.9.0 true # time=2.385ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..8
            ok 1 - cmp('v0.99.0' > '0.10.0')
            ok 2 - cmp('0.10.0' < 'v0.99.0')
            ok 3 - !cmp('0.10.0' > 'v0.99.0')
            ok 4 - !cmp('v0.99.0' < '0.10.0')
            ok 5 - cmp('0.10.0' == '0.10.0')
            ok 6 - cmp('v0.99.0' >= '0.10.0')
            ok 7 - cmp('0.10.0' <= 'v0.99.0')
            ok 8 - cmp('v0.99.0' != '0.10.0')
        ok 11 - v0.99.0 0.10.0 true # time=2.659ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..8
            ok 1 - cmp('v2.0.0' > '1.2.3')
            ok 2 - cmp('1.2.3' < 'v2.0.0')
            ok 3 - !cmp('1.2.3' > 'v2.0.0')
            ok 4 - !cmp('v2.0.0' < '1.2.3')
            ok 5 - cmp('1.2.3' == '1.2.3')
            ok 6 - cmp('v2.0.0' >= '1.2.3')
            ok 7 - cmp('1.2.3' <= 'v2.0.0')
            ok 8 - cmp('v2.0.0' != '1.2.3')
        ok 12 - v2.0.0 1.2.3 true # time=2.339ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..8
            ok 1 - cmp('0.0.0' > 'v0.0.0-foo')
            ok 2 - cmp('v0.0.0-foo' < '0.0.0')
            ok 3 - !cmp('v0.0.0-foo' > '0.0.0')
            ok 4 - !cmp('0.0.0' < 'v0.0.0-foo')
            ok 5 - cmp('v0.0.0-foo' == 'v0.0.0-foo')
            ok 6 - cmp('0.0.0' >= 'v0.0.0-foo')
            ok 7 - cmp('v0.0.0-foo' <= '0.0.0')
            ok 8 - cmp('0.0.0' != 'v0.0.0-foo')
        ok 13 - 0.0.0 v0.0.0-foo true # time=2.392ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..8
            ok 1 - cmp('0.0.1' > 'v0.0.0')
            ok 2 - cmp('v0.0.0' < '0.0.1')
            ok 3 - !cmp('v0.0.0' > '0.0.1')
            ok 4 - !cmp('0.0.1' < 'v0.0.0')
            ok 5 - cmp('v0.0.0' == 'v0.0.0')
            ok 6 - cmp('0.0.1' >= 'v0.0.0')
            ok 7 - cmp('v0.0.0' <= '0.0.1')
            ok 8 - cmp('0.0.1' != 'v0.0.0')
        ok 14 - 0.0.1 v0.0.0 true # time=2.341ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..8
            ok 1 - cmp('1.0.0' > 'v0.9.9')
            ok 2 - cmp('v0.9.9' < '1.0.0')
            ok 3 - !cmp('v0.9.9' > '1.0.0')
            ok 4 - !cmp('1.0.0' < 'v0.9.9')
            ok 5 - cmp('v0.9.9' == 'v0.9.9')
            ok 6 - cmp('1.0.0' >= 'v0.9.9')
            ok 7 - cmp('v0.9.9' <= '1.0.0')
            ok 8 - cmp('1.0.0' != 'v0.9.9')
        ok 15 - 1.0.0 v0.9.9 true # time=4.217ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..8
            ok 1 - cmp('0.10.0' > 'v0.9.0')
            ok 2 - cmp('v0.9.0' < '0.10.0')
            ok 3 - !cmp('v0.9.0' > '0.10.0')
            ok 4 - !cmp('0.10.0' < 'v0.9.0')
            ok 5 - cmp('v0.9.0' == 'v0.9.0')
            ok 6 - cmp('0.10.0' >= 'v0.9.0')
            ok 7 - cmp('v0.9.0' <= '0.10.0')
            ok 8 - cmp('0.10.0' != 'v0.9.0')
        ok 16 - 0.10.0 v0.9.0 true # time=2.376ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..8
            ok 1 - cmp('0.99.0' > 'v0.10.0')
            ok 2 - cmp('v0.10.0' < '0.99.0')
            ok 3 - !cmp('v0.10.0' > '0.99.0')
            ok 4 - !cmp('0.99.0' < 'v0.10.0')
            ok 5 - cmp('v0.10.0' == 'v0.10.0')
            ok 6 - cmp('0.99.0' >= 'v0.10.0')
            ok 7 - cmp('v0.10.0' <= '0.99.0')
            ok 8 - cmp('0.99.0' != 'v0.10.0')
        ok 17 - 0.99.0 v0.10.0 true # time=2.033ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..8
            ok 1 - cmp('2.0.0' > 'v1.2.3')
            ok 2 - cmp('v1.2.3' < '2.0.0')
            ok 3 - !cmp('v1.2.3' > '2.0.0')
            ok 4 - !cmp('2.0.0' < 'v1.2.3')
            ok 5 - cmp('v1.2.3' == 'v1.2.3')
            ok 6 - cmp('2.0.0' >= 'v1.2.3')
            ok 7 - cmp('v1.2.3' <= '2.0.0')
            ok 8 - cmp('2.0.0' != 'v1.2.3')
        ok 18 - 2.0.0 v1.2.3 true # time=2.013ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..8
            ok 1 - cmp('1.2.3' > '1.2.3-asdf')
            ok 2 - cmp('1.2.3-asdf' < '1.2.3')
            ok 3 - !cmp('1.2.3-asdf' > '1.2.3')
            ok 4 - !cmp('1.2.3' < '1.2.3-asdf')
            ok 5 - cmp('1.2.3-asdf' == '1.2.3-asdf')
            ok 6 - cmp('1.2.3' >= '1.2.3-asdf')
            ok 7 - cmp('1.2.3-asdf' <= '1.2.3')
            ok 8 - cmp('1.2.3' != '1.2.3-asdf')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=2.111ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..8
            ok 1 - cmp('1.2.3' > '1.2.3-4')
            ok 2 - cmp('1.2.3-4' < '1.2.3')
            ok 3 - !cmp('1.2.3-4' > '1.2.3')
            ok 4 - !cmp('1.2.3' < '1.2.3-4')
            ok 5 - cmp('1.2.3-4' == '1.2.3-4')
            ok 6 - cmp('1.2.3' >= '1.2.3-4')
            ok 7 - cmp('1.2.3-4' <= '1.2.3')
            ok 8 - cmp('1.2.3' != '1.2.3-4')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=5.854ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..8
            ok 1 - cmp('1.2.3' > '1.2.3-4-foo')
            ok 2 - cmp('1.2.3-4-foo' < '1.2.3')
            ok 3 - !cmp('1.2.3-4-foo' > '1.2.3')
            ok 4 - !cmp('1.2.3' < '1.2.3-4-foo')
            ok 5 - cmp('1.2.3-4-foo' == '1.2.3-4-foo')
            ok 6 - cmp('1.2.3' >= '1.2.3-4-foo')
            ok 7 - cmp('1.2.3-4-foo' <= '1.2.3')
            ok 8 - cmp('1.2.3' != '1.2.3-4-foo')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=2.147ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..8
            ok 1 - cmp('1.2.3-5-foo' > '1.2.3-5')
            ok 2 - cmp('1.2.3-5' < '1.2.3-5-foo')
            ok 3 - !cmp('1.2.3-5' > '1.2.3-5-foo')
            ok 4 - !cmp('1.2.3-5-foo' < '1.2.3-5')
            ok 5 - cmp('1.2.3-5' == '1.2.3-5')
            ok 6 - cmp('1.2.3-5-foo' >= '1.2.3-5')
            ok 7 - cmp('1.2.3-5' <= '1.2.3-5-foo')
            ok 8 - cmp('1.2.3-5-foo' != '1.2.3-5')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=2.244ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..8
            ok 1 - cmp('1.2.3-5' > '1.2.3-4')
            ok 2 - cmp('1.2.3-4' < '1.2.3-5')
            ok 3 - !cmp('1.2.3-4' > '1.2.3-5')
            ok 4 - !cmp('1.2.3-5' < '1.2.3-4')
            ok 5 - cmp('1.2.3-4' == '1.2.3-4')
            ok 6 - cmp('1.2.3-5' >= '1.2.3-4')
            ok 7 - cmp('1.2.3-4' <= '1.2.3-5')
            ok 8 - cmp('1.2.3-5' != '1.2.3-4')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=2.131ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..8
            ok 1 - cmp('1.2.3-5-foo' > '1.2.3-5-Foo')
            ok 2 - cmp('1.2.3-5-Foo' < '1.2.3-5-foo')
            ok 3 - !cmp('1.2.3-5-Foo' > '1.2.3-5-foo')
            ok 4 - !cmp('1.2.3-5-foo' < '1.2.3-5-Foo')
            ok 5 - cmp('1.2.3-5-Foo' == '1.2.3-5-Foo')
            ok 6 - cmp('1.2.3-5-foo' >= '1.2.3-5-Foo')
            ok 7 - cmp('1.2.3-5-Foo' <= '1.2.3-5-foo')
            ok 8 - cmp('1.2.3-5-foo' != '1.2.3-5-Foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=2.22ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..8
            ok 1 - cmp('3.0.0' > '2.7.2+asdf')
            ok 2 - cmp('2.7.2+asdf' < '3.0.0')
            ok 3 - !cmp('2.7.2+asdf' > '3.0.0')
            ok 4 - !cmp('3.0.0' < '2.7.2+asdf')
            ok 5 - cmp('2.7.2+asdf' == '2.7.2+asdf')
            ok 6 - cmp('3.0.0' >= '2.7.2+asdf')
            ok 7 - cmp('2.7.2+asdf' <= '3.0.0')
            ok 8 - cmp('3.0.0' != '2.7.2+asdf')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=2.069ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..8
            ok 1 - cmp('1.2.3-a.10' > '1.2.3-a.5')
            ok 2 - cmp('1.2.3-a.5' < '1.2.3-a.10')
            ok 3 - !cmp('1.2.3-a.5' > '1.2.3-a.10')
            ok 4 - !cmp('1.2.3-a.10' < '1.2.3-a.5')
            ok 5 - cmp('1.2.3-a.5' == '1.2.3-a.5')
            ok 6 - cmp('1.2.3-a.10' >= '1.2.3-a.5')
            ok 7 - cmp('1.2.3-a.5' <= '1.2.3-a.10')
            ok 8 - cmp('1.2.3-a.10' != '1.2.3-a.5')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=2.158ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..8
            ok 1 - cmp('1.2.3-a.b' > '1.2.3-a.5')
            ok 2 - cmp('1.2.3-a.5' < '1.2.3-a.b')
            ok 3 - !cmp('1.2.3-a.5' > '1.2.3-a.b')
            ok 4 - !cmp('1.2.3-a.b' < '1.2.3-a.5')
            ok 5 - cmp('1.2.3-a.5' == '1.2.3-a.5')
            ok 6 - cmp('1.2.3-a.b' >= '1.2.3-a.5')
            ok 7 - cmp('1.2.3-a.5' <= '1.2.3-a.b')
            ok 8 - cmp('1.2.3-a.b' != '1.2.3-a.5')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=2.754ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..8
            ok 1 - cmp('1.2.3-a.b' > '1.2.3-a')
            ok 2 - cmp('1.2.3-a' < '1.2.3-a.b')
            ok 3 - !cmp('1.2.3-a' > '1.2.3-a.b')
            ok 4 - !cmp('1.2.3-a.b' < '1.2.3-a')
            ok 5 - cmp('1.2.3-a' == '1.2.3-a')
            ok 6 - cmp('1.2.3-a.b' >= '1.2.3-a')
            ok 7 - cmp('1.2.3-a' <= '1.2.3-a.b')
            ok 8 - cmp('1.2.3-a.b' != '1.2.3-a')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=2.058ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..8
            ok 1 - cmp('1.2.3-a.b.c.10.d.5' > '1.2.3-a.b.c.5.d.100')
            ok 2 - cmp('1.2.3-a.b.c.5.d.100' < '1.2.3-a.b.c.10.d.5')
            ok 3 - !cmp('1.2.3-a.b.c.5.d.100' > '1.2.3-a.b.c.10.d.5')
            ok 4 - !cmp('1.2.3-a.b.c.10.d.5' < '1.2.3-a.b.c.5.d.100')
            ok 5 - cmp('1.2.3-a.b.c.5.d.100' == '1.2.3-a.b.c.5.d.100')
            ok 6 - cmp('1.2.3-a.b.c.10.d.5' >= '1.2.3-a.b.c.5.d.100')
            ok 7 - cmp('1.2.3-a.b.c.5.d.100' <= '1.2.3-a.b.c.10.d.5')
            ok 8 - cmp('1.2.3-a.b.c.10.d.5' != '1.2.3-a.b.c.5.d.100')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=2.195ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..8
            ok 1 - cmp('1.2.3-r2' > '1.2.3-r100')
            ok 2 - cmp('1.2.3-r100' < '1.2.3-r2')
            ok 3 - !cmp('1.2.3-r100' > '1.2.3-r2')
            ok 4 - !cmp('1.2.3-r2' < '1.2.3-r100')
            ok 5 - cmp('1.2.3-r100' == '1.2.3-r100')
            ok 6 - cmp('1.2.3-r2' >= '1.2.3-r100')
            ok 7 - cmp('1.2.3-r100' <= '1.2.3-r2')
            ok 8 - cmp('1.2.3-r2' != '1.2.3-r100')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=2.022ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..8
            ok 1 - cmp('1.2.3-r100' > '1.2.3-R2')
            ok 2 - cmp('1.2.3-R2' < '1.2.3-r100')
            ok 3 - !cmp('1.2.3-R2' > '1.2.3-r100')
            ok 4 - !cmp('1.2.3-r100' < '1.2.3-R2')
            ok 5 - cmp('1.2.3-R2' == '1.2.3-R2')
            ok 6 - cmp('1.2.3-r100' >= '1.2.3-R2')
            ok 7 - cmp('1.2.3-R2' <= '1.2.3-r100')
            ok 8 - cmp('1.2.3-r100' != '1.2.3-R2')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=2.049ms
        
    ok 2 - comparison tests # time=262.846ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 "" v1.2.3)
            ok 2 - cmp(1.2.3=v1.2.3)
            ok 3 - cmp(1.2.3==v1.2.3)
            ok 4 - !cmp(1.2.3!=v1.2.3)
            ok 5 - !cmp(1.2.3===v1.2.3)
            ok 6 - !cmp(1.2.3===v1.2.3) object
            ok 7 - cmp(1.2.3!==v1.2.3)
            ok 8 - cmp(1.2.3!==v1.2.3) object
        ok 1 - 1.2.3 v1.2.3 true # time=2.131ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 "" =1.2.3)
            ok 2 - cmp(1.2.3==1.2.3)
            ok 3 - cmp(1.2.3===1.2.3)
            ok 4 - !cmp(1.2.3!==1.2.3)
            ok 5 - !cmp(1.2.3====1.2.3)
            ok 6 - !cmp(1.2.3====1.2.3) object
            ok 7 - cmp(1.2.3!===1.2.3)
            ok 8 - cmp(1.2.3!===1.2.3) object
        ok 2 - 1.2.3 =1.2.3 true # time=2.028ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 "" v 1.2.3)
            ok 2 - cmp(1.2.3=v 1.2.3)
            ok 3 - cmp(1.2.3==v 1.2.3)
            ok 4 - !cmp(1.2.3!=v 1.2.3)
            ok 5 - !cmp(1.2.3===v 1.2.3)
            ok 6 - !cmp(1.2.3===v 1.2.3) object
            ok 7 - cmp(1.2.3!==v 1.2.3)
            ok 8 - cmp(1.2.3!==v 1.2.3) object
        ok 3 - 1.2.3 v 1.2.3 true # time=1.937ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 "" = 1.2.3)
            ok 2 - cmp(1.2.3== 1.2.3)
            ok 3 - cmp(1.2.3=== 1.2.3)
            ok 4 - !cmp(1.2.3!== 1.2.3)
            ok 5 - !cmp(1.2.3==== 1.2.3)
            ok 6 - !cmp(1.2.3==== 1.2.3) object
            ok 7 - cmp(1.2.3!=== 1.2.3)
            ok 8 - cmp(1.2.3!=== 1.2.3) object
        ok 4 - 1.2.3 = 1.2.3 true # time=2.187ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 ""  v1.2.3)
            ok 2 - cmp(1.2.3= v1.2.3)
            ok 3 - cmp(1.2.3== v1.2.3)
            ok 4 - !cmp(1.2.3!= v1.2.3)
            ok 5 - !cmp(1.2.3=== v1.2.3)
            ok 6 - !cmp(1.2.3=== v1.2.3) object
            ok 7 - cmp(1.2.3!== v1.2.3)
            ok 8 - cmp(1.2.3!== v1.2.3) object
        ok 5 - 1.2.3  v1.2.3 true # time=1.963ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 ""  =1.2.3)
            ok 2 - cmp(1.2.3= =1.2.3)
            ok 3 - cmp(1.2.3== =1.2.3)
            ok 4 - !cmp(1.2.3!= =1.2.3)
            ok 5 - !cmp(1.2.3=== =1.2.3)
            ok 6 - !cmp(1.2.3=== =1.2.3) object
            ok 7 - cmp(1.2.3!== =1.2.3)
            ok 8 - cmp(1.2.3!== =1.2.3) object
        ok 6 - 1.2.3  =1.2.3 true # time=1.907ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 ""  v 1.2.3)
            ok 2 - cmp(1.2.3= v 1.2.3)
            ok 3 - cmp(1.2.3== v 1.2.3)
            ok 4 - !cmp(1.2.3!= v 1.2.3)
            ok 5 - !cmp(1.2.3=== v 1.2.3)
            ok 6 - !cmp(1.2.3=== v 1.2.3) object
            ok 7 - cmp(1.2.3!== v 1.2.3)
            ok 8 - cmp(1.2.3!== v 1.2.3) object
        ok 7 - 1.2.3  v 1.2.3 true # time=2.349ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..8
            ok 1 - cmp(1.2.3 ""  = 1.2.3)
            ok 2 - cmp(1.2.3= = 1.2.3)
            ok 3 - cmp(1.2.3== = 1.2.3)
            ok 4 - !cmp(1.2.3!= = 1.2.3)
            ok 5 - !cmp(1.2.3=== = 1.2.3)
            ok 6 - !cmp(1.2.3=== = 1.2.3) object
            ok 7 - cmp(1.2.3!== = 1.2.3)
            ok 8 - cmp(1.2.3!== = 1.2.3) object
        ok 8 - 1.2.3  = 1.2.3 true # time=1.883ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 "" v1.2.3-0)
            ok 2 - cmp(1.2.3-0=v1.2.3-0)
            ok 3 - cmp(1.2.3-0==v1.2.3-0)
            ok 4 - !cmp(1.2.3-0!=v1.2.3-0)
            ok 5 - !cmp(1.2.3-0===v1.2.3-0)
            ok 6 - !cmp(1.2.3-0===v1.2.3-0) object
            ok 7 - cmp(1.2.3-0!==v1.2.3-0)
            ok 8 - cmp(1.2.3-0!==v1.2.3-0) object
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=1.917ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 "" =1.2.3-0)
            ok 2 - cmp(1.2.3-0==1.2.3-0)
            ok 3 - cmp(1.2.3-0===1.2.3-0)
            ok 4 - !cmp(1.2.3-0!==1.2.3-0)
            ok 5 - !cmp(1.2.3-0====1.2.3-0)
            ok 6 - !cmp(1.2.3-0====1.2.3-0) object
            ok 7 - cmp(1.2.3-0!===1.2.3-0)
            ok 8 - cmp(1.2.3-0!===1.2.3-0) object
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=1.883ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 "" v 1.2.3-0)
            ok 2 - cmp(1.2.3-0=v 1.2.3-0)
            ok 3 - cmp(1.2.3-0==v 1.2.3-0)
            ok 4 - !cmp(1.2.3-0!=v 1.2.3-0)
            ok 5 - !cmp(1.2.3-0===v 1.2.3-0)
            ok 6 - !cmp(1.2.3-0===v 1.2.3-0) object
            ok 7 - cmp(1.2.3-0!==v 1.2.3-0)
            ok 8 - cmp(1.2.3-0!==v 1.2.3-0) object
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=1.898ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 "" = 1.2.3-0)
            ok 2 - cmp(1.2.3-0== 1.2.3-0)
            ok 3 - cmp(1.2.3-0=== 1.2.3-0)
            ok 4 - !cmp(1.2.3-0!== 1.2.3-0)
            ok 5 - !cmp(1.2.3-0==== 1.2.3-0)
            ok 6 - !cmp(1.2.3-0==== 1.2.3-0) object
            ok 7 - cmp(1.2.3-0!=== 1.2.3-0)
            ok 8 - cmp(1.2.3-0!=== 1.2.3-0) object
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=1.899ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 ""  v1.2.3-0)
            ok 2 - cmp(1.2.3-0= v1.2.3-0)
            ok 3 - cmp(1.2.3-0== v1.2.3-0)
            ok 4 - !cmp(1.2.3-0!= v1.2.3-0)
            ok 5 - !cmp(1.2.3-0=== v1.2.3-0)
            ok 6 - !cmp(1.2.3-0=== v1.2.3-0) object
            ok 7 - cmp(1.2.3-0!== v1.2.3-0)
            ok 8 - cmp(1.2.3-0!== v1.2.3-0) object
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=1.912ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 ""  =1.2.3-0)
            ok 2 - cmp(1.2.3-0= =1.2.3-0)
            ok 3 - cmp(1.2.3-0== =1.2.3-0)
            ok 4 - !cmp(1.2.3-0!= =1.2.3-0)
            ok 5 - !cmp(1.2.3-0=== =1.2.3-0)
            ok 6 - !cmp(1.2.3-0=== =1.2.3-0) object
            ok 7 - cmp(1.2.3-0!== =1.2.3-0)
            ok 8 - cmp(1.2.3-0!== =1.2.3-0) object
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=1.898ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 ""  v 1.2.3-0)
            ok 2 - cmp(1.2.3-0= v 1.2.3-0)
            ok 3 - cmp(1.2.3-0== v 1.2.3-0)
            ok 4 - !cmp(1.2.3-0!= v 1.2.3-0)
            ok 5 - !cmp(1.2.3-0=== v 1.2.3-0)
            ok 6 - !cmp(1.2.3-0=== v 1.2.3-0) object
            ok 7 - cmp(1.2.3-0!== v 1.2.3-0)
            ok 8 - cmp(1.2.3-0!== v 1.2.3-0) object
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=1.942ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..8
            ok 1 - cmp(1.2.3-0 ""  = 1.2.3-0)
            ok 2 - cmp(1.2.3-0= = 1.2.3-0)
            ok 3 - cmp(1.2.3-0== = 1.2.3-0)
            ok 4 - !cmp(1.2.3-0!= = 1.2.3-0)
            ok 5 - !cmp(1.2.3-0=== = 1.2.3-0)
            ok 6 - !cmp(1.2.3-0=== = 1.2.3-0) object
            ok 7 - cmp(1.2.3-0!== = 1.2.3-0)
            ok 8 - cmp(1.2.3-0!== = 1.2.3-0) object
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=1.921ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 "" v1.2.3-1)
            ok 2 - cmp(1.2.3-1=v1.2.3-1)
            ok 3 - cmp(1.2.3-1==v1.2.3-1)
            ok 4 - !cmp(1.2.3-1!=v1.2.3-1)
            ok 5 - !cmp(1.2.3-1===v1.2.3-1)
            ok 6 - !cmp(1.2.3-1===v1.2.3-1) object
            ok 7 - cmp(1.2.3-1!==v1.2.3-1)
            ok 8 - cmp(1.2.3-1!==v1.2.3-1) object
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=1.879ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 "" =1.2.3-1)
            ok 2 - cmp(1.2.3-1==1.2.3-1)
            ok 3 - cmp(1.2.3-1===1.2.3-1)
            ok 4 - !cmp(1.2.3-1!==1.2.3-1)
            ok 5 - !cmp(1.2.3-1====1.2.3-1)
            ok 6 - !cmp(1.2.3-1====1.2.3-1) object
            ok 7 - cmp(1.2.3-1!===1.2.3-1)
            ok 8 - cmp(1.2.3-1!===1.2.3-1) object
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=3.879ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 "" v 1.2.3-1)
            ok 2 - cmp(1.2.3-1=v 1.2.3-1)
            ok 3 - cmp(1.2.3-1==v 1.2.3-1)
            ok 4 - !cmp(1.2.3-1!=v 1.2.3-1)
            ok 5 - !cmp(1.2.3-1===v 1.2.3-1)
            ok 6 - !cmp(1.2.3-1===v 1.2.3-1) object
            ok 7 - cmp(1.2.3-1!==v 1.2.3-1)
            ok 8 - cmp(1.2.3-1!==v 1.2.3-1) object
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.979ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 "" = 1.2.3-1)
            ok 2 - cmp(1.2.3-1== 1.2.3-1)
            ok 3 - cmp(1.2.3-1=== 1.2.3-1)
            ok 4 - !cmp(1.2.3-1!== 1.2.3-1)
            ok 5 - !cmp(1.2.3-1==== 1.2.3-1)
            ok 6 - !cmp(1.2.3-1==== 1.2.3-1) object
            ok 7 - cmp(1.2.3-1!=== 1.2.3-1)
            ok 8 - cmp(1.2.3-1!=== 1.2.3-1) object
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=1.769ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 ""  v1.2.3-1)
            ok 2 - cmp(1.2.3-1= v1.2.3-1)
            ok 3 - cmp(1.2.3-1== v1.2.3-1)
            ok 4 - !cmp(1.2.3-1!= v1.2.3-1)
            ok 5 - !cmp(1.2.3-1=== v1.2.3-1)
            ok 6 - !cmp(1.2.3-1=== v1.2.3-1) object
            ok 7 - cmp(1.2.3-1!== v1.2.3-1)
            ok 8 - cmp(1.2.3-1!== v1.2.3-1) object
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=1.795ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 ""  =1.2.3-1)
            ok 2 - cmp(1.2.3-1= =1.2.3-1)
            ok 3 - cmp(1.2.3-1== =1.2.3-1)
            ok 4 - !cmp(1.2.3-1!= =1.2.3-1)
            ok 5 - !cmp(1.2.3-1=== =1.2.3-1)
            ok 6 - !cmp(1.2.3-1=== =1.2.3-1) object
            ok 7 - cmp(1.2.3-1!== =1.2.3-1)
            ok 8 - cmp(1.2.3-1!== =1.2.3-1) object
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=1.755ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 ""  v 1.2.3-1)
            ok 2 - cmp(1.2.3-1= v 1.2.3-1)
            ok 3 - cmp(1.2.3-1== v 1.2.3-1)
            ok 4 - !cmp(1.2.3-1!= v 1.2.3-1)
            ok 5 - !cmp(1.2.3-1=== v 1.2.3-1)
            ok 6 - !cmp(1.2.3-1=== v 1.2.3-1) object
            ok 7 - cmp(1.2.3-1!== v 1.2.3-1)
            ok 8 - cmp(1.2.3-1!== v 1.2.3-1) object
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=1.754ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..8
            ok 1 - cmp(1.2.3-1 ""  = 1.2.3-1)
            ok 2 - cmp(1.2.3-1= = 1.2.3-1)
            ok 3 - cmp(1.2.3-1== = 1.2.3-1)
            ok 4 - !cmp(1.2.3-1!= = 1.2.3-1)
            ok 5 - !cmp(1.2.3-1=== = 1.2.3-1)
            ok 6 - !cmp(1.2.3-1=== = 1.2.3-1) object
            ok 7 - cmp(1.2.3-1!== = 1.2.3-1)
            ok 8 - cmp(1.2.3-1!== = 1.2.3-1) object
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=1.757ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta "" v1.2.3-beta)
            ok 2 - cmp(1.2.3-beta=v1.2.3-beta)
            ok 3 - cmp(1.2.3-beta==v1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!=v1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta===v1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta===v1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!==v1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!==v1.2.3-beta) object
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=1.772ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta "" =1.2.3-beta)
            ok 2 - cmp(1.2.3-beta==1.2.3-beta)
            ok 3 - cmp(1.2.3-beta===1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!==1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta====1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta====1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!===1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!===1.2.3-beta) object
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=1.763ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta "" v 1.2.3-beta)
            ok 2 - cmp(1.2.3-beta=v 1.2.3-beta)
            ok 3 - cmp(1.2.3-beta==v 1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!=v 1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta===v 1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta===v 1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!==v 1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!==v 1.2.3-beta) object
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.765ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta "" = 1.2.3-beta)
            ok 2 - cmp(1.2.3-beta== 1.2.3-beta)
            ok 3 - cmp(1.2.3-beta=== 1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!== 1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta==== 1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta==== 1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!=== 1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!=== 1.2.3-beta) object
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=1.758ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta ""  v1.2.3-beta)
            ok 2 - cmp(1.2.3-beta= v1.2.3-beta)
            ok 3 - cmp(1.2.3-beta== v1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!= v1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta=== v1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta=== v1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!== v1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!== v1.2.3-beta) object
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=1.763ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta ""  =1.2.3-beta)
            ok 2 - cmp(1.2.3-beta= =1.2.3-beta)
            ok 3 - cmp(1.2.3-beta== =1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!= =1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta=== =1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta=== =1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!== =1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!== =1.2.3-beta) object
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=1.757ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta ""  v 1.2.3-beta)
            ok 2 - cmp(1.2.3-beta= v 1.2.3-beta)
            ok 3 - cmp(1.2.3-beta== v 1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!= v 1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta=== v 1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta=== v 1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!== v 1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!== v 1.2.3-beta) object
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=1.775ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..8
            ok 1 - cmp(1.2.3-beta ""  = 1.2.3-beta)
            ok 2 - cmp(1.2.3-beta= = 1.2.3-beta)
            ok 3 - cmp(1.2.3-beta== = 1.2.3-beta)
            ok 4 - !cmp(1.2.3-beta!= = 1.2.3-beta)
            ok 5 - !cmp(1.2.3-beta=== = 1.2.3-beta)
            ok 6 - !cmp(1.2.3-beta=== = 1.2.3-beta) object
            ok 7 - cmp(1.2.3-beta!== = 1.2.3-beta)
            ok 8 - cmp(1.2.3-beta!== = 1.2.3-beta) object
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=1.803ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..8
            ok 1 - cmp(1.2.3-beta+build ""  = 1.2.3-beta+otherbuild)
            ok 2 - cmp(1.2.3-beta+build= = 1.2.3-beta+otherbuild)
            ok 3 - cmp(1.2.3-beta+build== = 1.2.3-beta+otherbuild)
            ok 4 - !cmp(1.2.3-beta+build!= = 1.2.3-beta+otherbuild)
            ok 5 - !cmp(1.2.3-beta+build=== = 1.2.3-beta+otherbuild)
            ok 6 - !cmp(1.2.3-beta+build=== = 1.2.3-beta+otherbuild) object
            ok 7 - cmp(1.2.3-beta+build!== = 1.2.3-beta+otherbuild)
            ok 8 - cmp(1.2.3-beta+build!== = 1.2.3-beta+otherbuild) object
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=2.522ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..8
            ok 1 - cmp(1.2.3+build ""  = 1.2.3+otherbuild)
            ok 2 - cmp(1.2.3+build= = 1.2.3+otherbuild)
            ok 3 - cmp(1.2.3+build== = 1.2.3+otherbuild)
            ok 4 - !cmp(1.2.3+build!= = 1.2.3+otherbuild)
            ok 5 - !cmp(1.2.3+build=== = 1.2.3+otherbuild)
            ok 6 - !cmp(1.2.3+build=== = 1.2.3+otherbuild) object
            ok 7 - cmp(1.2.3+build!== = 1.2.3+otherbuild)
            ok 8 - cmp(1.2.3+build!== = 1.2.3+otherbuild) object
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=3.799ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..8
            ok 1 - cmp(1.2.3-beta+build "" 1.2.3-beta+otherbuild)
            ok 2 - cmp(1.2.3-beta+build=1.2.3-beta+otherbuild)
            ok 3 - cmp(1.2.3-beta+build==1.2.3-beta+otherbuild)
            ok 4 - !cmp(1.2.3-beta+build!=1.2.3-beta+otherbuild)
            ok 5 - !cmp(1.2.3-beta+build===1.2.3-beta+otherbuild)
            ok 6 - !cmp(1.2.3-beta+build===1.2.3-beta+otherbuild) object
            ok 7 - cmp(1.2.3-beta+build!==1.2.3-beta+otherbuild)
            ok 8 - cmp(1.2.3-beta+build!==1.2.3-beta+otherbuild) object
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=1.864ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..8
            ok 1 - cmp(1.2.3+build "" 1.2.3+otherbuild)
            ok 2 - cmp(1.2.3+build=1.2.3+otherbuild)
            ok 3 - cmp(1.2.3+build==1.2.3+otherbuild)
            ok 4 - !cmp(1.2.3+build!=1.2.3+otherbuild)
            ok 5 - !cmp(1.2.3+build===1.2.3+otherbuild)
            ok 6 - !cmp(1.2.3+build===1.2.3+otherbuild) object
            ok 7 - cmp(1.2.3+build!==1.2.3+otherbuild)
            ok 8 - cmp(1.2.3+build!==1.2.3+otherbuild) object
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=1.592ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..8
            ok 1 - cmp(  v1.2.3+build "" 1.2.3+otherbuild)
            ok 2 - cmp(  v1.2.3+build=1.2.3+otherbuild)
            ok 3 - cmp(  v1.2.3+build==1.2.3+otherbuild)
            ok 4 - !cmp(  v1.2.3+build!=1.2.3+otherbuild)
            ok 5 - !cmp(  v1.2.3+build===1.2.3+otherbuild)
            ok 6 - !cmp(  v1.2.3+build===1.2.3+otherbuild) object
            ok 7 - cmp(  v1.2.3+build!==1.2.3+otherbuild)
            ok 8 - cmp(  v1.2.3+build!==1.2.3+otherbuild) object
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=1.621ms
        
    ok 3 - equality tests # time=267.415ms
    
    1..3
    # time=552.65ms
ok 9 - test/functions/cmp.js # time=552.65ms

# Subtest: test/functions/coerce.js
    # Subtest: coerce tests
        ok 1 - coerce(null) should be null
        ok 2 - coerce([object Object]) should be null
        ok 3 - coerce(function () { return '1.2.3' }) should be null
        ok 4 - coerce() should be null
        ok 5 - coerce(.) should be null
        ok 6 - coerce(version one) should be null
        ok 7 - coerce(9999999999999999) should be null
        ok 8 - coerce(11111111111111111) should be null
        ok 9 - coerce(a9999999999999999) should be null
        ok 10 - coerce(a11111111111111111) should be null
        ok 11 - coerce(9999999999999999a) should be null
        ok 12 - coerce(11111111111111111a) should be null
        ok 13 - coerce(9999999999999999.4.7.4) should be null
        ok 14 - coerce(9999999999999999.2222222222222222.3333333333333333) should be null
        ok 15 - coerce(1111111111111111.9999999999999999.3333333333333333) should be null
        ok 16 - coerce(1111111111111111.2222222222222222.9999999999999999) should be null
        ok 17 - coerce(1.2.3) should become 1.2.3
        ok 18 - coerce(.1) should become 1.0.0
        ok 19 - coerce(.1.) should become 1.0.0
        ok 20 - coerce(..1) should become 1.0.0
        ok 21 - coerce(.1.1) should become 1.1.0
        ok 22 - coerce(1.) should become 1.0.0
        ok 23 - coerce(1.0) should become 1.0.0
        ok 24 - coerce(1.0.0) should become 1.0.0
        ok 25 - coerce(0) should become 0.0.0
        ok 26 - coerce(0.0) should become 0.0.0
        ok 27 - coerce(0.0.0) should become 0.0.0
        ok 28 - coerce(0.1) should become 0.1.0
        ok 29 - coerce(0.0.1) should become 0.0.1
        ok 30 - coerce(0.1.1) should become 0.1.1
        ok 31 - coerce(1) should become 1.0.0
        ok 32 - coerce(1.2) should become 1.2.0
        ok 33 - coerce(1.2.3) should become 1.2.3
        ok 34 - coerce(1.2.3.4) should become 1.2.3
        ok 35 - coerce(13) should become 13.0.0
        ok 36 - coerce(35.12) should become 35.12.0
        ok 37 - coerce(35.12.18) should become 35.12.18
        ok 38 - coerce(35.12.18.24) should become 35.12.18
        ok 39 - coerce(v1) should become 1.0.0
        ok 40 - coerce(v1.2) should become 1.2.0
        ok 41 - coerce(v1.2.3) should become 1.2.3
        ok 42 - coerce(v1.2.3.4) should become 1.2.3
        ok 43 - coerce( 1) should become 1.0.0
        ok 44 - coerce(1 ) should become 1.0.0
        ok 45 - coerce(1 0) should become 1.0.0
        ok 46 - coerce(1 1) should become 1.0.0
        ok 47 - coerce(1.1 1) should become 1.1.0
        ok 48 - coerce(1.1-1) should become 1.1.0
        ok 49 - coerce(1.1-1) should become 1.1.0
        ok 50 - coerce(a1) should become 1.0.0
        ok 51 - coerce(a1a) should become 1.0.0
        ok 52 - coerce(1a) should become 1.0.0
        ok 53 - coerce(version 1) should become 1.0.0
        ok 54 - coerce(version1) should become 1.0.0
        ok 55 - coerce(version1.0) should become 1.0.0
        ok 56 - coerce(version1.1) should become 1.1.0
        ok 57 - coerce(42.6.7.9.3-alpha) should become 42.6.7
        ok 58 - coerce(v2) should become 2.0.0
        ok 59 - coerce(v3.4 replaces v3.3.1) should become 3.4.0
        ok 60 - coerce(4.6.3.9.2-alpha2) should become 4.6.3
        ok 61 - coerce(11111111111111111.2) should become 2.0.0
        ok 62 - coerce(11111111111111111.2.3) should become 2.3.0
        ok 63 - coerce(1.22222222222222222.3) should become 1.0.0
        ok 64 - coerce(1.2.33333333333333333) should become 1.2.0
        ok 65 - coerce(11111111111111111.2.3.4) should become 2.3.4
        ok 66 - coerce(1.22222222222222222.3.4) should become 1.0.0
        ok 67 - coerce(1.2.33333333333333333.4) should become 1.2.0
        ok 68 - coerce(11111111111111111.2222222222222222.3333333333333333) should become 2222222222222222.3333333333333333.0
        ok 69 - coerce(1111111111111111.22222222222222222.3333333333333333) should become 1111111111111111.0.0
        ok 70 - coerce(1111111111111111.2222222222222222.33333333333333333) should become 1111111111111111.2222222222222222.0
        ok 71 - coerce(11.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1) should become 11.1.1
        ok 72 - coerce(1111111111111111) should become 1111111111111111.0.0
        ok 73 - coerce(a1111111111111111) should become 1111111111111111.0.0
        ok 74 - coerce(1111111111111111.2.3.4) should become 1111111111111111.2.3
        ok 75 - coerce(1.2222222222222222.3.4) should become 1.2222222222222222.3
        ok 76 - coerce(1.2.3333333333333333.4) should become 1.2.3333333333333333
        ok 77 - coerce(1111111111111111.2222222222222222.3333333333333333) should become 1111111111111111.2222222222222222.3333333333333333
        ok 78 - coerce(1.2.3.444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444.5) should become 1.2.3
        ok 79 - coerce(1.2.3.4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444) should become 1.2.3
        ok 80 - coerce(11111111111111111.4.7.4) should become 4.7.4
        ok 81 - coerce(10) should become 10.0.0
        ok 82 - coerce(1.2.3/a/b/c/2.3.4) should become 2.3.4
        ok 83 - coerce(1.2.3.4.5.6) should become 4.5.6
        ok 84 - coerce(1.2.3.4.5/6) should become 6.0.0
        ok 85 - coerce(1.2.3.4./6) should become 6.0.0
        ok 86 - coerce(1.2.3.4/6) should become 6.0.0
        ok 87 - coerce(1.2.3./6) should become 6.0.0
        ok 88 - coerce(1.2.3/6) should become 6.0.0
        ok 89 - coerce(1.2.3.4) should become 2.3.4
        ok 90 - coerce(1.2.3.4xyz) should become 2.3.4
        ok 91 - should be equivalent
        ok 92 - should be equivalent
        1..92
    ok 1 - coerce tests # time=29.797ms
    
    1..1
    # time=38.935ms
ok 10 - test/functions/coerce.js # time=38.935ms

# Subtest: test/functions/compare-build.js
    # Subtest: compareBuild
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        ok 5 - should be equal
        ok 6 - should be equal
        ok 7 - should be equal
        1..7
    ok 1 - compareBuild # time=6.102ms
    
    1..1
    # time=10.805ms
ok 11 - test/functions/compare-build.js # time=10.805ms

# Subtest: test/functions/compare-loose.js
    # Subtest: strict vs loose version numbers
        ok 1 - expected to throw
        ok 2 - should be equal
        ok 3 - expect truthy value
        ok 4 - expected to throw
        ok 5 - expected to throw
        ok 6 - should be equal
        ok 7 - expected to throw
        ok 8 - should be equal
        ok 9 - expect truthy value
        ok 10 - expected to throw
        ok 11 - expected to throw
        ok 12 - should be equal
        ok 13 - expected to throw
        ok 14 - should be equal
        ok 15 - expect truthy value
        ok 16 - expected to throw
        ok 17 - expected to throw
        ok 18 - should be equal
        ok 19 - expected to throw
        ok 20 - should be equal
        ok 21 - expect truthy value
        ok 22 - expected to throw
        ok 23 - expected to throw
        ok 24 - should be equal
        ok 25 - expected to throw
        ok 26 - should be equal
        ok 27 - expect truthy value
        ok 28 - expected to throw
        ok 29 - expected to throw
        ok 30 - should be equal
        1..30
    ok 1 - strict vs loose version numbers # time=11.429ms
    
    1..1
    # time=16.268ms
ok 12 - test/functions/compare-loose.js # time=16.268ms

# Subtest: test/functions/compare.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - compare('0.0.0', '0.0.0-foo')
            ok 2 - compare('0.0.0-foo', '0.0.0')
            ok 3 - compare('0.0.0', '0.0.0')
            ok 4 - compare('0.0.0-foo', '0.0.0-foo')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.941ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - compare('0.0.1', '0.0.0')
            ok 2 - compare('0.0.0', '0.0.1')
            ok 3 - compare('0.0.1', '0.0.1')
            ok 4 - compare('0.0.0', '0.0.0')
        ok 2 - 0.0.1 0.0.0 undefined # time=1.813ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - compare('1.0.0', '0.9.9')
            ok 2 - compare('0.9.9', '1.0.0')
            ok 3 - compare('1.0.0', '1.0.0')
            ok 4 - compare('0.9.9', '0.9.9')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.603ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - compare('0.10.0', '0.9.0')
            ok 2 - compare('0.9.0', '0.10.0')
            ok 3 - compare('0.10.0', '0.10.0')
            ok 4 - compare('0.9.0', '0.9.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.582ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - compare('0.99.0', '0.10.0')
            ok 2 - compare('0.10.0', '0.99.0')
            ok 3 - compare('0.99.0', '0.99.0')
            ok 4 - compare('0.10.0', '0.10.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.543ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - compare('2.0.0', '1.2.3')
            ok 2 - compare('1.2.3', '2.0.0')
            ok 3 - compare('2.0.0', '2.0.0')
            ok 4 - compare('1.2.3', '1.2.3')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.489ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - compare('v0.0.0', '0.0.0-foo')
            ok 2 - compare('0.0.0-foo', 'v0.0.0')
            ok 3 - compare('v0.0.0', 'v0.0.0')
            ok 4 - compare('0.0.0-foo', '0.0.0-foo')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.824ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - compare('v0.0.1', '0.0.0')
            ok 2 - compare('0.0.0', 'v0.0.1')
            ok 3 - compare('v0.0.1', 'v0.0.1')
            ok 4 - compare('0.0.0', '0.0.0')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.464ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - compare('v1.0.0', '0.9.9')
            ok 2 - compare('0.9.9', 'v1.0.0')
            ok 3 - compare('v1.0.0', 'v1.0.0')
            ok 4 - compare('0.9.9', '0.9.9')
        ok 9 - v1.0.0 0.9.9 true # time=1.462ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - compare('v0.10.0', '0.9.0')
            ok 2 - compare('0.9.0', 'v0.10.0')
            ok 3 - compare('v0.10.0', 'v0.10.0')
            ok 4 - compare('0.9.0', '0.9.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.474ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - compare('v0.99.0', '0.10.0')
            ok 2 - compare('0.10.0', 'v0.99.0')
            ok 3 - compare('v0.99.0', 'v0.99.0')
            ok 4 - compare('0.10.0', '0.10.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.699ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - compare('v2.0.0', '1.2.3')
            ok 2 - compare('1.2.3', 'v2.0.0')
            ok 3 - compare('v2.0.0', 'v2.0.0')
            ok 4 - compare('1.2.3', '1.2.3')
        ok 12 - v2.0.0 1.2.3 true # time=1.491ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - compare('0.0.0', 'v0.0.0-foo')
            ok 2 - compare('v0.0.0-foo', '0.0.0')
            ok 3 - compare('0.0.0', '0.0.0')
            ok 4 - compare('v0.0.0-foo', 'v0.0.0-foo')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.512ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - compare('0.0.1', 'v0.0.0')
            ok 2 - compare('v0.0.0', '0.0.1')
            ok 3 - compare('0.0.1', '0.0.1')
            ok 4 - compare('v0.0.0', 'v0.0.0')
        ok 14 - 0.0.1 v0.0.0 true # time=1.501ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - compare('1.0.0', 'v0.9.9')
            ok 2 - compare('v0.9.9', '1.0.0')
            ok 3 - compare('1.0.0', '1.0.0')
            ok 4 - compare('v0.9.9', 'v0.9.9')
        ok 15 - 1.0.0 v0.9.9 true # time=1.471ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - compare('0.10.0', 'v0.9.0')
            ok 2 - compare('v0.9.0', '0.10.0')
            ok 3 - compare('0.10.0', '0.10.0')
            ok 4 - compare('v0.9.0', 'v0.9.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.472ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - compare('0.99.0', 'v0.10.0')
            ok 2 - compare('v0.10.0', '0.99.0')
            ok 3 - compare('0.99.0', '0.99.0')
            ok 4 - compare('v0.10.0', 'v0.10.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.485ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - compare('2.0.0', 'v1.2.3')
            ok 2 - compare('v1.2.3', '2.0.0')
            ok 3 - compare('2.0.0', '2.0.0')
            ok 4 - compare('v1.2.3', 'v1.2.3')
        ok 18 - 2.0.0 v1.2.3 true # time=1.477ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - compare('1.2.3', '1.2.3-asdf')
            ok 2 - compare('1.2.3-asdf', '1.2.3')
            ok 3 - compare('1.2.3', '1.2.3')
            ok 4 - compare('1.2.3-asdf', '1.2.3-asdf')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.578ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - compare('1.2.3', '1.2.3-4')
            ok 2 - compare('1.2.3-4', '1.2.3')
            ok 3 - compare('1.2.3', '1.2.3')
            ok 4 - compare('1.2.3-4', '1.2.3-4')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.522ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - compare('1.2.3', '1.2.3-4-foo')
            ok 2 - compare('1.2.3-4-foo', '1.2.3')
            ok 3 - compare('1.2.3', '1.2.3')
            ok 4 - compare('1.2.3-4-foo', '1.2.3-4-foo')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.535ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - compare('1.2.3-5-foo', '1.2.3-5')
            ok 2 - compare('1.2.3-5', '1.2.3-5-foo')
            ok 3 - compare('1.2.3-5-foo', '1.2.3-5-foo')
            ok 4 - compare('1.2.3-5', '1.2.3-5')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.61ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - compare('1.2.3-5', '1.2.3-4')
            ok 2 - compare('1.2.3-4', '1.2.3-5')
            ok 3 - compare('1.2.3-5', '1.2.3-5')
            ok 4 - compare('1.2.3-4', '1.2.3-4')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.526ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - compare('1.2.3-5-foo', '1.2.3-5-Foo')
            ok 2 - compare('1.2.3-5-Foo', '1.2.3-5-foo')
            ok 3 - compare('1.2.3-5-foo', '1.2.3-5-foo')
            ok 4 - compare('1.2.3-5-Foo', '1.2.3-5-Foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.622ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - compare('3.0.0', '2.7.2+asdf')
            ok 2 - compare('2.7.2+asdf', '3.0.0')
            ok 3 - compare('3.0.0', '3.0.0')
            ok 4 - compare('2.7.2+asdf', '2.7.2+asdf')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.483ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - compare('1.2.3-a.10', '1.2.3-a.5')
            ok 2 - compare('1.2.3-a.5', '1.2.3-a.10')
            ok 3 - compare('1.2.3-a.10', '1.2.3-a.10')
            ok 4 - compare('1.2.3-a.5', '1.2.3-a.5')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.361ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - compare('1.2.3-a.b', '1.2.3-a.5')
            ok 2 - compare('1.2.3-a.5', '1.2.3-a.b')
            ok 3 - compare('1.2.3-a.b', '1.2.3-a.b')
            ok 4 - compare('1.2.3-a.5', '1.2.3-a.5')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.306ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - compare('1.2.3-a.b', '1.2.3-a')
            ok 2 - compare('1.2.3-a', '1.2.3-a.b')
            ok 3 - compare('1.2.3-a.b', '1.2.3-a.b')
            ok 4 - compare('1.2.3-a', '1.2.3-a')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.33ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - compare('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100')
            ok 2 - compare('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.10.d.5')
            ok 3 - compare('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
            ok 4 - compare('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.337ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - compare('1.2.3-r2', '1.2.3-r100')
            ok 2 - compare('1.2.3-r100', '1.2.3-r2')
            ok 3 - compare('1.2.3-r2', '1.2.3-r2')
            ok 4 - compare('1.2.3-r100', '1.2.3-r100')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.299ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - compare('1.2.3-r100', '1.2.3-R2')
            ok 2 - compare('1.2.3-R2', '1.2.3-r100')
            ok 3 - compare('1.2.3-r100', '1.2.3-r100')
            ok 4 - compare('1.2.3-R2', '1.2.3-R2')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.314ms
        
    ok 1 - comparison tests # time=241.569ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..5
            ok 1 - 1.2.3 v1.2.3
            ok 2 - v1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - v1.2.3 v1.2.3
            ok 5 - compare(1.2.3, v1.2.3) object
        ok 1 - 1.2.3 v1.2.3 true # time=1.627ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..5
            ok 1 - 1.2.3 =1.2.3
            ok 2 - =1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - =1.2.3 =1.2.3
            ok 5 - compare(1.2.3, =1.2.3) object
        ok 2 - 1.2.3 =1.2.3 true # time=1.481ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..5
            ok 1 - 1.2.3 v 1.2.3
            ok 2 - v 1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - v 1.2.3 v 1.2.3
            ok 5 - compare(1.2.3, v 1.2.3) object
        ok 3 - 1.2.3 v 1.2.3 true # time=1.497ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..5
            ok 1 - 1.2.3 = 1.2.3
            ok 2 - = 1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - = 1.2.3 = 1.2.3
            ok 5 - compare(1.2.3, = 1.2.3) object
        ok 4 - 1.2.3 = 1.2.3 true # time=1.473ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..5
            ok 1 - 1.2.3  v1.2.3
            ok 2 - v1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - v1.2.3  v1.2.3
            ok 5 - compare(1.2.3,  v1.2.3) object
        ok 5 - 1.2.3  v1.2.3 true # time=1.481ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..5
            ok 1 - 1.2.3  =1.2.3
            ok 2 - =1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - =1.2.3  =1.2.3
            ok 5 - compare(1.2.3,  =1.2.3) object
        ok 6 - 1.2.3  =1.2.3 true # time=1.462ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..5
            ok 1 - 1.2.3  v 1.2.3
            ok 2 - v 1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - v 1.2.3  v 1.2.3
            ok 5 - compare(1.2.3,  v 1.2.3) object
        ok 7 - 1.2.3  v 1.2.3 true # time=1.477ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..5
            ok 1 - 1.2.3  = 1.2.3
            ok 2 - = 1.2.3 1.2.3
            ok 3 - 1.2.3 1.2.3
            ok 4 - = 1.2.3  = 1.2.3
            ok 5 - compare(1.2.3,  = 1.2.3) object
        ok 8 - 1.2.3  = 1.2.3 true # time=1.49ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0 v1.2.3-0
            ok 2 - v1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - v1.2.3-0 v1.2.3-0
            ok 5 - compare(1.2.3-0, v1.2.3-0) object
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=1.555ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0 =1.2.3-0
            ok 2 - =1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - =1.2.3-0 =1.2.3-0
            ok 5 - compare(1.2.3-0, =1.2.3-0) object
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=1.507ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0 v 1.2.3-0
            ok 2 - v 1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - v 1.2.3-0 v 1.2.3-0
            ok 5 - compare(1.2.3-0, v 1.2.3-0) object
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=1.494ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0 = 1.2.3-0
            ok 2 - = 1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - = 1.2.3-0 = 1.2.3-0
            ok 5 - compare(1.2.3-0, = 1.2.3-0) object
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=1.476ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0  v1.2.3-0
            ok 2 - v1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - v1.2.3-0  v1.2.3-0
            ok 5 - compare(1.2.3-0,  v1.2.3-0) object
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=1.458ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0  =1.2.3-0
            ok 2 - =1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - =1.2.3-0  =1.2.3-0
            ok 5 - compare(1.2.3-0,  =1.2.3-0) object
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=1.471ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0  v 1.2.3-0
            ok 2 - v 1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - v 1.2.3-0  v 1.2.3-0
            ok 5 - compare(1.2.3-0,  v 1.2.3-0) object
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=1.464ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..5
            ok 1 - 1.2.3-0  = 1.2.3-0
            ok 2 - = 1.2.3-0 1.2.3-0
            ok 3 - 1.2.3-0 1.2.3-0
            ok 4 - = 1.2.3-0  = 1.2.3-0
            ok 5 - compare(1.2.3-0,  = 1.2.3-0) object
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=1.47ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1 v1.2.3-1
            ok 2 - v1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - v1.2.3-1 v1.2.3-1
            ok 5 - compare(1.2.3-1, v1.2.3-1) object
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=1.455ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1 =1.2.3-1
            ok 2 - =1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - =1.2.3-1 =1.2.3-1
            ok 5 - compare(1.2.3-1, =1.2.3-1) object
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=1.777ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1 v 1.2.3-1
            ok 2 - v 1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - v 1.2.3-1 v 1.2.3-1
            ok 5 - compare(1.2.3-1, v 1.2.3-1) object
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.412ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1 = 1.2.3-1
            ok 2 - = 1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - = 1.2.3-1 = 1.2.3-1
            ok 5 - compare(1.2.3-1, = 1.2.3-1) object
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=1.435ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1  v1.2.3-1
            ok 2 - v1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - v1.2.3-1  v1.2.3-1
            ok 5 - compare(1.2.3-1,  v1.2.3-1) object
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=1.439ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1  =1.2.3-1
            ok 2 - =1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - =1.2.3-1  =1.2.3-1
            ok 5 - compare(1.2.3-1,  =1.2.3-1) object
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=1.425ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1  v 1.2.3-1
            ok 2 - v 1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - v 1.2.3-1  v 1.2.3-1
            ok 5 - compare(1.2.3-1,  v 1.2.3-1) object
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=1.441ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..5
            ok 1 - 1.2.3-1  = 1.2.3-1
            ok 2 - = 1.2.3-1 1.2.3-1
            ok 3 - 1.2.3-1 1.2.3-1
            ok 4 - = 1.2.3-1  = 1.2.3-1
            ok 5 - compare(1.2.3-1,  = 1.2.3-1) object
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=1.428ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta v1.2.3-beta
            ok 2 - v1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - v1.2.3-beta v1.2.3-beta
            ok 5 - compare(1.2.3-beta, v1.2.3-beta) object
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=1.441ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta =1.2.3-beta
            ok 2 - =1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - =1.2.3-beta =1.2.3-beta
            ok 5 - compare(1.2.3-beta, =1.2.3-beta) object
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=1.907ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta v 1.2.3-beta
            ok 2 - v 1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - v 1.2.3-beta v 1.2.3-beta
            ok 5 - compare(1.2.3-beta, v 1.2.3-beta) object
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.418ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta = 1.2.3-beta
            ok 2 - = 1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - = 1.2.3-beta = 1.2.3-beta
            ok 5 - compare(1.2.3-beta, = 1.2.3-beta) object
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=1.402ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta  v1.2.3-beta
            ok 2 - v1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - v1.2.3-beta  v1.2.3-beta
            ok 5 - compare(1.2.3-beta,  v1.2.3-beta) object
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=1.4ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta  =1.2.3-beta
            ok 2 - =1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - =1.2.3-beta  =1.2.3-beta
            ok 5 - compare(1.2.3-beta,  =1.2.3-beta) object
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=1.369ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta  v 1.2.3-beta
            ok 2 - v 1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - v 1.2.3-beta  v 1.2.3-beta
            ok 5 - compare(1.2.3-beta,  v 1.2.3-beta) object
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=1.374ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..5
            ok 1 - 1.2.3-beta  = 1.2.3-beta
            ok 2 - = 1.2.3-beta 1.2.3-beta
            ok 3 - 1.2.3-beta 1.2.3-beta
            ok 4 - = 1.2.3-beta  = 1.2.3-beta
            ok 5 - compare(1.2.3-beta,  = 1.2.3-beta) object
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=1.406ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..5
            ok 1 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild
            ok 2 - = 1.2.3-beta+otherbuild 1.2.3-beta+build
            ok 3 - 1.2.3-beta+build 1.2.3-beta+build
            ok 4 - = 1.2.3-beta+otherbuild  = 1.2.3-beta+otherbuild
            ok 5 - compare(1.2.3-beta+build,  = 1.2.3-beta+otherbuild) object
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=1.419ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..5
            ok 1 - 1.2.3+build  = 1.2.3+otherbuild
            ok 2 - = 1.2.3+otherbuild 1.2.3+build
            ok 3 - 1.2.3+build 1.2.3+build
            ok 4 - = 1.2.3+otherbuild  = 1.2.3+otherbuild
            ok 5 - compare(1.2.3+build,  = 1.2.3+otherbuild) object
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=1.36ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..5
            ok 1 - 1.2.3-beta+build 1.2.3-beta+otherbuild
            ok 2 - 1.2.3-beta+otherbuild 1.2.3-beta+build
            ok 3 - 1.2.3-beta+build 1.2.3-beta+build
            ok 4 - 1.2.3-beta+otherbuild 1.2.3-beta+otherbuild
            ok 5 - compare(1.2.3-beta+build, 1.2.3-beta+otherbuild) object
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=1.412ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..5
            ok 1 - 1.2.3+build 1.2.3+otherbuild
            ok 2 - 1.2.3+otherbuild 1.2.3+build
            ok 3 - 1.2.3+build 1.2.3+build
            ok 4 - 1.2.3+otherbuild 1.2.3+otherbuild
            ok 5 - compare(1.2.3+build, 1.2.3+otherbuild) object
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=1.376ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..5
            ok 1 - v1.2.3+build 1.2.3+otherbuild
            ok 2 - 1.2.3+otherbuild   v1.2.3+build
            ok 3 - v1.2.3+build   v1.2.3+build
            ok 4 - 1.2.3+otherbuild 1.2.3+otherbuild
            ok 5 - compare(  v1.2.3+build, 1.2.3+otherbuild) object
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=1.379ms
        
    ok 2 - equality tests # time=242.273ms
    
    1..2
    # time=492.071ms
ok 13 - test/functions/compare.js # time=492.071ms

# Subtest: test/functions/diff.js
    # Subtest: diff versions test
        ok 1 - diff(1.2.3, 0.2.3) === major
        ok 2 - diff(1.4.5, 0.2.3) === major
        ok 3 - diff(1.2.3, 2.0.0-pre) === premajor
        ok 4 - diff(1.2.3, 1.3.3) === minor
        ok 5 - diff(1.0.1, 1.1.0-pre) === preminor
        ok 6 - diff(1.2.3, 1.2.4) === patch
        ok 7 - diff(1.2.3, 1.2.4-pre) === prepatch
        ok 8 - diff(0.0.1, 0.0.1-pre) === prerelease
        ok 9 - diff(0.0.1, 0.0.1-pre-2) === prerelease
        ok 10 - diff(1.1.0, 1.1.0-pre) === prerelease
        ok 11 - diff(1.1.0-pre-1, 1.1.0-pre-2) === prerelease
        ok 12 - diff(1.0.0, 1.0.0) === null
        1..12
    ok 1 - diff versions test # time=7.567ms
    
    1..1
    # time=12.255ms
ok 14 - test/functions/diff.js # time=12.255ms

# Subtest: test/functions/eq.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - !eq(0.0.0, 0.0.0-foo)
            ok 2 - !eq(0.0.0-foo, 0.0.0)
            ok 3 - eq('0.0.0-foo', '0.0.0-foo')
            ok 4 - eq('0.0.0', '0.0.0')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.953ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - !eq(0.0.1, 0.0.0)
            ok 2 - !eq(0.0.0, 0.0.1)
            ok 3 - eq('0.0.0', '0.0.0')
            ok 4 - eq('0.0.1', '0.0.1')
        ok 2 - 0.0.1 0.0.0 undefined # time=1.818ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - !eq(1.0.0, 0.9.9)
            ok 2 - !eq(0.9.9, 1.0.0)
            ok 3 - eq('0.9.9', '0.9.9')
            ok 4 - eq('1.0.0', '1.0.0')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.606ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - !eq(0.10.0, 0.9.0)
            ok 2 - !eq(0.9.0, 0.10.0)
            ok 3 - eq('0.9.0', '0.9.0')
            ok 4 - eq('0.10.0', '0.10.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.572ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - !eq(0.99.0, 0.10.0)
            ok 2 - !eq(0.10.0, 0.99.0)
            ok 3 - eq('0.10.0', '0.10.0')
            ok 4 - eq('0.99.0', '0.99.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.531ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - !eq(2.0.0, 1.2.3)
            ok 2 - !eq(1.2.3, 2.0.0)
            ok 3 - eq('1.2.3', '1.2.3')
            ok 4 - eq('2.0.0', '2.0.0')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.459ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - !eq(v0.0.0, 0.0.0-foo)
            ok 2 - !eq(0.0.0-foo, v0.0.0)
            ok 3 - eq('0.0.0-foo', '0.0.0-foo')
            ok 4 - eq('v0.0.0', 'v0.0.0')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.769ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - !eq(v0.0.1, 0.0.0)
            ok 2 - !eq(0.0.0, v0.0.1)
            ok 3 - eq('0.0.0', '0.0.0')
            ok 4 - eq('v0.0.1', 'v0.0.1')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.478ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - !eq(v1.0.0, 0.9.9)
            ok 2 - !eq(0.9.9, v1.0.0)
            ok 3 - eq('0.9.9', '0.9.9')
            ok 4 - eq('v1.0.0', 'v1.0.0')
        ok 9 - v1.0.0 0.9.9 true # time=1.461ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - !eq(v0.10.0, 0.9.0)
            ok 2 - !eq(0.9.0, v0.10.0)
            ok 3 - eq('0.9.0', '0.9.0')
            ok 4 - eq('v0.10.0', 'v0.10.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.469ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - !eq(v0.99.0, 0.10.0)
            ok 2 - !eq(0.10.0, v0.99.0)
            ok 3 - eq('0.10.0', '0.10.0')
            ok 4 - eq('v0.99.0', 'v0.99.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.496ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - !eq(v2.0.0, 1.2.3)
            ok 2 - !eq(1.2.3, v2.0.0)
            ok 3 - eq('1.2.3', '1.2.3')
            ok 4 - eq('v2.0.0', 'v2.0.0')
        ok 12 - v2.0.0 1.2.3 true # time=1.619ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - !eq(0.0.0, v0.0.0-foo)
            ok 2 - !eq(v0.0.0-foo, 0.0.0)
            ok 3 - eq('v0.0.0-foo', 'v0.0.0-foo')
            ok 4 - eq('0.0.0', '0.0.0')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.525ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - !eq(0.0.1, v0.0.0)
            ok 2 - !eq(v0.0.0, 0.0.1)
            ok 3 - eq('v0.0.0', 'v0.0.0')
            ok 4 - eq('0.0.1', '0.0.1')
        ok 14 - 0.0.1 v0.0.0 true # time=1.472ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - !eq(1.0.0, v0.9.9)
            ok 2 - !eq(v0.9.9, 1.0.0)
            ok 3 - eq('v0.9.9', 'v0.9.9')
            ok 4 - eq('1.0.0', '1.0.0')
        ok 15 - 1.0.0 v0.9.9 true # time=1.445ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - !eq(0.10.0, v0.9.0)
            ok 2 - !eq(v0.9.0, 0.10.0)
            ok 3 - eq('v0.9.0', 'v0.9.0')
            ok 4 - eq('0.10.0', '0.10.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.452ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - !eq(0.99.0, v0.10.0)
            ok 2 - !eq(v0.10.0, 0.99.0)
            ok 3 - eq('v0.10.0', 'v0.10.0')
            ok 4 - eq('0.99.0', '0.99.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.453ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - !eq(2.0.0, v1.2.3)
            ok 2 - !eq(v1.2.3, 2.0.0)
            ok 3 - eq('v1.2.3', 'v1.2.3')
            ok 4 - eq('2.0.0', '2.0.0')
        ok 18 - 2.0.0 v1.2.3 true # time=1.462ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - !eq(1.2.3, 1.2.3-asdf)
            ok 2 - !eq(1.2.3-asdf, 1.2.3)
            ok 3 - eq('1.2.3-asdf', '1.2.3-asdf')
            ok 4 - eq('1.2.3', '1.2.3')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.536ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - !eq(1.2.3, 1.2.3-4)
            ok 2 - !eq(1.2.3-4, 1.2.3)
            ok 3 - eq('1.2.3-4', '1.2.3-4')
            ok 4 - eq('1.2.3', '1.2.3')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.495ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - !eq(1.2.3, 1.2.3-4-foo)
            ok 2 - !eq(1.2.3-4-foo, 1.2.3)
            ok 3 - eq('1.2.3-4-foo', '1.2.3-4-foo')
            ok 4 - eq('1.2.3', '1.2.3')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.47ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - !eq(1.2.3-5-foo, 1.2.3-5)
            ok 2 - !eq(1.2.3-5, 1.2.3-5-foo)
            ok 3 - eq('1.2.3-5', '1.2.3-5')
            ok 4 - eq('1.2.3-5-foo', '1.2.3-5-foo')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.576ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - !eq(1.2.3-5, 1.2.3-4)
            ok 2 - !eq(1.2.3-4, 1.2.3-5)
            ok 3 - eq('1.2.3-4', '1.2.3-4')
            ok 4 - eq('1.2.3-5', '1.2.3-5')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.503ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - !eq(1.2.3-5-foo, 1.2.3-5-Foo)
            ok 2 - !eq(1.2.3-5-Foo, 1.2.3-5-foo)
            ok 3 - eq('1.2.3-5-Foo', '1.2.3-5-Foo')
            ok 4 - eq('1.2.3-5-foo', '1.2.3-5-foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.552ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - !eq(3.0.0, 2.7.2+asdf)
            ok 2 - !eq(2.7.2+asdf, 3.0.0)
            ok 3 - eq('2.7.2+asdf', '2.7.2+asdf')
            ok 4 - eq('3.0.0', '3.0.0')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.466ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - !eq(1.2.3-a.10, 1.2.3-a.5)
            ok 2 - !eq(1.2.3-a.5, 1.2.3-a.10)
            ok 3 - eq('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - eq('1.2.3-a.10', '1.2.3-a.10')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.507ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - !eq(1.2.3-a.b, 1.2.3-a.5)
            ok 2 - !eq(1.2.3-a.5, 1.2.3-a.b)
            ok 3 - eq('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - eq('1.2.3-a.b', '1.2.3-a.b')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.377ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - !eq(1.2.3-a.b, 1.2.3-a)
            ok 2 - !eq(1.2.3-a, 1.2.3-a.b)
            ok 3 - eq('1.2.3-a', '1.2.3-a')
            ok 4 - eq('1.2.3-a.b', '1.2.3-a.b')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.318ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - !eq(1.2.3-a.b.c.10.d.5, 1.2.3-a.b.c.5.d.100)
            ok 2 - !eq(1.2.3-a.b.c.5.d.100, 1.2.3-a.b.c.10.d.5)
            ok 3 - eq('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
            ok 4 - eq('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.323ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - !eq(1.2.3-r2, 1.2.3-r100)
            ok 2 - !eq(1.2.3-r100, 1.2.3-r2)
            ok 3 - eq('1.2.3-r100', '1.2.3-r100')
            ok 4 - eq('1.2.3-r2', '1.2.3-r2')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.312ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - !eq(1.2.3-r100, 1.2.3-R2)
            ok 2 - !eq(1.2.3-R2, 1.2.3-r100)
            ok 3 - eq('1.2.3-R2', '1.2.3-R2')
            ok 4 - eq('1.2.3-r100', '1.2.3-r100')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.292ms
        
    ok 1 - comparison tests # time=240.426ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..4
            ok 1 - eq(1.2.3, v1.2.3)
            ok 2 - eq(v1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq(v1.2.3, v1.2.3)
        ok 1 - 1.2.3 v1.2.3 true # time=1.383ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..4
            ok 1 - eq(1.2.3, =1.2.3)
            ok 2 - eq(=1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq(=1.2.3, =1.2.3)
        ok 2 - 1.2.3 =1.2.3 true # time=1.29ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..4
            ok 1 - eq(1.2.3, v 1.2.3)
            ok 2 - eq(v 1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq(v 1.2.3, v 1.2.3)
        ok 3 - 1.2.3 v 1.2.3 true # time=1.27ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..4
            ok 1 - eq(1.2.3, = 1.2.3)
            ok 2 - eq(= 1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq(= 1.2.3, = 1.2.3)
        ok 4 - 1.2.3 = 1.2.3 true # time=1.266ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..4
            ok 1 - eq(1.2.3,  v1.2.3)
            ok 2 - eq( v1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq( v1.2.3,  v1.2.3)
        ok 5 - 1.2.3  v1.2.3 true # time=1.263ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..4
            ok 1 - eq(1.2.3,  =1.2.3)
            ok 2 - eq( =1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq( =1.2.3,  =1.2.3)
        ok 6 - 1.2.3  =1.2.3 true # time=1.266ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..4
            ok 1 - eq(1.2.3,  v 1.2.3)
            ok 2 - eq( v 1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq( v 1.2.3,  v 1.2.3)
        ok 7 - 1.2.3  v 1.2.3 true # time=1.262ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..4
            ok 1 - eq(1.2.3,  = 1.2.3)
            ok 2 - eq( = 1.2.3, 1.2.3)
            ok 3 - eq(1.2.3, 1.2.3)
            ok 4 - eq( = 1.2.3,  = 1.2.3)
        ok 8 - 1.2.3  = 1.2.3 true # time=1.262ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0, v1.2.3-0)
            ok 2 - eq(v1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq(v1.2.3-0, v1.2.3-0)
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=1.314ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0, =1.2.3-0)
            ok 2 - eq(=1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq(=1.2.3-0, =1.2.3-0)
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=1.329ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0, v 1.2.3-0)
            ok 2 - eq(v 1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq(v 1.2.3-0, v 1.2.3-0)
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=1.303ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0, = 1.2.3-0)
            ok 2 - eq(= 1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq(= 1.2.3-0, = 1.2.3-0)
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=1.279ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0,  v1.2.3-0)
            ok 2 - eq( v1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq( v1.2.3-0,  v1.2.3-0)
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=1.871ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0,  =1.2.3-0)
            ok 2 - eq( =1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq( =1.2.3-0,  =1.2.3-0)
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=1.268ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0,  v 1.2.3-0)
            ok 2 - eq( v 1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq( v 1.2.3-0,  v 1.2.3-0)
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=1.257ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..4
            ok 1 - eq(1.2.3-0,  = 1.2.3-0)
            ok 2 - eq( = 1.2.3-0, 1.2.3-0)
            ok 3 - eq(1.2.3-0, 1.2.3-0)
            ok 4 - eq( = 1.2.3-0,  = 1.2.3-0)
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=1.293ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1, v1.2.3-1)
            ok 2 - eq(v1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq(v1.2.3-1, v1.2.3-1)
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=1.237ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1, =1.2.3-1)
            ok 2 - eq(=1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq(=1.2.3-1, =1.2.3-1)
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=1.24ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1, v 1.2.3-1)
            ok 2 - eq(v 1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq(v 1.2.3-1, v 1.2.3-1)
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.259ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1, = 1.2.3-1)
            ok 2 - eq(= 1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq(= 1.2.3-1, = 1.2.3-1)
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=1.531ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1,  v1.2.3-1)
            ok 2 - eq( v1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq( v1.2.3-1,  v1.2.3-1)
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=1.292ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1,  =1.2.3-1)
            ok 2 - eq( =1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq( =1.2.3-1,  =1.2.3-1)
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=1.236ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1,  v 1.2.3-1)
            ok 2 - eq( v 1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq( v 1.2.3-1,  v 1.2.3-1)
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=1.226ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..4
            ok 1 - eq(1.2.3-1,  = 1.2.3-1)
            ok 2 - eq( = 1.2.3-1, 1.2.3-1)
            ok 3 - eq(1.2.3-1, 1.2.3-1)
            ok 4 - eq( = 1.2.3-1,  = 1.2.3-1)
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=1.25ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta, v1.2.3-beta)
            ok 2 - eq(v1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq(v1.2.3-beta, v1.2.3-beta)
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=1.236ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta, =1.2.3-beta)
            ok 2 - eq(=1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq(=1.2.3-beta, =1.2.3-beta)
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=1.216ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta, v 1.2.3-beta)
            ok 2 - eq(v 1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq(v 1.2.3-beta, v 1.2.3-beta)
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.279ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta, = 1.2.3-beta)
            ok 2 - eq(= 1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq(= 1.2.3-beta, = 1.2.3-beta)
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=1.226ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta,  v1.2.3-beta)
            ok 2 - eq( v1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq( v1.2.3-beta,  v1.2.3-beta)
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=1.21ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta,  =1.2.3-beta)
            ok 2 - eq( =1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq( =1.2.3-beta,  =1.2.3-beta)
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=1.197ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta,  v 1.2.3-beta)
            ok 2 - eq( v 1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq( v 1.2.3-beta,  v 1.2.3-beta)
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=1.185ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..4
            ok 1 - eq(1.2.3-beta,  = 1.2.3-beta)
            ok 2 - eq( = 1.2.3-beta, 1.2.3-beta)
            ok 3 - eq(1.2.3-beta, 1.2.3-beta)
            ok 4 - eq( = 1.2.3-beta,  = 1.2.3-beta)
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=1.183ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..4
            ok 1 - eq(1.2.3-beta+build,  = 1.2.3-beta+otherbuild)
            ok 2 - eq( = 1.2.3-beta+otherbuild, 1.2.3-beta+build)
            ok 3 - eq(1.2.3-beta+build, 1.2.3-beta+build)
            ok 4 - eq( = 1.2.3-beta+otherbuild,  = 1.2.3-beta+otherbuild)
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=1.215ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..4
            ok 1 - eq(1.2.3+build,  = 1.2.3+otherbuild)
            ok 2 - eq( = 1.2.3+otherbuild, 1.2.3+build)
            ok 3 - eq(1.2.3+build, 1.2.3+build)
            ok 4 - eq( = 1.2.3+otherbuild,  = 1.2.3+otherbuild)
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=1.175ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..4
            ok 1 - eq(1.2.3-beta+build, 1.2.3-beta+otherbuild)
            ok 2 - eq(1.2.3-beta+otherbuild, 1.2.3-beta+build)
            ok 3 - eq(1.2.3-beta+build, 1.2.3-beta+build)
            ok 4 - eq(1.2.3-beta+otherbuild, 1.2.3-beta+otherbuild)
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=1.184ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..4
            ok 1 - eq(1.2.3+build, 1.2.3+otherbuild)
            ok 2 - eq(1.2.3+otherbuild, 1.2.3+build)
            ok 3 - eq(1.2.3+build, 1.2.3+build)
            ok 4 - eq(1.2.3+otherbuild, 1.2.3+otherbuild)
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=1.184ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..4
            ok 1 - eq(  v1.2.3+build, 1.2.3+otherbuild)
            ok 2 - eq(1.2.3+otherbuild,   v1.2.3+build)
            ok 3 - eq(  v1.2.3+build,   v1.2.3+build)
            ok 4 - eq(1.2.3+otherbuild, 1.2.3+otherbuild)
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=1.177ms
        
    ok 2 - equality tests # time=238.414ms
    
    1..2
    # time=487.053ms
ok 15 - test/functions/eq.js # time=487.053ms

# Subtest: test/functions/gt.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - gt('0.0.0', '0.0.0-foo')
            ok 2 - !gt('0.0.0-foo', '0.0.0')
            ok 3 - !gt('0.0.0-foo', '0.0.0-foo')
            ok 4 - !gt('0.0.0', '0.0.0')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=5.002ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - gt('0.0.1', '0.0.0')
            ok 2 - !gt('0.0.0', '0.0.1')
            ok 3 - !gt('0.0.0', '0.0.0')
            ok 4 - !gt('0.0.1', '0.0.1')
        ok 2 - 0.0.1 0.0.0 undefined # time=1.803ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - gt('1.0.0', '0.9.9')
            ok 2 - !gt('0.9.9', '1.0.0')
            ok 3 - !gt('0.9.9', '0.9.9')
            ok 4 - !gt('1.0.0', '1.0.0')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.599ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - gt('0.10.0', '0.9.0')
            ok 2 - !gt('0.9.0', '0.10.0')
            ok 3 - !gt('0.9.0', '0.9.0')
            ok 4 - !gt('0.10.0', '0.10.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.572ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - gt('0.99.0', '0.10.0')
            ok 2 - !gt('0.10.0', '0.99.0')
            ok 3 - !gt('0.10.0', '0.10.0')
            ok 4 - !gt('0.99.0', '0.99.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.551ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - gt('2.0.0', '1.2.3')
            ok 2 - !gt('1.2.3', '2.0.0')
            ok 3 - !gt('1.2.3', '1.2.3')
            ok 4 - !gt('2.0.0', '2.0.0')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.478ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - gt('v0.0.0', '0.0.0-foo')
            ok 2 - !gt('0.0.0-foo', 'v0.0.0')
            ok 3 - !gt('0.0.0-foo', '0.0.0-foo')
            ok 4 - !gt('v0.0.0', 'v0.0.0')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.785ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - gt('v0.0.1', '0.0.0')
            ok 2 - !gt('0.0.0', 'v0.0.1')
            ok 3 - !gt('0.0.0', '0.0.0')
            ok 4 - !gt('v0.0.1', 'v0.0.1')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.46ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - gt('v1.0.0', '0.9.9')
            ok 2 - !gt('0.9.9', 'v1.0.0')
            ok 3 - !gt('0.9.9', '0.9.9')
            ok 4 - !gt('v1.0.0', 'v1.0.0')
        ok 9 - v1.0.0 0.9.9 true # time=1.448ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - gt('v0.10.0', '0.9.0')
            ok 2 - !gt('0.9.0', 'v0.10.0')
            ok 3 - !gt('0.9.0', '0.9.0')
            ok 4 - !gt('v0.10.0', 'v0.10.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.466ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - gt('v0.99.0', '0.10.0')
            ok 2 - !gt('0.10.0', 'v0.99.0')
            ok 3 - !gt('0.10.0', '0.10.0')
            ok 4 - !gt('v0.99.0', 'v0.99.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.531ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - gt('v2.0.0', '1.2.3')
            ok 2 - !gt('1.2.3', 'v2.0.0')
            ok 3 - !gt('1.2.3', '1.2.3')
            ok 4 - !gt('v2.0.0', 'v2.0.0')
        ok 12 - v2.0.0 1.2.3 true # time=1.581ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - gt('0.0.0', 'v0.0.0-foo')
            ok 2 - !gt('v0.0.0-foo', '0.0.0')
            ok 3 - !gt('v0.0.0-foo', 'v0.0.0-foo')
            ok 4 - !gt('0.0.0', '0.0.0')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.483ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - gt('0.0.1', 'v0.0.0')
            ok 2 - !gt('v0.0.0', '0.0.1')
            ok 3 - !gt('v0.0.0', 'v0.0.0')
            ok 4 - !gt('0.0.1', '0.0.1')
        ok 14 - 0.0.1 v0.0.0 true # time=1.462ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - gt('1.0.0', 'v0.9.9')
            ok 2 - !gt('v0.9.9', '1.0.0')
            ok 3 - !gt('v0.9.9', 'v0.9.9')
            ok 4 - !gt('1.0.0', '1.0.0')
        ok 15 - 1.0.0 v0.9.9 true # time=1.45ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - gt('0.10.0', 'v0.9.0')
            ok 2 - !gt('v0.9.0', '0.10.0')
            ok 3 - !gt('v0.9.0', 'v0.9.0')
            ok 4 - !gt('0.10.0', '0.10.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.449ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - gt('0.99.0', 'v0.10.0')
            ok 2 - !gt('v0.10.0', '0.99.0')
            ok 3 - !gt('v0.10.0', 'v0.10.0')
            ok 4 - !gt('0.99.0', '0.99.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.471ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - gt('2.0.0', 'v1.2.3')
            ok 2 - !gt('v1.2.3', '2.0.0')
            ok 3 - !gt('v1.2.3', 'v1.2.3')
            ok 4 - !gt('2.0.0', '2.0.0')
        ok 18 - 2.0.0 v1.2.3 true # time=1.486ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - gt('1.2.3', '1.2.3-asdf')
            ok 2 - !gt('1.2.3-asdf', '1.2.3')
            ok 3 - !gt('1.2.3-asdf', '1.2.3-asdf')
            ok 4 - !gt('1.2.3', '1.2.3')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.568ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - gt('1.2.3', '1.2.3-4')
            ok 2 - !gt('1.2.3-4', '1.2.3')
            ok 3 - !gt('1.2.3-4', '1.2.3-4')
            ok 4 - !gt('1.2.3', '1.2.3')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.499ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - gt('1.2.3', '1.2.3-4-foo')
            ok 2 - !gt('1.2.3-4-foo', '1.2.3')
            ok 3 - !gt('1.2.3-4-foo', '1.2.3-4-foo')
            ok 4 - !gt('1.2.3', '1.2.3')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.486ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - gt('1.2.3-5-foo', '1.2.3-5')
            ok 2 - !gt('1.2.3-5', '1.2.3-5-foo')
            ok 3 - !gt('1.2.3-5', '1.2.3-5')
            ok 4 - !gt('1.2.3-5-foo', '1.2.3-5-foo')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.547ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - gt('1.2.3-5', '1.2.3-4')
            ok 2 - !gt('1.2.3-4', '1.2.3-5')
            ok 3 - !gt('1.2.3-4', '1.2.3-4')
            ok 4 - !gt('1.2.3-5', '1.2.3-5')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.515ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - gt('1.2.3-5-foo', '1.2.3-5-Foo')
            ok 2 - !gt('1.2.3-5-Foo', '1.2.3-5-foo')
            ok 3 - !gt('1.2.3-5-Foo', '1.2.3-5-Foo')
            ok 4 - !gt('1.2.3-5-foo', '1.2.3-5-foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.619ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - gt('3.0.0', '2.7.2+asdf')
            ok 2 - !gt('2.7.2+asdf', '3.0.0')
            ok 3 - !gt('2.7.2+asdf', '2.7.2+asdf')
            ok 4 - !gt('3.0.0', '3.0.0')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.467ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - gt('1.2.3-a.10', '1.2.3-a.5')
            ok 2 - !gt('1.2.3-a.5', '1.2.3-a.10')
            ok 3 - !gt('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - !gt('1.2.3-a.10', '1.2.3-a.10')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.387ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - gt('1.2.3-a.b', '1.2.3-a.5')
            ok 2 - !gt('1.2.3-a.5', '1.2.3-a.b')
            ok 3 - !gt('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - !gt('1.2.3-a.b', '1.2.3-a.b')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.314ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - gt('1.2.3-a.b', '1.2.3-a')
            ok 2 - !gt('1.2.3-a', '1.2.3-a.b')
            ok 3 - !gt('1.2.3-a', '1.2.3-a')
            ok 4 - !gt('1.2.3-a.b', '1.2.3-a.b')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.318ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - gt('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100')
            ok 2 - !gt('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.10.d.5')
            ok 3 - !gt('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
            ok 4 - !gt('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.35ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - gt('1.2.3-r2', '1.2.3-r100')
            ok 2 - !gt('1.2.3-r100', '1.2.3-r2')
            ok 3 - !gt('1.2.3-r100', '1.2.3-r100')
            ok 4 - !gt('1.2.3-r2', '1.2.3-r2')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.34ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - gt('1.2.3-r100', '1.2.3-R2')
            ok 2 - !gt('1.2.3-R2', '1.2.3-r100')
            ok 3 - !gt('1.2.3-R2', '1.2.3-R2')
            ok 4 - !gt('1.2.3-r100', '1.2.3-r100')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.299ms
        
    ok 1 - comparison tests # time=237.811ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..2
            ok 1 - !gt(1.2.3, v1.2.3)
            ok 2 - !gt(v1.2.3, 1.2.3)
        ok 1 - 1.2.3 v1.2.3 true # time=0.972ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..2
            ok 1 - !gt(1.2.3, =1.2.3)
            ok 2 - !gt(=1.2.3, 1.2.3)
        ok 2 - 1.2.3 =1.2.3 true # time=0.875ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..2
            ok 1 - !gt(1.2.3, v 1.2.3)
            ok 2 - !gt(v 1.2.3, 1.2.3)
        ok 3 - 1.2.3 v 1.2.3 true # time=0.866ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..2
            ok 1 - !gt(1.2.3, = 1.2.3)
            ok 2 - !gt(= 1.2.3, 1.2.3)
        ok 4 - 1.2.3 = 1.2.3 true # time=0.889ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..2
            ok 1 - !gt(1.2.3,  v1.2.3)
            ok 2 - !gt( v1.2.3, 1.2.3)
        ok 5 - 1.2.3  v1.2.3 true # time=0.874ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..2
            ok 1 - !gt(1.2.3,  =1.2.3)
            ok 2 - !gt( =1.2.3, 1.2.3)
        ok 6 - 1.2.3  =1.2.3 true # time=0.892ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..2
            ok 1 - !gt(1.2.3,  v 1.2.3)
            ok 2 - !gt( v 1.2.3, 1.2.3)
        ok 7 - 1.2.3  v 1.2.3 true # time=0.883ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..2
            ok 1 - !gt(1.2.3,  = 1.2.3)
            ok 2 - !gt( = 1.2.3, 1.2.3)
        ok 8 - 1.2.3  = 1.2.3 true # time=0.886ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0, v1.2.3-0)
            ok 2 - !gt(v1.2.3-0, 1.2.3-0)
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=0.908ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0, =1.2.3-0)
            ok 2 - !gt(=1.2.3-0, 1.2.3-0)
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=0.872ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0, v 1.2.3-0)
            ok 2 - !gt(v 1.2.3-0, 1.2.3-0)
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=0.869ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0, = 1.2.3-0)
            ok 2 - !gt(= 1.2.3-0, 1.2.3-0)
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=0.88ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0,  v1.2.3-0)
            ok 2 - !gt( v1.2.3-0, 1.2.3-0)
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=0.9ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0,  =1.2.3-0)
            ok 2 - !gt( =1.2.3-0, 1.2.3-0)
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=0.889ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0,  v 1.2.3-0)
            ok 2 - !gt( v 1.2.3-0, 1.2.3-0)
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=0.864ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..2
            ok 1 - !gt(1.2.3-0,  = 1.2.3-0)
            ok 2 - !gt( = 1.2.3-0, 1.2.3-0)
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=0.887ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1, v1.2.3-1)
            ok 2 - !gt(v1.2.3-1, 1.2.3-1)
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=0.913ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1, =1.2.3-1)
            ok 2 - !gt(=1.2.3-1, 1.2.3-1)
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=0.878ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1, v 1.2.3-1)
            ok 2 - !gt(v 1.2.3-1, 1.2.3-1)
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.461ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1, = 1.2.3-1)
            ok 2 - !gt(= 1.2.3-1, 1.2.3-1)
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=0.859ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1,  v1.2.3-1)
            ok 2 - !gt( v1.2.3-1, 1.2.3-1)
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=0.849ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1,  =1.2.3-1)
            ok 2 - !gt( =1.2.3-1, 1.2.3-1)
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=0.856ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1,  v 1.2.3-1)
            ok 2 - !gt( v 1.2.3-1, 1.2.3-1)
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=0.851ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..2
            ok 1 - !gt(1.2.3-1,  = 1.2.3-1)
            ok 2 - !gt( = 1.2.3-1, 1.2.3-1)
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=0.836ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta, v1.2.3-beta)
            ok 2 - !gt(v1.2.3-beta, 1.2.3-beta)
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=0.842ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta, =1.2.3-beta)
            ok 2 - !gt(=1.2.3-beta, 1.2.3-beta)
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=0.853ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta, v 1.2.3-beta)
            ok 2 - !gt(v 1.2.3-beta, 1.2.3-beta)
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.088ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta, = 1.2.3-beta)
            ok 2 - !gt(= 1.2.3-beta, 1.2.3-beta)
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=0.861ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta,  v1.2.3-beta)
            ok 2 - !gt( v1.2.3-beta, 1.2.3-beta)
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=0.834ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta,  =1.2.3-beta)
            ok 2 - !gt( =1.2.3-beta, 1.2.3-beta)
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=0.842ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta,  v 1.2.3-beta)
            ok 2 - !gt( v 1.2.3-beta, 1.2.3-beta)
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=0.831ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..2
            ok 1 - !gt(1.2.3-beta,  = 1.2.3-beta)
            ok 2 - !gt( = 1.2.3-beta, 1.2.3-beta)
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=0.863ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..2
            ok 1 - !gt(1.2.3-beta+build,  = 1.2.3-beta+otherbuild)
            ok 2 - !gt( = 1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=0.853ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..2
            ok 1 - !gt(1.2.3+build,  = 1.2.3+otherbuild)
            ok 2 - !gt( = 1.2.3+otherbuild, 1.2.3+build)
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=0.844ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..2
            ok 1 - !gt(1.2.3-beta+build, 1.2.3-beta+otherbuild)
            ok 2 - !gt(1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=0.841ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - !gt(1.2.3+build, 1.2.3+otherbuild)
            ok 2 - !gt(1.2.3+otherbuild, 1.2.3+build)
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=0.831ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - !gt(  v1.2.3+build, 1.2.3+otherbuild)
            ok 2 - !gt(1.2.3+otherbuild,   v1.2.3+build)
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=0.842ms
        
    ok 2 - equality tests # time=219.292ms
    
    1..2
    # time=465.218ms
ok 16 - test/functions/gt.js # time=465.218ms

# Subtest: test/functions/gte.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - gte('0.0.0', '0.0.0-foo')
            ok 2 - !gte('0.0.0-foo', '0.0.0')
            ok 3 - gte('0.0.0-foo', '0.0.0-foo')
            ok 4 - gte('0.0.0', '0.0.0')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.89ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - gte('0.0.1', '0.0.0')
            ok 2 - !gte('0.0.0', '0.0.1')
            ok 3 - gte('0.0.0', '0.0.0')
            ok 4 - gte('0.0.1', '0.0.1')
        ok 2 - 0.0.1 0.0.0 undefined # time=1.774ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - gte('1.0.0', '0.9.9')
            ok 2 - !gte('0.9.9', '1.0.0')
            ok 3 - gte('0.9.9', '0.9.9')
            ok 4 - gte('1.0.0', '1.0.0')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.598ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - gte('0.10.0', '0.9.0')
            ok 2 - !gte('0.9.0', '0.10.0')
            ok 3 - gte('0.9.0', '0.9.0')
            ok 4 - gte('0.10.0', '0.10.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.545ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - gte('0.99.0', '0.10.0')
            ok 2 - !gte('0.10.0', '0.99.0')
            ok 3 - gte('0.10.0', '0.10.0')
            ok 4 - gte('0.99.0', '0.99.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.527ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - gte('2.0.0', '1.2.3')
            ok 2 - !gte('1.2.3', '2.0.0')
            ok 3 - gte('1.2.3', '1.2.3')
            ok 4 - gte('2.0.0', '2.0.0')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.464ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - gte('v0.0.0', '0.0.0-foo')
            ok 2 - !gte('0.0.0-foo', 'v0.0.0')
            ok 3 - gte('0.0.0-foo', '0.0.0-foo')
            ok 4 - gte('v0.0.0', 'v0.0.0')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.743ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - gte('v0.0.1', '0.0.0')
            ok 2 - !gte('0.0.0', 'v0.0.1')
            ok 3 - gte('0.0.0', '0.0.0')
            ok 4 - gte('v0.0.1', 'v0.0.1')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.455ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - gte('v1.0.0', '0.9.9')
            ok 2 - !gte('0.9.9', 'v1.0.0')
            ok 3 - gte('0.9.9', '0.9.9')
            ok 4 - gte('v1.0.0', 'v1.0.0')
        ok 9 - v1.0.0 0.9.9 true # time=1.447ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - gte('v0.10.0', '0.9.0')
            ok 2 - !gte('0.9.0', 'v0.10.0')
            ok 3 - gte('0.9.0', '0.9.0')
            ok 4 - gte('v0.10.0', 'v0.10.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.482ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - gte('v0.99.0', '0.10.0')
            ok 2 - !gte('0.10.0', 'v0.99.0')
            ok 3 - gte('0.10.0', '0.10.0')
            ok 4 - gte('v0.99.0', 'v0.99.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.484ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - gte('v2.0.0', '1.2.3')
            ok 2 - !gte('1.2.3', 'v2.0.0')
            ok 3 - gte('1.2.3', '1.2.3')
            ok 4 - gte('v2.0.0', 'v2.0.0')
        ok 12 - v2.0.0 1.2.3 true # time=1.638ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - gte('0.0.0', 'v0.0.0-foo')
            ok 2 - !gte('v0.0.0-foo', '0.0.0')
            ok 3 - gte('v0.0.0-foo', 'v0.0.0-foo')
            ok 4 - gte('0.0.0', '0.0.0')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.476ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - gte('0.0.1', 'v0.0.0')
            ok 2 - !gte('v0.0.0', '0.0.1')
            ok 3 - gte('v0.0.0', 'v0.0.0')
            ok 4 - gte('0.0.1', '0.0.1')
        ok 14 - 0.0.1 v0.0.0 true # time=1.481ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - gte('1.0.0', 'v0.9.9')
            ok 2 - !gte('v0.9.9', '1.0.0')
            ok 3 - gte('v0.9.9', 'v0.9.9')
            ok 4 - gte('1.0.0', '1.0.0')
        ok 15 - 1.0.0 v0.9.9 true # time=1.465ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - gte('0.10.0', 'v0.9.0')
            ok 2 - !gte('v0.9.0', '0.10.0')
            ok 3 - gte('v0.9.0', 'v0.9.0')
            ok 4 - gte('0.10.0', '0.10.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.469ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - gte('0.99.0', 'v0.10.0')
            ok 2 - !gte('v0.10.0', '0.99.0')
            ok 3 - gte('v0.10.0', 'v0.10.0')
            ok 4 - gte('0.99.0', '0.99.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.463ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - gte('2.0.0', 'v1.2.3')
            ok 2 - !gte('v1.2.3', '2.0.0')
            ok 3 - gte('v1.2.3', 'v1.2.3')
            ok 4 - gte('2.0.0', '2.0.0')
        ok 18 - 2.0.0 v1.2.3 true # time=1.448ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - gte('1.2.3', '1.2.3-asdf')
            ok 2 - !gte('1.2.3-asdf', '1.2.3')
            ok 3 - gte('1.2.3-asdf', '1.2.3-asdf')
            ok 4 - gte('1.2.3', '1.2.3')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.54ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - gte('1.2.3', '1.2.3-4')
            ok 2 - !gte('1.2.3-4', '1.2.3')
            ok 3 - gte('1.2.3-4', '1.2.3-4')
            ok 4 - gte('1.2.3', '1.2.3')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.484ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - gte('1.2.3', '1.2.3-4-foo')
            ok 2 - !gte('1.2.3-4-foo', '1.2.3')
            ok 3 - gte('1.2.3-4-foo', '1.2.3-4-foo')
            ok 4 - gte('1.2.3', '1.2.3')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.485ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - gte('1.2.3-5-foo', '1.2.3-5')
            ok 2 - !gte('1.2.3-5', '1.2.3-5-foo')
            ok 3 - gte('1.2.3-5', '1.2.3-5')
            ok 4 - gte('1.2.3-5-foo', '1.2.3-5-foo')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.569ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - gte('1.2.3-5', '1.2.3-4')
            ok 2 - !gte('1.2.3-4', '1.2.3-5')
            ok 3 - gte('1.2.3-4', '1.2.3-4')
            ok 4 - gte('1.2.3-5', '1.2.3-5')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.52ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - gte('1.2.3-5-foo', '1.2.3-5-Foo')
            ok 2 - !gte('1.2.3-5-Foo', '1.2.3-5-foo')
            ok 3 - gte('1.2.3-5-Foo', '1.2.3-5-Foo')
            ok 4 - gte('1.2.3-5-foo', '1.2.3-5-foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.604ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - gte('3.0.0', '2.7.2+asdf')
            ok 2 - !gte('2.7.2+asdf', '3.0.0')
            ok 3 - gte('2.7.2+asdf', '2.7.2+asdf')
            ok 4 - gte('3.0.0', '3.0.0')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.507ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - gte('1.2.3-a.10', '1.2.3-a.5')
            ok 2 - !gte('1.2.3-a.5', '1.2.3-a.10')
            ok 3 - gte('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - gte('1.2.3-a.10', '1.2.3-a.10')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.539ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - gte('1.2.3-a.b', '1.2.3-a.5')
            ok 2 - !gte('1.2.3-a.5', '1.2.3-a.b')
            ok 3 - gte('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - gte('1.2.3-a.b', '1.2.3-a.b')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.362ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - gte('1.2.3-a.b', '1.2.3-a')
            ok 2 - !gte('1.2.3-a', '1.2.3-a.b')
            ok 3 - gte('1.2.3-a', '1.2.3-a')
            ok 4 - gte('1.2.3-a.b', '1.2.3-a.b')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.339ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - gte('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100')
            ok 2 - !gte('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.10.d.5')
            ok 3 - gte('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
            ok 4 - gte('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.356ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - gte('1.2.3-r2', '1.2.3-r100')
            ok 2 - !gte('1.2.3-r100', '1.2.3-r2')
            ok 3 - gte('1.2.3-r100', '1.2.3-r100')
            ok 4 - gte('1.2.3-r2', '1.2.3-r2')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.316ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - gte('1.2.3-r100', '1.2.3-R2')
            ok 2 - !gte('1.2.3-R2', '1.2.3-r100')
            ok 3 - gte('1.2.3-R2', '1.2.3-R2')
            ok 4 - gte('1.2.3-r100', '1.2.3-r100')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.309ms
        
    ok 1 - comparison tests # time=238.199ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..2
            ok 1 - gte(1.2.3, v1.2.3)
            ok 2 - gte(v1.2.3, 1.2.3)
        ok 1 - 1.2.3 v1.2.3 true # time=1.004ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..2
            ok 1 - gte(1.2.3, =1.2.3)
            ok 2 - gte(=1.2.3, 1.2.3)
        ok 2 - 1.2.3 =1.2.3 true # time=0.868ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..2
            ok 1 - gte(1.2.3, v 1.2.3)
            ok 2 - gte(v 1.2.3, 1.2.3)
        ok 3 - 1.2.3 v 1.2.3 true # time=0.863ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..2
            ok 1 - gte(1.2.3, = 1.2.3)
            ok 2 - gte(= 1.2.3, 1.2.3)
        ok 4 - 1.2.3 = 1.2.3 true # time=0.872ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..2
            ok 1 - gte(1.2.3,  v1.2.3)
            ok 2 - gte( v1.2.3, 1.2.3)
        ok 5 - 1.2.3  v1.2.3 true # time=0.868ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..2
            ok 1 - gte(1.2.3,  =1.2.3)
            ok 2 - gte( =1.2.3, 1.2.3)
        ok 6 - 1.2.3  =1.2.3 true # time=0.857ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..2
            ok 1 - gte(1.2.3,  v 1.2.3)
            ok 2 - gte( v 1.2.3, 1.2.3)
        ok 7 - 1.2.3  v 1.2.3 true # time=0.876ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..2
            ok 1 - gte(1.2.3,  = 1.2.3)
            ok 2 - gte( = 1.2.3, 1.2.3)
        ok 8 - 1.2.3  = 1.2.3 true # time=0.859ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0, v1.2.3-0)
            ok 2 - gte(v1.2.3-0, 1.2.3-0)
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=0.875ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0, =1.2.3-0)
            ok 2 - gte(=1.2.3-0, 1.2.3-0)
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=0.931ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0, v 1.2.3-0)
            ok 2 - gte(v 1.2.3-0, 1.2.3-0)
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=0.866ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0, = 1.2.3-0)
            ok 2 - gte(= 1.2.3-0, 1.2.3-0)
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=0.869ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0,  v1.2.3-0)
            ok 2 - gte( v1.2.3-0, 1.2.3-0)
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=0.888ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0,  =1.2.3-0)
            ok 2 - gte( =1.2.3-0, 1.2.3-0)
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=0.88ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0,  v 1.2.3-0)
            ok 2 - gte( v 1.2.3-0, 1.2.3-0)
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=0.865ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..2
            ok 1 - gte(1.2.3-0,  = 1.2.3-0)
            ok 2 - gte( = 1.2.3-0, 1.2.3-0)
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=0.879ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1, v1.2.3-1)
            ok 2 - gte(v1.2.3-1, 1.2.3-1)
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=0.866ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1, =1.2.3-1)
            ok 2 - gte(=1.2.3-1, 1.2.3-1)
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=0.873ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1, v 1.2.3-1)
            ok 2 - gte(v 1.2.3-1, 1.2.3-1)
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.46ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1, = 1.2.3-1)
            ok 2 - gte(= 1.2.3-1, 1.2.3-1)
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=0.846ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1,  v1.2.3-1)
            ok 2 - gte( v1.2.3-1, 1.2.3-1)
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=0.848ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1,  =1.2.3-1)
            ok 2 - gte( =1.2.3-1, 1.2.3-1)
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=0.846ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1,  v 1.2.3-1)
            ok 2 - gte( v 1.2.3-1, 1.2.3-1)
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=0.844ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..2
            ok 1 - gte(1.2.3-1,  = 1.2.3-1)
            ok 2 - gte( = 1.2.3-1, 1.2.3-1)
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=0.833ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta, v1.2.3-beta)
            ok 2 - gte(v1.2.3-beta, 1.2.3-beta)
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=0.838ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta, =1.2.3-beta)
            ok 2 - gte(=1.2.3-beta, 1.2.3-beta)
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=0.844ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta, v 1.2.3-beta)
            ok 2 - gte(v 1.2.3-beta, 1.2.3-beta)
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.087ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta, = 1.2.3-beta)
            ok 2 - gte(= 1.2.3-beta, 1.2.3-beta)
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=0.858ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta,  v1.2.3-beta)
            ok 2 - gte( v1.2.3-beta, 1.2.3-beta)
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=0.838ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta,  =1.2.3-beta)
            ok 2 - gte( =1.2.3-beta, 1.2.3-beta)
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=0.84ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta,  v 1.2.3-beta)
            ok 2 - gte( v 1.2.3-beta, 1.2.3-beta)
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=0.843ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..2
            ok 1 - gte(1.2.3-beta,  = 1.2.3-beta)
            ok 2 - gte( = 1.2.3-beta, 1.2.3-beta)
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=0.837ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..2
            ok 1 - gte(1.2.3-beta+build,  = 1.2.3-beta+otherbuild)
            ok 2 - gte( = 1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=0.856ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..2
            ok 1 - gte(1.2.3+build,  = 1.2.3+otherbuild)
            ok 2 - gte( = 1.2.3+otherbuild, 1.2.3+build)
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=0.833ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..2
            ok 1 - gte(1.2.3-beta+build, 1.2.3-beta+otherbuild)
            ok 2 - gte(1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=0.842ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - gte(1.2.3+build, 1.2.3+otherbuild)
            ok 2 - gte(1.2.3+otherbuild, 1.2.3+build)
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=0.816ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - gte(  v1.2.3+build, 1.2.3+otherbuild)
            ok 2 - gte(1.2.3+otherbuild,   v1.2.3+build)
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=0.827ms
        
    ok 2 - equality tests # time=219.412ms
    
    1..2
    # time=465.782ms
ok 17 - test/functions/gte.js # time=465.782ms

# Subtest: test/functions/inc.js
    # Subtest: increment versions test
        ok 1 - inc(1.2.3, major, undefined) === 2.0.0
        ok 2 - inc(1.2.3, major, undefined) object version updated
        ok 3 - inc(1.2.3, major, undefined) object raw field updated
        ok 4 - inc(1.2.3, minor, undefined) === 1.3.0
        ok 5 - inc(1.2.3, minor, undefined) object version updated
        ok 6 - inc(1.2.3, minor, undefined) object raw field updated
        ok 7 - inc(1.2.3, patch, undefined) === 1.2.4
        ok 8 - inc(1.2.3, patch, undefined) object version updated
        ok 9 - inc(1.2.3, patch, undefined) object raw field updated
        ok 10 - inc(1.2.3tag, major, undefined) === 2.0.0
        ok 11 - inc(1.2.3tag, major, undefined) object version updated
        ok 12 - inc(1.2.3tag, major, undefined) object raw field updated
        ok 13 - inc(1.2.3-tag, major, undefined) === 2.0.0
        ok 14 - inc(1.2.3-tag, major, undefined) object version updated
        ok 15 - inc(1.2.3-tag, major, undefined) object raw field updated
        ok 16 - inc(1.2.3, fake, undefined) === null
        ok 17 - expected to throw
        ok 18 - inc(1.2.0-0, patch, undefined) === 1.2.0
        ok 19 - inc(1.2.0-0, patch, undefined) object version updated
        ok 20 - inc(1.2.0-0, patch, undefined) object raw field updated
        ok 21 - inc(fake, major, undefined) === null
        ok 22 - should be equal
        ok 23 - inc(1.2.3-4, major, undefined) === 2.0.0
        ok 24 - inc(1.2.3-4, major, undefined) object version updated
        ok 25 - inc(1.2.3-4, major, undefined) object raw field updated
        ok 26 - inc(1.2.3-4, minor, undefined) === 1.3.0
        ok 27 - inc(1.2.3-4, minor, undefined) object version updated
        ok 28 - inc(1.2.3-4, minor, undefined) object raw field updated
        ok 29 - inc(1.2.3-4, patch, undefined) === 1.2.3
        ok 30 - inc(1.2.3-4, patch, undefined) object version updated
        ok 31 - inc(1.2.3-4, patch, undefined) object raw field updated
        ok 32 - inc(1.2.3-alpha.0.beta, major, undefined) === 2.0.0
        ok 33 - inc(1.2.3-alpha.0.beta, major, undefined) object version updated
        ok 34 - inc(1.2.3-alpha.0.beta, major, undefined) object raw field updated
        ok 35 - inc(1.2.3-alpha.0.beta, minor, undefined) === 1.3.0
        ok 36 - inc(1.2.3-alpha.0.beta, minor, undefined) object version updated
        ok 37 - inc(1.2.3-alpha.0.beta, minor, undefined) object raw field updated
        ok 38 - inc(1.2.3-alpha.0.beta, patch, undefined) === 1.2.3
        ok 39 - inc(1.2.3-alpha.0.beta, patch, undefined) object version updated
        ok 40 - inc(1.2.3-alpha.0.beta, patch, undefined) object raw field updated
        ok 41 - inc(1.2.4, prerelease, undefined) === 1.2.5-0
        ok 42 - inc(1.2.4, prerelease, undefined) object version updated
        ok 43 - inc(1.2.4, prerelease, undefined) object raw field updated
        ok 44 - inc(1.2.3-0, prerelease, undefined) === 1.2.3-1
        ok 45 - inc(1.2.3-0, prerelease, undefined) object version updated
        ok 46 - inc(1.2.3-0, prerelease, undefined) object raw field updated
        ok 47 - inc(1.2.3-alpha.0, prerelease, undefined) === 1.2.3-alpha.1
        ok 48 - inc(1.2.3-alpha.0, prerelease, undefined) object version updated
        ok 49 - inc(1.2.3-alpha.0, prerelease, undefined) object raw field updated
        ok 50 - inc(1.2.3-alpha.1, prerelease, undefined) === 1.2.3-alpha.2
        ok 51 - inc(1.2.3-alpha.1, prerelease, undefined) object version updated
        ok 52 - inc(1.2.3-alpha.1, prerelease, undefined) object raw field updated
        ok 53 - inc(1.2.3-alpha.2, prerelease, undefined) === 1.2.3-alpha.3
        ok 54 - inc(1.2.3-alpha.2, prerelease, undefined) object version updated
        ok 55 - inc(1.2.3-alpha.2, prerelease, undefined) object raw field updated
        ok 56 - inc(1.2.3-alpha.0.beta, prerelease, undefined) === 1.2.3-alpha.1.beta
        ok 57 - inc(1.2.3-alpha.0.beta, prerelease, undefined) object version updated
        ok 58 - inc(1.2.3-alpha.0.beta, prerelease, undefined) object raw field updated
        ok 59 - inc(1.2.3-alpha.1.beta, prerelease, undefined) === 1.2.3-alpha.2.beta
        ok 60 - inc(1.2.3-alpha.1.beta, prerelease, undefined) object version updated
        ok 61 - inc(1.2.3-alpha.1.beta, prerelease, undefined) object raw field updated
        ok 62 - inc(1.2.3-alpha.2.beta, prerelease, undefined) === 1.2.3-alpha.3.beta
        ok 63 - inc(1.2.3-alpha.2.beta, prerelease, undefined) object version updated
        ok 64 - inc(1.2.3-alpha.2.beta, prerelease, undefined) object raw field updated
        ok 65 - inc(1.2.3-alpha.10.0.beta, prerelease, undefined) === 1.2.3-alpha.10.1.beta
        ok 66 - inc(1.2.3-alpha.10.0.beta, prerelease, undefined) object version updated
        ok 67 - inc(1.2.3-alpha.10.0.beta, prerelease, undefined) object raw field updated
        ok 68 - inc(1.2.3-alpha.10.1.beta, prerelease, undefined) === 1.2.3-alpha.10.2.beta
        ok 69 - inc(1.2.3-alpha.10.1.beta, prerelease, undefined) object version updated
        ok 70 - inc(1.2.3-alpha.10.1.beta, prerelease, undefined) object raw field updated
        ok 71 - inc(1.2.3-alpha.10.2.beta, prerelease, undefined) === 1.2.3-alpha.10.3.beta
        ok 72 - inc(1.2.3-alpha.10.2.beta, prerelease, undefined) object version updated
        ok 73 - inc(1.2.3-alpha.10.2.beta, prerelease, undefined) object raw field updated
        ok 74 - inc(1.2.3-alpha.10.beta.0, prerelease, undefined) === 1.2.3-alpha.10.beta.1
        ok 75 - inc(1.2.3-alpha.10.beta.0, prerelease, undefined) object version updated
        ok 76 - inc(1.2.3-alpha.10.beta.0, prerelease, undefined) object raw field updated
        ok 77 - inc(1.2.3-alpha.10.beta.1, prerelease, undefined) === 1.2.3-alpha.10.beta.2
        ok 78 - inc(1.2.3-alpha.10.beta.1, prerelease, undefined) object version updated
        ok 79 - inc(1.2.3-alpha.10.beta.1, prerelease, undefined) object raw field updated
        ok 80 - inc(1.2.3-alpha.10.beta.2, prerelease, undefined) === 1.2.3-alpha.10.beta.3
        ok 81 - inc(1.2.3-alpha.10.beta.2, prerelease, undefined) object version updated
        ok 82 - inc(1.2.3-alpha.10.beta.2, prerelease, undefined) object raw field updated
        ok 83 - inc(1.2.3-alpha.9.beta, prerelease, undefined) === 1.2.3-alpha.10.beta
        ok 84 - inc(1.2.3-alpha.9.beta, prerelease, undefined) object version updated
        ok 85 - inc(1.2.3-alpha.9.beta, prerelease, undefined) object raw field updated
        ok 86 - inc(1.2.3-alpha.10.beta, prerelease, undefined) === 1.2.3-alpha.11.beta
        ok 87 - inc(1.2.3-alpha.10.beta, prerelease, undefined) object version updated
        ok 88 - inc(1.2.3-alpha.10.beta, prerelease, undefined) object raw field updated
        ok 89 - inc(1.2.3-alpha.11.beta, prerelease, undefined) === 1.2.3-alpha.12.beta
        ok 90 - inc(1.2.3-alpha.11.beta, prerelease, undefined) object version updated
        ok 91 - inc(1.2.3-alpha.11.beta, prerelease, undefined) object raw field updated
        ok 92 - inc(1.2.0, prepatch, undefined) === 1.2.1-0
        ok 93 - inc(1.2.0, prepatch, undefined) object version updated
        ok 94 - inc(1.2.0, prepatch, undefined) object raw field updated
        ok 95 - inc(1.2.0-1, prepatch, undefined) === 1.2.1-0
        ok 96 - inc(1.2.0-1, prepatch, undefined) object version updated
        ok 97 - inc(1.2.0-1, prepatch, undefined) object raw field updated
        ok 98 - inc(1.2.0, preminor, undefined) === 1.3.0-0
        ok 99 - inc(1.2.0, preminor, undefined) object version updated
        ok 100 - inc(1.2.0, preminor, undefined) object raw field updated
        ok 101 - inc(1.2.3-1, preminor, undefined) === 1.3.0-0
        ok 102 - inc(1.2.3-1, preminor, undefined) object version updated
        ok 103 - inc(1.2.3-1, preminor, undefined) object raw field updated
        ok 104 - inc(1.2.0, premajor, undefined) === 2.0.0-0
        ok 105 - inc(1.2.0, premajor, undefined) object version updated
        ok 106 - inc(1.2.0, premajor, undefined) object raw field updated
        ok 107 - inc(1.2.3-1, premajor, undefined) === 2.0.0-0
        ok 108 - inc(1.2.3-1, premajor, undefined) object version updated
        ok 109 - inc(1.2.3-1, premajor, undefined) object raw field updated
        ok 110 - inc(1.2.0-1, minor, undefined) === 1.2.0
        ok 111 - inc(1.2.0-1, minor, undefined) object version updated
        ok 112 - inc(1.2.0-1, minor, undefined) object raw field updated
        ok 113 - inc(1.0.0-1, major, undefined) === 1.0.0
        ok 114 - inc(1.0.0-1, major, undefined) object version updated
        ok 115 - inc(1.0.0-1, major, undefined) object raw field updated
        ok 116 - inc(1.2.3, major, dev) === 2.0.0
        ok 117 - inc(1.2.3, major, dev) object version updated
        ok 118 - inc(1.2.3, major, dev) object raw field updated
        ok 119 - inc(1.2.3, minor, dev) === 1.3.0
        ok 120 - inc(1.2.3, minor, dev) object version updated
        ok 121 - inc(1.2.3, minor, dev) object raw field updated
        ok 122 - inc(1.2.3, patch, dev) === 1.2.4
        ok 123 - inc(1.2.3, patch, dev) object version updated
        ok 124 - inc(1.2.3, patch, dev) object raw field updated
        ok 125 - inc(1.2.3tag, major, dev) === 2.0.0
        ok 126 - inc(1.2.3tag, major, dev) object version updated
        ok 127 - inc(1.2.3tag, major, dev) object raw field updated
        ok 128 - inc(1.2.3-tag, major, dev) === 2.0.0
        ok 129 - inc(1.2.3-tag, major, dev) object version updated
        ok 130 - inc(1.2.3-tag, major, dev) object raw field updated
        ok 131 - inc(1.2.3, fake, dev) === null
        ok 132 - expected to throw
        ok 133 - inc(1.2.0-0, patch, dev) === 1.2.0
        ok 134 - inc(1.2.0-0, patch, dev) object version updated
        ok 135 - inc(1.2.0-0, patch, dev) object raw field updated
        ok 136 - inc(fake, major, dev) === null
        ok 137 - should be equal
        ok 138 - inc(1.2.3-4, major, dev) === 2.0.0
        ok 139 - inc(1.2.3-4, major, dev) object version updated
        ok 140 - inc(1.2.3-4, major, dev) object raw field updated
        ok 141 - inc(1.2.3-4, minor, dev) === 1.3.0
        ok 142 - inc(1.2.3-4, minor, dev) object version updated
        ok 143 - inc(1.2.3-4, minor, dev) object raw field updated
        ok 144 - inc(1.2.3-4, patch, dev) === 1.2.3
        ok 145 - inc(1.2.3-4, patch, dev) object version updated
        ok 146 - inc(1.2.3-4, patch, dev) object raw field updated
        ok 147 - inc(1.2.3-alpha.0.beta, major, dev) === 2.0.0
        ok 148 - inc(1.2.3-alpha.0.beta, major, dev) object version updated
        ok 149 - inc(1.2.3-alpha.0.beta, major, dev) object raw field updated
        ok 150 - inc(1.2.3-alpha.0.beta, minor, dev) === 1.3.0
        ok 151 - inc(1.2.3-alpha.0.beta, minor, dev) object version updated
        ok 152 - inc(1.2.3-alpha.0.beta, minor, dev) object raw field updated
        ok 153 - inc(1.2.3-alpha.0.beta, patch, dev) === 1.2.3
        ok 154 - inc(1.2.3-alpha.0.beta, patch, dev) object version updated
        ok 155 - inc(1.2.3-alpha.0.beta, patch, dev) object raw field updated
        ok 156 - inc(1.2.4, prerelease, dev) === 1.2.5-dev.0
        ok 157 - inc(1.2.4, prerelease, dev) object version updated
        ok 158 - inc(1.2.4, prerelease, dev) object raw field updated
        ok 159 - inc(1.2.3-0, prerelease, dev) === 1.2.3-dev.0
        ok 160 - inc(1.2.3-0, prerelease, dev) object version updated
        ok 161 - inc(1.2.3-0, prerelease, dev) object raw field updated
        ok 162 - inc(1.2.3-alpha.0, prerelease, dev) === 1.2.3-dev.0
        ok 163 - inc(1.2.3-alpha.0, prerelease, dev) object version updated
        ok 164 - inc(1.2.3-alpha.0, prerelease, dev) object raw field updated
        ok 165 - inc(1.2.3-alpha.0, prerelease, alpha) === 1.2.3-alpha.1
        ok 166 - inc(1.2.3-alpha.0, prerelease, alpha) object version updated
        ok 167 - inc(1.2.3-alpha.0, prerelease, alpha) object raw field updated
        ok 168 - inc(1.2.3-alpha.0.beta, prerelease, dev) === 1.2.3-dev.0
        ok 169 - inc(1.2.3-alpha.0.beta, prerelease, dev) object version updated
        ok 170 - inc(1.2.3-alpha.0.beta, prerelease, dev) object raw field updated
        ok 171 - inc(1.2.3-alpha.0.beta, prerelease, alpha) === 1.2.3-alpha.1.beta
        ok 172 - inc(1.2.3-alpha.0.beta, prerelease, alpha) object version updated
        ok 173 - inc(1.2.3-alpha.0.beta, prerelease, alpha) object raw field updated
        ok 174 - inc(1.2.3-alpha.10.0.beta, prerelease, dev) === 1.2.3-dev.0
        ok 175 - inc(1.2.3-alpha.10.0.beta, prerelease, dev) object version updated
        ok 176 - inc(1.2.3-alpha.10.0.beta, prerelease, dev) object raw field updated
        ok 177 - inc(1.2.3-alpha.10.0.beta, prerelease, alpha) === 1.2.3-alpha.10.1.beta
        ok 178 - inc(1.2.3-alpha.10.0.beta, prerelease, alpha) object version updated
        ok 179 - inc(1.2.3-alpha.10.0.beta, prerelease, alpha) object raw field updated
        ok 180 - inc(1.2.3-alpha.10.1.beta, prerelease, alpha) === 1.2.3-alpha.10.2.beta
        ok 181 - inc(1.2.3-alpha.10.1.beta, prerelease, alpha) object version updated
        ok 182 - inc(1.2.3-alpha.10.1.beta, prerelease, alpha) object raw field updated
        ok 183 - inc(1.2.3-alpha.10.2.beta, prerelease, alpha) === 1.2.3-alpha.10.3.beta
        ok 184 - inc(1.2.3-alpha.10.2.beta, prerelease, alpha) object version updated
        ok 185 - inc(1.2.3-alpha.10.2.beta, prerelease, alpha) object raw field updated
        ok 186 - inc(1.2.3-alpha.10.beta.0, prerelease, dev) === 1.2.3-dev.0
        ok 187 - inc(1.2.3-alpha.10.beta.0, prerelease, dev) object version updated
        ok 188 - inc(1.2.3-alpha.10.beta.0, prerelease, dev) object raw field updated
        ok 189 - inc(1.2.3-alpha.10.beta.0, prerelease, alpha) === 1.2.3-alpha.10.beta.1
        ok 190 - inc(1.2.3-alpha.10.beta.0, prerelease, alpha) object version updated
        ok 191 - inc(1.2.3-alpha.10.beta.0, prerelease, alpha) object raw field updated
        ok 192 - inc(1.2.3-alpha.10.beta.1, prerelease, alpha) === 1.2.3-alpha.10.beta.2
        ok 193 - inc(1.2.3-alpha.10.beta.1, prerelease, alpha) object version updated
        ok 194 - inc(1.2.3-alpha.10.beta.1, prerelease, alpha) object raw field updated
        ok 195 - inc(1.2.3-alpha.10.beta.2, prerelease, alpha) === 1.2.3-alpha.10.beta.3
        ok 196 - inc(1.2.3-alpha.10.beta.2, prerelease, alpha) object version updated
        ok 197 - inc(1.2.3-alpha.10.beta.2, prerelease, alpha) object raw field updated
        ok 198 - inc(1.2.3-alpha.9.beta, prerelease, dev) === 1.2.3-dev.0
        ok 199 - inc(1.2.3-alpha.9.beta, prerelease, dev) object version updated
        ok 200 - inc(1.2.3-alpha.9.beta, prerelease, dev) object raw field updated
        ok 201 - inc(1.2.3-alpha.9.beta, prerelease, alpha) === 1.2.3-alpha.10.beta
        ok 202 - inc(1.2.3-alpha.9.beta, prerelease, alpha) object version updated
        ok 203 - inc(1.2.3-alpha.9.beta, prerelease, alpha) object raw field updated
        ok 204 - inc(1.2.3-alpha.10.beta, prerelease, alpha) === 1.2.3-alpha.11.beta
        ok 205 - inc(1.2.3-alpha.10.beta, prerelease, alpha) object version updated
        ok 206 - inc(1.2.3-alpha.10.beta, prerelease, alpha) object raw field updated
        ok 207 - inc(1.2.3-alpha.11.beta, prerelease, alpha) === 1.2.3-alpha.12.beta
        ok 208 - inc(1.2.3-alpha.11.beta, prerelease, alpha) object version updated
        ok 209 - inc(1.2.3-alpha.11.beta, prerelease, alpha) object raw field updated
        ok 210 - inc(1.2.0, prepatch, dev) === 1.2.1-dev.0
        ok 211 - inc(1.2.0, prepatch, dev) object version updated
        ok 212 - inc(1.2.0, prepatch, dev) object raw field updated
        ok 213 - inc(1.2.0-1, prepatch, dev) === 1.2.1-dev.0
        ok 214 - inc(1.2.0-1, prepatch, dev) object version updated
        ok 215 - inc(1.2.0-1, prepatch, dev) object raw field updated
        ok 216 - inc(1.2.0, preminor, dev) === 1.3.0-dev.0
        ok 217 - inc(1.2.0, preminor, dev) object version updated
        ok 218 - inc(1.2.0, preminor, dev) object raw field updated
        ok 219 - inc(1.2.3-1, preminor, dev) === 1.3.0-dev.0
        ok 220 - inc(1.2.3-1, preminor, dev) object version updated
        ok 221 - inc(1.2.3-1, preminor, dev) object raw field updated
        ok 222 - inc(1.2.0, premajor, dev) === 2.0.0-dev.0
        ok 223 - inc(1.2.0, premajor, dev) object version updated
        ok 224 - inc(1.2.0, premajor, dev) object raw field updated
        ok 225 - inc(1.2.3-1, premajor, dev) === 2.0.0-dev.0
        ok 226 - inc(1.2.3-1, premajor, dev) object version updated
        ok 227 - inc(1.2.3-1, premajor, dev) object raw field updated
        ok 228 - inc(1.2.0-1, minor, dev) === 1.2.0
        ok 229 - inc(1.2.0-1, minor, dev) object version updated
        ok 230 - inc(1.2.0-1, minor, dev) object raw field updated
        ok 231 - inc(1.0.0-1, major, undefined) === 1.0.0
        ok 232 - inc(1.0.0-1, major, undefined) object version updated
        ok 233 - inc(1.0.0-1, major, undefined) object raw field updated
        ok 234 - inc(1.2.3-dev.bar, prerelease, dev) === 1.2.3-dev.0
        ok 235 - inc(1.2.3-dev.bar, prerelease, dev) object version updated
        ok 236 - inc(1.2.3-dev.bar, prerelease, dev) object raw field updated
        1..236
    ok 1 - increment versions test # time=48.192ms
    
    1..1
    # time=52.991ms
ok 18 - test/functions/inc.js # time=52.991ms

# Subtest: test/functions/lt.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - !lt('0.0.0', '0.0.0-foo')
            ok 2 - lt('0.0.0-foo', '0.0.0')
            ok 3 - !lt('0.0.0-foo', '0.0.0-foo')
            ok 4 - !lt('0.0.0', '0.0.0')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.982ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - !lt('0.0.1', '0.0.0')
            ok 2 - lt('0.0.0', '0.0.1')
            ok 3 - !lt('0.0.0', '0.0.0')
            ok 4 - !lt('0.0.1', '0.0.1')
        ok 2 - 0.0.1 0.0.0 undefined # time=2.071ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - !lt('1.0.0', '0.9.9')
            ok 2 - lt('0.9.9', '1.0.0')
            ok 3 - !lt('0.9.9', '0.9.9')
            ok 4 - !lt('1.0.0', '1.0.0')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.643ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - !lt('0.10.0', '0.9.0')
            ok 2 - lt('0.9.0', '0.10.0')
            ok 3 - !lt('0.9.0', '0.9.0')
            ok 4 - !lt('0.10.0', '0.10.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.563ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - !lt('0.99.0', '0.10.0')
            ok 2 - lt('0.10.0', '0.99.0')
            ok 3 - !lt('0.10.0', '0.10.0')
            ok 4 - !lt('0.99.0', '0.99.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.519ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - !lt('2.0.0', '1.2.3')
            ok 2 - lt('1.2.3', '2.0.0')
            ok 3 - !lt('1.2.3', '1.2.3')
            ok 4 - !lt('2.0.0', '2.0.0')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.452ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - !lt('v0.0.0', '0.0.0-foo')
            ok 2 - lt('0.0.0-foo', 'v0.0.0')
            ok 3 - !lt('0.0.0-foo', '0.0.0-foo')
            ok 4 - !lt('v0.0.0', 'v0.0.0')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.78ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - !lt('v0.0.1', '0.0.0')
            ok 2 - lt('0.0.0', 'v0.0.1')
            ok 3 - !lt('0.0.0', '0.0.0')
            ok 4 - !lt('v0.0.1', 'v0.0.1')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.47ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - !lt('v1.0.0', '0.9.9')
            ok 2 - lt('0.9.9', 'v1.0.0')
            ok 3 - !lt('0.9.9', '0.9.9')
            ok 4 - !lt('v1.0.0', 'v1.0.0')
        ok 9 - v1.0.0 0.9.9 true # time=1.451ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - !lt('v0.10.0', '0.9.0')
            ok 2 - lt('0.9.0', 'v0.10.0')
            ok 3 - !lt('0.9.0', '0.9.0')
            ok 4 - !lt('v0.10.0', 'v0.10.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.463ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - !lt('v0.99.0', '0.10.0')
            ok 2 - lt('0.10.0', 'v0.99.0')
            ok 3 - !lt('0.10.0', '0.10.0')
            ok 4 - !lt('v0.99.0', 'v0.99.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.482ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - !lt('v2.0.0', '1.2.3')
            ok 2 - lt('1.2.3', 'v2.0.0')
            ok 3 - !lt('1.2.3', '1.2.3')
            ok 4 - !lt('v2.0.0', 'v2.0.0')
        ok 12 - v2.0.0 1.2.3 true # time=1.647ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - !lt('0.0.0', 'v0.0.0-foo')
            ok 2 - lt('v0.0.0-foo', '0.0.0')
            ok 3 - !lt('v0.0.0-foo', 'v0.0.0-foo')
            ok 4 - !lt('0.0.0', '0.0.0')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.484ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - !lt('0.0.1', 'v0.0.0')
            ok 2 - lt('v0.0.0', '0.0.1')
            ok 3 - !lt('v0.0.0', 'v0.0.0')
            ok 4 - !lt('0.0.1', '0.0.1')
        ok 14 - 0.0.1 v0.0.0 true # time=1.46ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - !lt('1.0.0', 'v0.9.9')
            ok 2 - lt('v0.9.9', '1.0.0')
            ok 3 - !lt('v0.9.9', 'v0.9.9')
            ok 4 - !lt('1.0.0', '1.0.0')
        ok 15 - 1.0.0 v0.9.9 true # time=1.452ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - !lt('0.10.0', 'v0.9.0')
            ok 2 - lt('v0.9.0', '0.10.0')
            ok 3 - !lt('v0.9.0', 'v0.9.0')
            ok 4 - !lt('0.10.0', '0.10.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.444ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - !lt('0.99.0', 'v0.10.0')
            ok 2 - lt('v0.10.0', '0.99.0')
            ok 3 - !lt('v0.10.0', 'v0.10.0')
            ok 4 - !lt('0.99.0', '0.99.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.466ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - !lt('2.0.0', 'v1.2.3')
            ok 2 - lt('v1.2.3', '2.0.0')
            ok 3 - !lt('v1.2.3', 'v1.2.3')
            ok 4 - !lt('2.0.0', '2.0.0')
        ok 18 - 2.0.0 v1.2.3 true # time=1.461ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - !lt('1.2.3', '1.2.3-asdf')
            ok 2 - lt('1.2.3-asdf', '1.2.3')
            ok 3 - !lt('1.2.3-asdf', '1.2.3-asdf')
            ok 4 - !lt('1.2.3', '1.2.3')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.533ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - !lt('1.2.3', '1.2.3-4')
            ok 2 - lt('1.2.3-4', '1.2.3')
            ok 3 - !lt('1.2.3-4', '1.2.3-4')
            ok 4 - !lt('1.2.3', '1.2.3')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.48ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - !lt('1.2.3', '1.2.3-4-foo')
            ok 2 - lt('1.2.3-4-foo', '1.2.3')
            ok 3 - !lt('1.2.3-4-foo', '1.2.3-4-foo')
            ok 4 - !lt('1.2.3', '1.2.3')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.509ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - !lt('1.2.3-5-foo', '1.2.3-5')
            ok 2 - lt('1.2.3-5', '1.2.3-5-foo')
            ok 3 - !lt('1.2.3-5', '1.2.3-5')
            ok 4 - !lt('1.2.3-5-foo', '1.2.3-5-foo')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.583ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - !lt('1.2.3-5', '1.2.3-4')
            ok 2 - lt('1.2.3-4', '1.2.3-5')
            ok 3 - !lt('1.2.3-4', '1.2.3-4')
            ok 4 - !lt('1.2.3-5', '1.2.3-5')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.526ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - !lt('1.2.3-5-foo', '1.2.3-5-Foo')
            ok 2 - lt('1.2.3-5-Foo', '1.2.3-5-foo')
            ok 3 - !lt('1.2.3-5-Foo', '1.2.3-5-Foo')
            ok 4 - !lt('1.2.3-5-foo', '1.2.3-5-foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.48ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - !lt('3.0.0', '2.7.2+asdf')
            ok 2 - lt('2.7.2+asdf', '3.0.0')
            ok 3 - !lt('2.7.2+asdf', '2.7.2+asdf')
            ok 4 - !lt('3.0.0', '3.0.0')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.471ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - !lt('1.2.3-a.10', '1.2.3-a.5')
            ok 2 - lt('1.2.3-a.5', '1.2.3-a.10')
            ok 3 - !lt('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - !lt('1.2.3-a.10', '1.2.3-a.10')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.684ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - !lt('1.2.3-a.b', '1.2.3-a.5')
            ok 2 - lt('1.2.3-a.5', '1.2.3-a.b')
            ok 3 - !lt('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - !lt('1.2.3-a.b', '1.2.3-a.b')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.397ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - !lt('1.2.3-a.b', '1.2.3-a')
            ok 2 - lt('1.2.3-a', '1.2.3-a.b')
            ok 3 - !lt('1.2.3-a', '1.2.3-a')
            ok 4 - !lt('1.2.3-a.b', '1.2.3-a.b')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.328ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - !lt('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100')
            ok 2 - lt('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.10.d.5')
            ok 3 - !lt('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
            ok 4 - !lt('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.334ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - !lt('1.2.3-r2', '1.2.3-r100')
            ok 2 - lt('1.2.3-r100', '1.2.3-r2')
            ok 3 - !lt('1.2.3-r100', '1.2.3-r100')
            ok 4 - !lt('1.2.3-r2', '1.2.3-r2')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.314ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - !lt('1.2.3-r100', '1.2.3-R2')
            ok 2 - lt('1.2.3-R2', '1.2.3-r100')
            ok 3 - !lt('1.2.3-R2', '1.2.3-R2')
            ok 4 - !lt('1.2.3-r100', '1.2.3-r100')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.32ms
        
    ok 1 - comparison tests # time=238.597ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..2
            ok 1 - !lt(1.2.3, v1.2.3)
            ok 2 - !lt(v1.2.3, 1.2.3)
        ok 1 - 1.2.3 v1.2.3 true # time=0.947ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..2
            ok 1 - !lt(1.2.3, =1.2.3)
            ok 2 - !lt(=1.2.3, 1.2.3)
        ok 2 - 1.2.3 =1.2.3 true # time=0.869ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..2
            ok 1 - !lt(1.2.3, v 1.2.3)
            ok 2 - !lt(v 1.2.3, 1.2.3)
        ok 3 - 1.2.3 v 1.2.3 true # time=0.87ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..2
            ok 1 - !lt(1.2.3, = 1.2.3)
            ok 2 - !lt(= 1.2.3, 1.2.3)
        ok 4 - 1.2.3 = 1.2.3 true # time=0.887ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..2
            ok 1 - !lt(1.2.3,  v1.2.3)
            ok 2 - !lt( v1.2.3, 1.2.3)
        ok 5 - 1.2.3  v1.2.3 true # time=0.9ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..2
            ok 1 - !lt(1.2.3,  =1.2.3)
            ok 2 - !lt( =1.2.3, 1.2.3)
        ok 6 - 1.2.3  =1.2.3 true # time=0.879ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..2
            ok 1 - !lt(1.2.3,  v 1.2.3)
            ok 2 - !lt( v 1.2.3, 1.2.3)
        ok 7 - 1.2.3  v 1.2.3 true # time=0.864ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..2
            ok 1 - !lt(1.2.3,  = 1.2.3)
            ok 2 - !lt( = 1.2.3, 1.2.3)
        ok 8 - 1.2.3  = 1.2.3 true # time=0.864ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0, v1.2.3-0)
            ok 2 - !lt(v1.2.3-0, 1.2.3-0)
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=0.875ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0, =1.2.3-0)
            ok 2 - !lt(=1.2.3-0, 1.2.3-0)
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=0.933ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0, v 1.2.3-0)
            ok 2 - !lt(v 1.2.3-0, 1.2.3-0)
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=0.881ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0, = 1.2.3-0)
            ok 2 - !lt(= 1.2.3-0, 1.2.3-0)
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=0.887ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0,  v1.2.3-0)
            ok 2 - !lt( v1.2.3-0, 1.2.3-0)
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=0.893ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0,  =1.2.3-0)
            ok 2 - !lt( =1.2.3-0, 1.2.3-0)
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=0.881ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0,  v 1.2.3-0)
            ok 2 - !lt( v 1.2.3-0, 1.2.3-0)
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=0.875ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..2
            ok 1 - !lt(1.2.3-0,  = 1.2.3-0)
            ok 2 - !lt( = 1.2.3-0, 1.2.3-0)
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=0.867ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1, v1.2.3-1)
            ok 2 - !lt(v1.2.3-1, 1.2.3-1)
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=0.891ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1, =1.2.3-1)
            ok 2 - !lt(=1.2.3-1, 1.2.3-1)
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=0.877ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1, v 1.2.3-1)
            ok 2 - !lt(v 1.2.3-1, 1.2.3-1)
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.448ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1, = 1.2.3-1)
            ok 2 - !lt(= 1.2.3-1, 1.2.3-1)
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=0.855ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1,  v1.2.3-1)
            ok 2 - !lt( v1.2.3-1, 1.2.3-1)
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=0.852ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1,  =1.2.3-1)
            ok 2 - !lt( =1.2.3-1, 1.2.3-1)
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=0.874ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1,  v 1.2.3-1)
            ok 2 - !lt( v 1.2.3-1, 1.2.3-1)
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=0.84ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..2
            ok 1 - !lt(1.2.3-1,  = 1.2.3-1)
            ok 2 - !lt( = 1.2.3-1, 1.2.3-1)
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=0.854ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta, v1.2.3-beta)
            ok 2 - !lt(v1.2.3-beta, 1.2.3-beta)
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=0.857ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta, =1.2.3-beta)
            ok 2 - !lt(=1.2.3-beta, 1.2.3-beta)
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=0.854ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta, v 1.2.3-beta)
            ok 2 - !lt(v 1.2.3-beta, 1.2.3-beta)
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.093ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta, = 1.2.3-beta)
            ok 2 - !lt(= 1.2.3-beta, 1.2.3-beta)
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=0.88ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta,  v1.2.3-beta)
            ok 2 - !lt( v1.2.3-beta, 1.2.3-beta)
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=0.843ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta,  =1.2.3-beta)
            ok 2 - !lt( =1.2.3-beta, 1.2.3-beta)
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=0.84ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta,  v 1.2.3-beta)
            ok 2 - !lt( v 1.2.3-beta, 1.2.3-beta)
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=0.83ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..2
            ok 1 - !lt(1.2.3-beta,  = 1.2.3-beta)
            ok 2 - !lt( = 1.2.3-beta, 1.2.3-beta)
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=0.855ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..2
            ok 1 - !lt(1.2.3-beta+build,  = 1.2.3-beta+otherbuild)
            ok 2 - !lt( = 1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=0.864ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..2
            ok 1 - !lt(1.2.3+build,  = 1.2.3+otherbuild)
            ok 2 - !lt( = 1.2.3+otherbuild, 1.2.3+build)
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=0.834ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..2
            ok 1 - !lt(1.2.3-beta+build, 1.2.3-beta+otherbuild)
            ok 2 - !lt(1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=0.85ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - !lt(1.2.3+build, 1.2.3+otherbuild)
            ok 2 - !lt(1.2.3+otherbuild, 1.2.3+build)
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=0.831ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - !lt(  v1.2.3+build, 1.2.3+otherbuild)
            ok 2 - !lt(1.2.3+otherbuild,   v1.2.3+build)
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=0.828ms
        
    ok 2 - equality tests # time=218.698ms
    
    1..2
    # time=465.461ms
ok 19 - test/functions/lt.js # time=465.461ms

# Subtest: test/functions/lte.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - !lte('0.0.0', '0.0.0-foo')
            ok 2 - lte('0.0.0-foo', '0.0.0')
            ok 3 - lte('0.0.0-foo', '0.0.0-foo')
            ok 4 - lte('0.0.0', '0.0.0')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.963ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - !lte('0.0.1', '0.0.0')
            ok 2 - lte('0.0.0', '0.0.1')
            ok 3 - lte('0.0.0', '0.0.0')
            ok 4 - lte('0.0.1', '0.0.1')
        ok 2 - 0.0.1 0.0.0 undefined # time=1.8ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - !lte('1.0.0', '0.9.9')
            ok 2 - lte('0.9.9', '1.0.0')
            ok 3 - lte('0.9.9', '0.9.9')
            ok 4 - lte('1.0.0', '1.0.0')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.592ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - !lte('0.10.0', '0.9.0')
            ok 2 - lte('0.9.0', '0.10.0')
            ok 3 - lte('0.9.0', '0.9.0')
            ok 4 - lte('0.10.0', '0.10.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.585ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - !lte('0.99.0', '0.10.0')
            ok 2 - lte('0.10.0', '0.99.0')
            ok 3 - lte('0.10.0', '0.10.0')
            ok 4 - lte('0.99.0', '0.99.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.534ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - !lte('2.0.0', '1.2.3')
            ok 2 - lte('1.2.3', '2.0.0')
            ok 3 - lte('1.2.3', '1.2.3')
            ok 4 - lte('2.0.0', '2.0.0')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.471ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - !lte('v0.0.0', '0.0.0-foo')
            ok 2 - lte('0.0.0-foo', 'v0.0.0')
            ok 3 - lte('0.0.0-foo', '0.0.0-foo')
            ok 4 - lte('v0.0.0', 'v0.0.0')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.754ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - !lte('v0.0.1', '0.0.0')
            ok 2 - lte('0.0.0', 'v0.0.1')
            ok 3 - lte('0.0.0', '0.0.0')
            ok 4 - lte('v0.0.1', 'v0.0.1')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.464ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - !lte('v1.0.0', '0.9.9')
            ok 2 - lte('0.9.9', 'v1.0.0')
            ok 3 - lte('0.9.9', '0.9.9')
            ok 4 - lte('v1.0.0', 'v1.0.0')
        ok 9 - v1.0.0 0.9.9 true # time=1.452ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - !lte('v0.10.0', '0.9.0')
            ok 2 - lte('0.9.0', 'v0.10.0')
            ok 3 - lte('0.9.0', '0.9.0')
            ok 4 - lte('v0.10.0', 'v0.10.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.473ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - !lte('v0.99.0', '0.10.0')
            ok 2 - lte('0.10.0', 'v0.99.0')
            ok 3 - lte('0.10.0', '0.10.0')
            ok 4 - lte('v0.99.0', 'v0.99.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.663ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - !lte('v2.0.0', '1.2.3')
            ok 2 - lte('1.2.3', 'v2.0.0')
            ok 3 - lte('1.2.3', '1.2.3')
            ok 4 - lte('v2.0.0', 'v2.0.0')
        ok 12 - v2.0.0 1.2.3 true # time=1.483ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - !lte('0.0.0', 'v0.0.0-foo')
            ok 2 - lte('v0.0.0-foo', '0.0.0')
            ok 3 - lte('v0.0.0-foo', 'v0.0.0-foo')
            ok 4 - lte('0.0.0', '0.0.0')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.506ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - !lte('0.0.1', 'v0.0.0')
            ok 2 - lte('v0.0.0', '0.0.1')
            ok 3 - lte('v0.0.0', 'v0.0.0')
            ok 4 - lte('0.0.1', '0.0.1')
        ok 14 - 0.0.1 v0.0.0 true # time=1.469ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - !lte('1.0.0', 'v0.9.9')
            ok 2 - lte('v0.9.9', '1.0.0')
            ok 3 - lte('v0.9.9', 'v0.9.9')
            ok 4 - lte('1.0.0', '1.0.0')
        ok 15 - 1.0.0 v0.9.9 true # time=1.479ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - !lte('0.10.0', 'v0.9.0')
            ok 2 - lte('v0.9.0', '0.10.0')
            ok 3 - lte('v0.9.0', 'v0.9.0')
            ok 4 - lte('0.10.0', '0.10.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.441ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - !lte('0.99.0', 'v0.10.0')
            ok 2 - lte('v0.10.0', '0.99.0')
            ok 3 - lte('v0.10.0', 'v0.10.0')
            ok 4 - lte('0.99.0', '0.99.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.476ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - !lte('2.0.0', 'v1.2.3')
            ok 2 - lte('v1.2.3', '2.0.0')
            ok 3 - lte('v1.2.3', 'v1.2.3')
            ok 4 - lte('2.0.0', '2.0.0')
        ok 18 - 2.0.0 v1.2.3 true # time=1.485ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - !lte('1.2.3', '1.2.3-asdf')
            ok 2 - lte('1.2.3-asdf', '1.2.3')
            ok 3 - lte('1.2.3-asdf', '1.2.3-asdf')
            ok 4 - lte('1.2.3', '1.2.3')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.573ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - !lte('1.2.3', '1.2.3-4')
            ok 2 - lte('1.2.3-4', '1.2.3')
            ok 3 - lte('1.2.3-4', '1.2.3-4')
            ok 4 - lte('1.2.3', '1.2.3')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.493ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - !lte('1.2.3', '1.2.3-4-foo')
            ok 2 - lte('1.2.3-4-foo', '1.2.3')
            ok 3 - lte('1.2.3-4-foo', '1.2.3-4-foo')
            ok 4 - lte('1.2.3', '1.2.3')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.481ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - !lte('1.2.3-5-foo', '1.2.3-5')
            ok 2 - lte('1.2.3-5', '1.2.3-5-foo')
            ok 3 - lte('1.2.3-5', '1.2.3-5')
            ok 4 - lte('1.2.3-5-foo', '1.2.3-5-foo')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.618ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - !lte('1.2.3-5', '1.2.3-4')
            ok 2 - lte('1.2.3-4', '1.2.3-5')
            ok 3 - lte('1.2.3-4', '1.2.3-4')
            ok 4 - lte('1.2.3-5', '1.2.3-5')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.524ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - !lte('1.2.3-5-foo', '1.2.3-5-Foo')
            ok 2 - lte('1.2.3-5-Foo', '1.2.3-5-foo')
            ok 3 - lte('1.2.3-5-Foo', '1.2.3-5-Foo')
            ok 4 - lte('1.2.3-5-foo', '1.2.3-5-foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.592ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - !lte('3.0.0', '2.7.2+asdf')
            ok 2 - lte('2.7.2+asdf', '3.0.0')
            ok 3 - lte('2.7.2+asdf', '2.7.2+asdf')
            ok 4 - lte('3.0.0', '3.0.0')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.503ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - !lte('1.2.3-a.10', '1.2.3-a.5')
            ok 2 - lte('1.2.3-a.5', '1.2.3-a.10')
            ok 3 - lte('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - lte('1.2.3-a.10', '1.2.3-a.10')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.416ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - !lte('1.2.3-a.b', '1.2.3-a.5')
            ok 2 - lte('1.2.3-a.5', '1.2.3-a.b')
            ok 3 - lte('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - lte('1.2.3-a.b', '1.2.3-a.b')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.317ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - !lte('1.2.3-a.b', '1.2.3-a')
            ok 2 - lte('1.2.3-a', '1.2.3-a.b')
            ok 3 - lte('1.2.3-a', '1.2.3-a')
            ok 4 - lte('1.2.3-a.b', '1.2.3-a.b')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.332ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - !lte('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100')
            ok 2 - lte('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.10.d.5')
            ok 3 - lte('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
            ok 4 - lte('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.36ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - !lte('1.2.3-r2', '1.2.3-r100')
            ok 2 - lte('1.2.3-r100', '1.2.3-r2')
            ok 3 - lte('1.2.3-r100', '1.2.3-r100')
            ok 4 - lte('1.2.3-r2', '1.2.3-r2')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.318ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - !lte('1.2.3-r100', '1.2.3-R2')
            ok 2 - lte('1.2.3-R2', '1.2.3-r100')
            ok 3 - lte('1.2.3-R2', '1.2.3-R2')
            ok 4 - lte('1.2.3-r100', '1.2.3-r100')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.314ms
        
    ok 1 - comparison tests # time=242.932ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..2
            ok 1 - lte(1.2.3, v1.2.3)
            ok 2 - lte(v1.2.3, 1.2.3)
        ok 1 - 1.2.3 v1.2.3 true # time=0.977ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..2
            ok 1 - lte(1.2.3, =1.2.3)
            ok 2 - lte(=1.2.3, 1.2.3)
        ok 2 - 1.2.3 =1.2.3 true # time=0.898ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..2
            ok 1 - lte(1.2.3, v 1.2.3)
            ok 2 - lte(v 1.2.3, 1.2.3)
        ok 3 - 1.2.3 v 1.2.3 true # time=0.884ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..2
            ok 1 - lte(1.2.3, = 1.2.3)
            ok 2 - lte(= 1.2.3, 1.2.3)
        ok 4 - 1.2.3 = 1.2.3 true # time=0.9ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..2
            ok 1 - lte(1.2.3,  v1.2.3)
            ok 2 - lte( v1.2.3, 1.2.3)
        ok 5 - 1.2.3  v1.2.3 true # time=0.867ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..2
            ok 1 - lte(1.2.3,  =1.2.3)
            ok 2 - lte( =1.2.3, 1.2.3)
        ok 6 - 1.2.3  =1.2.3 true # time=0.856ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..2
            ok 1 - lte(1.2.3,  v 1.2.3)
            ok 2 - lte( v 1.2.3, 1.2.3)
        ok 7 - 1.2.3  v 1.2.3 true # time=0.873ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..2
            ok 1 - lte(1.2.3,  = 1.2.3)
            ok 2 - lte( = 1.2.3, 1.2.3)
        ok 8 - 1.2.3  = 1.2.3 true # time=0.878ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0, v1.2.3-0)
            ok 2 - lte(v1.2.3-0, 1.2.3-0)
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=0.929ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0, =1.2.3-0)
            ok 2 - lte(=1.2.3-0, 1.2.3-0)
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=0.896ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0, v 1.2.3-0)
            ok 2 - lte(v 1.2.3-0, 1.2.3-0)
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=0.891ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0, = 1.2.3-0)
            ok 2 - lte(= 1.2.3-0, 1.2.3-0)
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=0.886ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0,  v1.2.3-0)
            ok 2 - lte( v1.2.3-0, 1.2.3-0)
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=0.878ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0,  =1.2.3-0)
            ok 2 - lte( =1.2.3-0, 1.2.3-0)
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=0.88ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0,  v 1.2.3-0)
            ok 2 - lte( v 1.2.3-0, 1.2.3-0)
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=0.875ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..2
            ok 1 - lte(1.2.3-0,  = 1.2.3-0)
            ok 2 - lte( = 1.2.3-0, 1.2.3-0)
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=0.902ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1, v1.2.3-1)
            ok 2 - lte(v1.2.3-1, 1.2.3-1)
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=0.899ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1, =1.2.3-1)
            ok 2 - lte(=1.2.3-1, 1.2.3-1)
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=0.88ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1, v 1.2.3-1)
            ok 2 - lte(v 1.2.3-1, 1.2.3-1)
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.476ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1, = 1.2.3-1)
            ok 2 - lte(= 1.2.3-1, 1.2.3-1)
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=0.85ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1,  v1.2.3-1)
            ok 2 - lte( v1.2.3-1, 1.2.3-1)
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=0.855ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1,  =1.2.3-1)
            ok 2 - lte( =1.2.3-1, 1.2.3-1)
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=0.872ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1,  v 1.2.3-1)
            ok 2 - lte( v 1.2.3-1, 1.2.3-1)
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=0.869ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..2
            ok 1 - lte(1.2.3-1,  = 1.2.3-1)
            ok 2 - lte( = 1.2.3-1, 1.2.3-1)
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=0.858ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta, v1.2.3-beta)
            ok 2 - lte(v1.2.3-beta, 1.2.3-beta)
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=0.858ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta, =1.2.3-beta)
            ok 2 - lte(=1.2.3-beta, 1.2.3-beta)
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=0.882ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta, v 1.2.3-beta)
            ok 2 - lte(v 1.2.3-beta, 1.2.3-beta)
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.155ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta, = 1.2.3-beta)
            ok 2 - lte(= 1.2.3-beta, 1.2.3-beta)
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=0.885ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta,  v1.2.3-beta)
            ok 2 - lte( v1.2.3-beta, 1.2.3-beta)
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=0.851ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta,  =1.2.3-beta)
            ok 2 - lte( =1.2.3-beta, 1.2.3-beta)
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=0.857ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta,  v 1.2.3-beta)
            ok 2 - lte( v 1.2.3-beta, 1.2.3-beta)
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=0.869ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..2
            ok 1 - lte(1.2.3-beta,  = 1.2.3-beta)
            ok 2 - lte( = 1.2.3-beta, 1.2.3-beta)
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=0.857ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..2
            ok 1 - lte(1.2.3-beta+build,  = 1.2.3-beta+otherbuild)
            ok 2 - lte( = 1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=0.86ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..2
            ok 1 - lte(1.2.3+build,  = 1.2.3+otherbuild)
            ok 2 - lte( = 1.2.3+otherbuild, 1.2.3+build)
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=0.834ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..2
            ok 1 - lte(1.2.3-beta+build, 1.2.3-beta+otherbuild)
            ok 2 - lte(1.2.3-beta+otherbuild, 1.2.3-beta+build)
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=0.84ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - lte(1.2.3+build, 1.2.3+otherbuild)
            ok 2 - lte(1.2.3+otherbuild, 1.2.3+build)
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=0.843ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..2
            ok 1 - lte(  v1.2.3+build, 1.2.3+otherbuild)
            ok 2 - lte(1.2.3+otherbuild,   v1.2.3+build)
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=0.815ms
        
    ok 2 - equality tests # time=224.439ms
    
    1..2
    # time=475.625ms
ok 20 - test/functions/lte.js # time=475.625ms

# Subtest: test/functions/major.js
    # Subtest: major tests
        ok 1 - major(1.2.3) = 1
        ok 2 - major( 1.2.3 ) = 1
        ok 3 - major( 2.2.3-4 ) = 2
        ok 4 - major( 3.2.3-pre ) = 3
        ok 5 - major(v5.2.3) = 5
        ok 6 - major( v8.2.3 ) = 8
        ok 7 - major(  13.2.3) = 13
        ok 8 - major(=21.2.3) = 21
        ok 9 - major(v=34.2.3) = 34
        1..9
    ok 1 - major tests # time=6.46ms
    
    1..1
    # time=11.167ms
ok 21 - test/functions/major.js # time=11.167ms

# Subtest: test/functions/minor.js
    # Subtest: minor tests
        ok 1 - minor(1.1.3) = 1
        ok 2 - minor( 1.1.3 ) = 1
        ok 3 - minor( 1.2.3-4 ) = 2
        ok 4 - minor( 1.3.3-pre ) = 3
        ok 5 - minor(v1.5.3) = 5
        ok 6 - minor( v1.8.3 ) = 8
        ok 7 - minor(  1.13.3) = 13
        ok 8 - minor(=1.21.3) = 21
        ok 9 - minor(v=1.34.3) = 34
        1..9
    ok 1 - minor tests # time=10.215ms
    
    1..1
    # time=15.092ms
ok 22 - test/functions/minor.js # time=15.092ms

# Subtest: test/functions/neq.js
    # Subtest: comparison tests
        1..31
        # Subtest: 0.0.0 0.0.0-foo undefined
            1..4
            ok 1 - neq(0.0.0, 0.0.0-foo)
            ok 2 - neq(0.0.0-foo, 0.0.0)
            ok 3 - !neq('0.0.0-foo', '0.0.0-foo')
            ok 4 - !neq('0.0.0', '0.0.0')
        ok 1 - 0.0.0 0.0.0-foo undefined # time=4.926ms
        
        # Subtest: 0.0.1 0.0.0 undefined
            1..4
            ok 1 - neq(0.0.1, 0.0.0)
            ok 2 - neq(0.0.0, 0.0.1)
            ok 3 - !neq('0.0.0', '0.0.0')
            ok 4 - !neq('0.0.1', '0.0.1')
        ok 2 - 0.0.1 0.0.0 undefined # time=1.802ms
        
        # Subtest: 1.0.0 0.9.9 undefined
            1..4
            ok 1 - neq(1.0.0, 0.9.9)
            ok 2 - neq(0.9.9, 1.0.0)
            ok 3 - !neq('0.9.9', '0.9.9')
            ok 4 - !neq('1.0.0', '1.0.0')
        ok 3 - 1.0.0 0.9.9 undefined # time=1.622ms
        
        # Subtest: 0.10.0 0.9.0 undefined
            1..4
            ok 1 - neq(0.10.0, 0.9.0)
            ok 2 - neq(0.9.0, 0.10.0)
            ok 3 - !neq('0.9.0', '0.9.0')
            ok 4 - !neq('0.10.0', '0.10.0')
        ok 4 - 0.10.0 0.9.0 undefined # time=1.584ms
        
        # Subtest: 0.99.0 0.10.0 [object Object]
            1..4
            ok 1 - neq(0.99.0, 0.10.0)
            ok 2 - neq(0.10.0, 0.99.0)
            ok 3 - !neq('0.10.0', '0.10.0')
            ok 4 - !neq('0.99.0', '0.99.0')
        ok 5 - 0.99.0 0.10.0 [object Object] # time=1.545ms
        
        # Subtest: 2.0.0 1.2.3 [object Object]
            1..4
            ok 1 - neq(2.0.0, 1.2.3)
            ok 2 - neq(1.2.3, 2.0.0)
            ok 3 - !neq('1.2.3', '1.2.3')
            ok 4 - !neq('2.0.0', '2.0.0')
        ok 6 - 2.0.0 1.2.3 [object Object] # time=1.478ms
        
        # Subtest: v0.0.0 0.0.0-foo true
            1..4
            ok 1 - neq(v0.0.0, 0.0.0-foo)
            ok 2 - neq(0.0.0-foo, v0.0.0)
            ok 3 - !neq('0.0.0-foo', '0.0.0-foo')
            ok 4 - !neq('v0.0.0', 'v0.0.0')
        ok 7 - v0.0.0 0.0.0-foo true # time=1.783ms
        
        # Subtest: v0.0.1 0.0.0 [object Object]
            1..4
            ok 1 - neq(v0.0.1, 0.0.0)
            ok 2 - neq(0.0.0, v0.0.1)
            ok 3 - !neq('0.0.0', '0.0.0')
            ok 4 - !neq('v0.0.1', 'v0.0.1')
        ok 8 - v0.0.1 0.0.0 [object Object] # time=1.485ms
        
        # Subtest: v1.0.0 0.9.9 true
            1..4
            ok 1 - neq(v1.0.0, 0.9.9)
            ok 2 - neq(0.9.9, v1.0.0)
            ok 3 - !neq('0.9.9', '0.9.9')
            ok 4 - !neq('v1.0.0', 'v1.0.0')
        ok 9 - v1.0.0 0.9.9 true # time=1.509ms
        
        # Subtest: v0.10.0 0.9.0 true
            1..4
            ok 1 - neq(v0.10.0, 0.9.0)
            ok 2 - neq(0.9.0, v0.10.0)
            ok 3 - !neq('0.9.0', '0.9.0')
            ok 4 - !neq('v0.10.0', 'v0.10.0')
        ok 10 - v0.10.0 0.9.0 true # time=1.499ms
        
        # Subtest: v0.99.0 0.10.0 true
            1..4
            ok 1 - neq(v0.99.0, 0.10.0)
            ok 2 - neq(0.10.0, v0.99.0)
            ok 3 - !neq('0.10.0', '0.10.0')
            ok 4 - !neq('v0.99.0', 'v0.99.0')
        ok 11 - v0.99.0 0.10.0 true # time=1.67ms
        
        # Subtest: v2.0.0 1.2.3 true
            1..4
            ok 1 - neq(v2.0.0, 1.2.3)
            ok 2 - neq(1.2.3, v2.0.0)
            ok 3 - !neq('1.2.3', '1.2.3')
            ok 4 - !neq('v2.0.0', 'v2.0.0')
        ok 12 - v2.0.0 1.2.3 true # time=1.469ms
        
        # Subtest: 0.0.0 v0.0.0-foo true
            1..4
            ok 1 - neq(0.0.0, v0.0.0-foo)
            ok 2 - neq(v0.0.0-foo, 0.0.0)
            ok 3 - !neq('v0.0.0-foo', 'v0.0.0-foo')
            ok 4 - !neq('0.0.0', '0.0.0')
        ok 13 - 0.0.0 v0.0.0-foo true # time=1.478ms
        
        # Subtest: 0.0.1 v0.0.0 true
            1..4
            ok 1 - neq(0.0.1, v0.0.0)
            ok 2 - neq(v0.0.0, 0.0.1)
            ok 3 - !neq('v0.0.0', 'v0.0.0')
            ok 4 - !neq('0.0.1', '0.0.1')
        ok 14 - 0.0.1 v0.0.0 true # time=1.458ms
        
        # Subtest: 1.0.0 v0.9.9 true
            1..4
            ok 1 - neq(1.0.0, v0.9.9)
            ok 2 - neq(v0.9.9, 1.0.0)
            ok 3 - !neq('v0.9.9', 'v0.9.9')
            ok 4 - !neq('1.0.0', '1.0.0')
        ok 15 - 1.0.0 v0.9.9 true # time=1.454ms
        
        # Subtest: 0.10.0 v0.9.0 true
            1..4
            ok 1 - neq(0.10.0, v0.9.0)
            ok 2 - neq(v0.9.0, 0.10.0)
            ok 3 - !neq('v0.9.0', 'v0.9.0')
            ok 4 - !neq('0.10.0', '0.10.0')
        ok 16 - 0.10.0 v0.9.0 true # time=1.471ms
        
        # Subtest: 0.99.0 v0.10.0 true
            1..4
            ok 1 - neq(0.99.0, v0.10.0)
            ok 2 - neq(v0.10.0, 0.99.0)
            ok 3 - !neq('v0.10.0', 'v0.10.0')
            ok 4 - !neq('0.99.0', '0.99.0')
        ok 17 - 0.99.0 v0.10.0 true # time=1.47ms
        
        # Subtest: 2.0.0 v1.2.3 true
            1..4
            ok 1 - neq(2.0.0, v1.2.3)
            ok 2 - neq(v1.2.3, 2.0.0)
            ok 3 - !neq('v1.2.3', 'v1.2.3')
            ok 4 - !neq('2.0.0', '2.0.0')
        ok 18 - 2.0.0 v1.2.3 true # time=1.481ms
        
        # Subtest: 1.2.3 1.2.3-asdf undefined
            1..4
            ok 1 - neq(1.2.3, 1.2.3-asdf)
            ok 2 - neq(1.2.3-asdf, 1.2.3)
            ok 3 - !neq('1.2.3-asdf', '1.2.3-asdf')
            ok 4 - !neq('1.2.3', '1.2.3')
        ok 19 - 1.2.3 1.2.3-asdf undefined # time=1.559ms
        
        # Subtest: 1.2.3 1.2.3-4 undefined
            1..4
            ok 1 - neq(1.2.3, 1.2.3-4)
            ok 2 - neq(1.2.3-4, 1.2.3)
            ok 3 - !neq('1.2.3-4', '1.2.3-4')
            ok 4 - !neq('1.2.3', '1.2.3')
        ok 20 - 1.2.3 1.2.3-4 undefined # time=1.501ms
        
        # Subtest: 1.2.3 1.2.3-4-foo undefined
            1..4
            ok 1 - neq(1.2.3, 1.2.3-4-foo)
            ok 2 - neq(1.2.3-4-foo, 1.2.3)
            ok 3 - !neq('1.2.3-4-foo', '1.2.3-4-foo')
            ok 4 - !neq('1.2.3', '1.2.3')
        ok 21 - 1.2.3 1.2.3-4-foo undefined # time=1.492ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5 undefined
            1..4
            ok 1 - neq(1.2.3-5-foo, 1.2.3-5)
            ok 2 - neq(1.2.3-5, 1.2.3-5-foo)
            ok 3 - !neq('1.2.3-5', '1.2.3-5')
            ok 4 - !neq('1.2.3-5-foo', '1.2.3-5-foo')
        ok 22 - 1.2.3-5-foo 1.2.3-5 undefined # time=1.589ms
        
        # Subtest: 1.2.3-5 1.2.3-4 undefined
            1..4
            ok 1 - neq(1.2.3-5, 1.2.3-4)
            ok 2 - neq(1.2.3-4, 1.2.3-5)
            ok 3 - !neq('1.2.3-4', '1.2.3-4')
            ok 4 - !neq('1.2.3-5', '1.2.3-5')
        ok 23 - 1.2.3-5 1.2.3-4 undefined # time=1.516ms
        
        # Subtest: 1.2.3-5-foo 1.2.3-5-Foo undefined
            1..4
            ok 1 - neq(1.2.3-5-foo, 1.2.3-5-Foo)
            ok 2 - neq(1.2.3-5-Foo, 1.2.3-5-foo)
            ok 3 - !neq('1.2.3-5-Foo', '1.2.3-5-Foo')
            ok 4 - !neq('1.2.3-5-foo', '1.2.3-5-foo')
        ok 24 - 1.2.3-5-foo 1.2.3-5-Foo undefined # time=3.511ms
        
        # Subtest: 3.0.0 2.7.2+asdf undefined
            1..4
            ok 1 - neq(3.0.0, 2.7.2+asdf)
            ok 2 - neq(2.7.2+asdf, 3.0.0)
            ok 3 - !neq('2.7.2+asdf', '2.7.2+asdf')
            ok 4 - !neq('3.0.0', '3.0.0')
        ok 25 - 3.0.0 2.7.2+asdf undefined # time=1.475ms
        
        # Subtest: 1.2.3-a.10 1.2.3-a.5 undefined
            1..4
            ok 1 - neq(1.2.3-a.10, 1.2.3-a.5)
            ok 2 - neq(1.2.3-a.5, 1.2.3-a.10)
            ok 3 - !neq('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - !neq('1.2.3-a.10', '1.2.3-a.10')
        ok 26 - 1.2.3-a.10 1.2.3-a.5 undefined # time=1.406ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a.5 undefined
            1..4
            ok 1 - neq(1.2.3-a.b, 1.2.3-a.5)
            ok 2 - neq(1.2.3-a.5, 1.2.3-a.b)
            ok 3 - !neq('1.2.3-a.5', '1.2.3-a.5')
            ok 4 - !neq('1.2.3-a.b', '1.2.3-a.b')
        ok 27 - 1.2.3-a.b 1.2.3-a.5 undefined # time=1.345ms
        
        # Subtest: 1.2.3-a.b 1.2.3-a undefined
            1..4
            ok 1 - neq(1.2.3-a.b, 1.2.3-a)
            ok 2 - neq(1.2.3-a, 1.2.3-a.b)
            ok 3 - !neq('1.2.3-a', '1.2.3-a')
            ok 4 - !neq('1.2.3-a.b', '1.2.3-a.b')
        ok 28 - 1.2.3-a.b 1.2.3-a undefined # time=1.337ms
        
        # Subtest: 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined
            1..4
            ok 1 - neq(1.2.3-a.b.c.10.d.5, 1.2.3-a.b.c.5.d.100)
            ok 2 - neq(1.2.3-a.b.c.5.d.100, 1.2.3-a.b.c.10.d.5)
            ok 3 - !neq('1.2.3-a.b.c.5.d.100', '1.2.3-a.b.c.5.d.100')
            ok 4 - !neq('1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.10.d.5')
        ok 29 - 1.2.3-a.b.c.10.d.5 1.2.3-a.b.c.5.d.100 undefined # time=1.35ms
        
        # Subtest: 1.2.3-r2 1.2.3-r100 undefined
            1..4
            ok 1 - neq(1.2.3-r2, 1.2.3-r100)
            ok 2 - neq(1.2.3-r100, 1.2.3-r2)
            ok 3 - !neq('1.2.3-r100', '1.2.3-r100')
            ok 4 - !neq('1.2.3-r2', '1.2.3-r2')
        ok 30 - 1.2.3-r2 1.2.3-r100 undefined # time=1.315ms
        
        # Subtest: 1.2.3-r100 1.2.3-R2 undefined
            1..4
            ok 1 - neq(1.2.3-r100, 1.2.3-R2)
            ok 2 - neq(1.2.3-R2, 1.2.3-r100)
            ok 3 - !neq('1.2.3-R2', '1.2.3-R2')
            ok 4 - !neq('1.2.3-r100', '1.2.3-r100')
        ok 31 - 1.2.3-r100 1.2.3-R2 undefined # time=1.339ms
        
    ok 1 - comparison tests # time=237.477ms
    
    # Subtest: equality tests
        1..37
        # Subtest: 1.2.3 v1.2.3 true
            1..4
            ok 1 - !neq(1.2.3, v1.2.3)
            ok 2 - !neq(v1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq(v1.2.3, v1.2.3)
        ok 1 - 1.2.3 v1.2.3 true # time=1.423ms
        
        # Subtest: 1.2.3 =1.2.3 true
            1..4
            ok 1 - !neq(1.2.3, =1.2.3)
            ok 2 - !neq(=1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq(=1.2.3, =1.2.3)
        ok 2 - 1.2.3 =1.2.3 true # time=1.273ms
        
        # Subtest: 1.2.3 v 1.2.3 true
            1..4
            ok 1 - !neq(1.2.3, v 1.2.3)
            ok 2 - !neq(v 1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq(v 1.2.3, v 1.2.3)
        ok 3 - 1.2.3 v 1.2.3 true # time=1.276ms
        
        # Subtest: 1.2.3 = 1.2.3 true
            1..4
            ok 1 - !neq(1.2.3, = 1.2.3)
            ok 2 - !neq(= 1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq(= 1.2.3, = 1.2.3)
        ok 4 - 1.2.3 = 1.2.3 true # time=1.275ms
        
        # Subtest: 1.2.3  v1.2.3 true
            1..4
            ok 1 - !neq(1.2.3,  v1.2.3)
            ok 2 - !neq( v1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq( v1.2.3,  v1.2.3)
        ok 5 - 1.2.3  v1.2.3 true # time=1.298ms
        
        # Subtest: 1.2.3  =1.2.3 true
            1..4
            ok 1 - !neq(1.2.3,  =1.2.3)
            ok 2 - !neq( =1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq( =1.2.3,  =1.2.3)
        ok 6 - 1.2.3  =1.2.3 true # time=1.28ms
        
        # Subtest: 1.2.3  v 1.2.3 true
            1..4
            ok 1 - !neq(1.2.3,  v 1.2.3)
            ok 2 - !neq( v 1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq( v 1.2.3,  v 1.2.3)
        ok 7 - 1.2.3  v 1.2.3 true # time=1.278ms
        
        # Subtest: 1.2.3  = 1.2.3 true
            1..4
            ok 1 - !neq(1.2.3,  = 1.2.3)
            ok 2 - !neq( = 1.2.3, 1.2.3)
            ok 3 - !neq(1.2.3, 1.2.3)
            ok 4 - !neq( = 1.2.3,  = 1.2.3)
        ok 8 - 1.2.3  = 1.2.3 true # time=1.29ms
        
        # Subtest: 1.2.3-0 v1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0, v1.2.3-0)
            ok 2 - !neq(v1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq(v1.2.3-0, v1.2.3-0)
        ok 9 - 1.2.3-0 v1.2.3-0 true # time=1.342ms
        
        # Subtest: 1.2.3-0 =1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0, =1.2.3-0)
            ok 2 - !neq(=1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq(=1.2.3-0, =1.2.3-0)
        ok 10 - 1.2.3-0 =1.2.3-0 true # time=1.331ms
        
        # Subtest: 1.2.3-0 v 1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0, v 1.2.3-0)
            ok 2 - !neq(v 1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq(v 1.2.3-0, v 1.2.3-0)
        ok 11 - 1.2.3-0 v 1.2.3-0 true # time=1.308ms
        
        # Subtest: 1.2.3-0 = 1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0, = 1.2.3-0)
            ok 2 - !neq(= 1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq(= 1.2.3-0, = 1.2.3-0)
        ok 12 - 1.2.3-0 = 1.2.3-0 true # time=1.313ms
        
        # Subtest: 1.2.3-0  v1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0,  v1.2.3-0)
            ok 2 - !neq( v1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq( v1.2.3-0,  v1.2.3-0)
        ok 13 - 1.2.3-0  v1.2.3-0 true # time=1.942ms
        
        # Subtest: 1.2.3-0  =1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0,  =1.2.3-0)
            ok 2 - !neq( =1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq( =1.2.3-0,  =1.2.3-0)
        ok 14 - 1.2.3-0  =1.2.3-0 true # time=1.284ms
        
        # Subtest: 1.2.3-0  v 1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0,  v 1.2.3-0)
            ok 2 - !neq( v 1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq( v 1.2.3-0,  v 1.2.3-0)
        ok 15 - 1.2.3-0  v 1.2.3-0 true # time=1.264ms
        
        # Subtest: 1.2.3-0  = 1.2.3-0 true
            1..4
            ok 1 - !neq(1.2.3-0,  = 1.2.3-0)
            ok 2 - !neq( = 1.2.3-0, 1.2.3-0)
            ok 3 - !neq(1.2.3-0, 1.2.3-0)
            ok 4 - !neq( = 1.2.3-0,  = 1.2.3-0)
        ok 16 - 1.2.3-0  = 1.2.3-0 true # time=1.258ms
        
        # Subtest: 1.2.3-1 v1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1, v1.2.3-1)
            ok 2 - !neq(v1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq(v1.2.3-1, v1.2.3-1)
        ok 17 - 1.2.3-1 v1.2.3-1 true # time=1.259ms
        
        # Subtest: 1.2.3-1 =1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1, =1.2.3-1)
            ok 2 - !neq(=1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq(=1.2.3-1, =1.2.3-1)
        ok 18 - 1.2.3-1 =1.2.3-1 true # time=1.26ms
        
        # Subtest: 1.2.3-1 v 1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1, v 1.2.3-1)
            ok 2 - !neq(v 1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq(v 1.2.3-1, v 1.2.3-1)
        ok 19 - 1.2.3-1 v 1.2.3-1 true # time=1.268ms
        
        # Subtest: 1.2.3-1 = 1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1, = 1.2.3-1)
            ok 2 - !neq(= 1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq(= 1.2.3-1, = 1.2.3-1)
        ok 20 - 1.2.3-1 = 1.2.3-1 true # time=1.526ms
        
        # Subtest: 1.2.3-1  v1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1,  v1.2.3-1)
            ok 2 - !neq( v1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq( v1.2.3-1,  v1.2.3-1)
        ok 21 - 1.2.3-1  v1.2.3-1 true # time=1.241ms
        
        # Subtest: 1.2.3-1  =1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1,  =1.2.3-1)
            ok 2 - !neq( =1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq( =1.2.3-1,  =1.2.3-1)
        ok 22 - 1.2.3-1  =1.2.3-1 true # time=1.251ms
        
        # Subtest: 1.2.3-1  v 1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1,  v 1.2.3-1)
            ok 2 - !neq( v 1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq( v 1.2.3-1,  v 1.2.3-1)
        ok 23 - 1.2.3-1  v 1.2.3-1 true # time=1.265ms
        
        # Subtest: 1.2.3-1  = 1.2.3-1 true
            1..4
            ok 1 - !neq(1.2.3-1,  = 1.2.3-1)
            ok 2 - !neq( = 1.2.3-1, 1.2.3-1)
            ok 3 - !neq(1.2.3-1, 1.2.3-1)
            ok 4 - !neq( = 1.2.3-1,  = 1.2.3-1)
        ok 24 - 1.2.3-1  = 1.2.3-1 true # time=1.256ms
        
        # Subtest: 1.2.3-beta v1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta, v1.2.3-beta)
            ok 2 - !neq(v1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq(v1.2.3-beta, v1.2.3-beta)
        ok 25 - 1.2.3-beta v1.2.3-beta true # time=1.226ms
        
        # Subtest: 1.2.3-beta =1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta, =1.2.3-beta)
            ok 2 - !neq(=1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq(=1.2.3-beta, =1.2.3-beta)
        ok 26 - 1.2.3-beta =1.2.3-beta true # time=1.227ms
        
        # Subtest: 1.2.3-beta v 1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta, v 1.2.3-beta)
            ok 2 - !neq(v 1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq(v 1.2.3-beta, v 1.2.3-beta)
        ok 27 - 1.2.3-beta v 1.2.3-beta true # time=1.286ms
        
        # Subtest: 1.2.3-beta = 1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta, = 1.2.3-beta)
            ok 2 - !neq(= 1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq(= 1.2.3-beta, = 1.2.3-beta)
        ok 28 - 1.2.3-beta = 1.2.3-beta true # time=1.251ms
        
        # Subtest: 1.2.3-beta  v1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta,  v1.2.3-beta)
            ok 2 - !neq( v1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq( v1.2.3-beta,  v1.2.3-beta)
        ok 29 - 1.2.3-beta  v1.2.3-beta true # time=1.237ms
        
        # Subtest: 1.2.3-beta  =1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta,  =1.2.3-beta)
            ok 2 - !neq( =1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq( =1.2.3-beta,  =1.2.3-beta)
        ok 30 - 1.2.3-beta  =1.2.3-beta true # time=1.2ms
        
        # Subtest: 1.2.3-beta  v 1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta,  v 1.2.3-beta)
            ok 2 - !neq( v 1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq( v 1.2.3-beta,  v 1.2.3-beta)
        ok 31 - 1.2.3-beta  v 1.2.3-beta true # time=1.204ms
        
        # Subtest: 1.2.3-beta  = 1.2.3-beta true
            1..4
            ok 1 - !neq(1.2.3-beta,  = 1.2.3-beta)
            ok 2 - !neq( = 1.2.3-beta, 1.2.3-beta)
            ok 3 - !neq(1.2.3-beta, 1.2.3-beta)
            ok 4 - !neq( = 1.2.3-beta,  = 1.2.3-beta)
        ok 32 - 1.2.3-beta  = 1.2.3-beta true # time=1.209ms
        
        # Subtest: 1.2.3-beta+build  = 1.2.3-beta+otherbuild true
            1..4
            ok 1 - !neq(1.2.3-beta+build,  = 1.2.3-beta+otherbuild)
            ok 2 - !neq( = 1.2.3-beta+otherbuild, 1.2.3-beta+build)
            ok 3 - !neq(1.2.3-beta+build, 1.2.3-beta+build)
            ok 4 - !neq( = 1.2.3-beta+otherbuild,  = 1.2.3-beta+otherbuild)
        ok 33 - 1.2.3-beta+build  = 1.2.3-beta+otherbuild true # time=1.213ms
        
        # Subtest: 1.2.3+build  = 1.2.3+otherbuild true
            1..4
            ok 1 - !neq(1.2.3+build,  = 1.2.3+otherbuild)
            ok 2 - !neq( = 1.2.3+otherbuild, 1.2.3+build)
            ok 3 - !neq(1.2.3+build, 1.2.3+build)
            ok 4 - !neq( = 1.2.3+otherbuild,  = 1.2.3+otherbuild)
        ok 34 - 1.2.3+build  = 1.2.3+otherbuild true # time=1.192ms
        
        # Subtest: 1.2.3-beta+build 1.2.3-beta+otherbuild undefined
            1..4
            ok 1 - !neq(1.2.3-beta+build, 1.2.3-beta+otherbuild)
            ok 2 - !neq(1.2.3-beta+otherbuild, 1.2.3-beta+build)
            ok 3 - !neq(1.2.3-beta+build, 1.2.3-beta+build)
            ok 4 - !neq(1.2.3-beta+otherbuild, 1.2.3-beta+otherbuild)
        ok 35 - 1.2.3-beta+build 1.2.3-beta+otherbuild undefined # time=1.216ms
        
        # Subtest: 1.2.3+build 1.2.3+otherbuild undefined
            1..4
            ok 1 - !neq(1.2.3+build, 1.2.3+otherbuild)
            ok 2 - !neq(1.2.3+otherbuild, 1.2.3+build)
            ok 3 - !neq(1.2.3+build, 1.2.3+build)
            ok 4 - !neq(1.2.3+otherbuild, 1.2.3+otherbuild)
        ok 36 - 1.2.3+build 1.2.3+otherbuild undefined # time=1.198ms
        
        # Subtest:   v1.2.3+build 1.2.3+otherbuild undefined
            1..4
            ok 1 - !neq(  v1.2.3+build, 1.2.3+otherbuild)
            ok 2 - !neq(1.2.3+otherbuild,   v1.2.3+build)
            ok 3 - !neq(  v1.2.3+build,   v1.2.3+build)
            ok 4 - !neq(1.2.3+otherbuild, 1.2.3+otherbuild)
        ok 37 - v1.2.3+build 1.2.3+otherbuild undefined # time=1.196ms
        
    ok 2 - equality tests # time=233.575ms
    
    1..2
    # time=479.105ms
ok 23 - test/functions/neq.js # time=479.105ms

# Subtest: test/functions/parse.js
    # Subtest: returns null instead of throwing when presented with garbage
        1..10
        ok 1 - too long
        ok 2 - too big
        ok 3 - too big
        ok 4 - too big
        ok 5 - not a version
        ok 6 - true
        ok 7 - even loose as an opt, same
        ok 8 - regexp is not a string
        ok 9 - semver-ish regexp is not a string
        ok 10 - obj with a tostring is not a string
    ok 1 - returns null instead of throwing when presented with garbage # time=6.665ms
    
    # Subtest: parse a version into a SemVer object
        ok 1 - should match pattern provided
        ok 2 - just return it if its a SemVer obj
        ok 3 - looseness as a boolean
        ok 4 - looseness as an option
        1..4
    ok 2 - parse a version into a SemVer object # time=7.286ms
    
    1..2
    # time=24.849ms
ok 24 - test/functions/parse.js # time=24.849ms

# Subtest: test/functions/patch.js
    # Subtest: patch tests
        ok 1 - patch(1.2.1) = 1
        ok 2 - patch( 1.2.1 ) = 1
        ok 3 - patch( 1.2.2-4 ) = 2
        ok 4 - patch( 1.2.3-pre ) = 3
        ok 5 - patch(v1.2.5) = 5
        ok 6 - patch( v1.2.8 ) = 8
        ok 7 - patch(  1.2.13) = 13
        ok 8 - patch(=1.2.21) = 21
        ok 9 - patch(v=1.2.34) = 34
        1..9
    ok 1 - patch tests # time=6.482ms
    
    1..1
    # time=11.264ms
ok 25 - test/functions/patch.js # time=11.264ms

# Subtest: test/functions/prerelease.js
    # Subtest: prerelease
        ok 1 - prerelease(1.2.2-alpha.1)
        ok 2 - prerelease(0.6.1-1)
        ok 3 - prerelease(1.0.0-beta.2)
        ok 4 - prerelease(v0.5.4-pre)
        ok 5 - prerelease(1.2.2-alpha.1)
        ok 6 - prerelease(0.6.1beta)
        ok 7 - prerelease(1.0.0)
        ok 8 - prerelease(~2.0.0-alpha.1)
        ok 9 - prerelease(invalid version)
        1..9
    ok 1 - prerelease # time=10.464ms
    
    1..1
    # time=15.17ms
ok 26 - test/functions/prerelease.js # time=15.17ms

# Subtest: test/functions/rcompare.js
    # Subtest: rcompare
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        1..4
    ok 1 - rcompare # time=5.248ms
    
    1..1
    # time=10.024ms
ok 27 - test/functions/rcompare.js # time=10.024ms

# Subtest: test/functions/rsort.js
    # Subtest: sorting
        ok 1 - should be equivalent
        1..1
    ok 1 - sorting # time=7.245ms
    
    1..1
    # time=11.876ms
ok 28 - test/functions/rsort.js # time=11.876ms

# Subtest: test/functions/satisfies.js
    # Subtest: range tests
        1..122
        ok 1 - 1.0.0 - 2.0.0 satisfied by 1.2.3
        ok 2 - ^1.2.3+build satisfied by 1.2.3
        ok 3 - ^1.2.3+build satisfied by 1.3.0
        ok 4 - 1.2.3-pre+asdf - 2.4.3-pre+asdf satisfied by 1.2.3
        ok 5 - 1.2.3pre+asdf - 2.4.3-pre+asdf satisfied by 1.2.3
        ok 6 - 1.2.3-pre+asdf - 2.4.3pre+asdf satisfied by 1.2.3
        ok 7 - 1.2.3pre+asdf - 2.4.3pre+asdf satisfied by 1.2.3
        ok 8 - 1.2.3-pre+asdf - 2.4.3-pre+asdf satisfied by 1.2.3-pre.2
        ok 9 - 1.2.3-pre+asdf - 2.4.3-pre+asdf satisfied by 2.4.3-alpha
        ok 10 - 1.2.3+asdf - 2.4.3+asdf satisfied by 1.2.3
        ok 11 - 1.0.0 satisfied by 1.0.0
        ok 12 - >=* satisfied by 0.2.4
        ok 13 - satisfied by 1.0.0
        ok 14 - * satisfied by 1.2.3
        ok 15 - * satisfied by v1.2.3
        ok 16 - >=1.0.0 satisfied by 1.0.0
        ok 17 - >=1.0.0 satisfied by 1.0.1
        ok 18 - >=1.0.0 satisfied by 1.1.0
        ok 19 - >1.0.0 satisfied by 1.0.1
        ok 20 - >1.0.0 satisfied by 1.1.0
        ok 21 - <=2.0.0 satisfied by 2.0.0
        ok 22 - <=2.0.0 satisfied by 1.9999.9999
        ok 23 - <=2.0.0 satisfied by 0.2.9
        ok 24 - <2.0.0 satisfied by 1.9999.9999
        ok 25 - <2.0.0 satisfied by 0.2.9
        ok 26 - >= 1.0.0 satisfied by 1.0.0
        ok 27 - >=  1.0.0 satisfied by 1.0.1
        ok 28 - >=   1.0.0 satisfied by 1.1.0
        ok 29 - > 1.0.0 satisfied by 1.0.1
        ok 30 - >  1.0.0 satisfied by 1.1.0
        ok 31 - <=   2.0.0 satisfied by 2.0.0
        ok 32 - <= 2.0.0 satisfied by 1.9999.9999
        ok 33 - <=  2.0.0 satisfied by 0.2.9
        ok 34 - <    2.0.0 satisfied by 1.9999.9999
        ok 35 - <  2.0.0 satisfied by 0.2.9
        ok 36 - >=0.1.97 satisfied by v0.1.97
        ok 37 - >=0.1.97 satisfied by 0.1.97
        ok 38 - 0.1.20 || 1.2.4 satisfied by 1.2.4
        ok 39 - >=0.2.3 || <0.0.1 satisfied by 0.0.0
        ok 40 - >=0.2.3 || <0.0.1 satisfied by 0.2.3
        ok 41 - >=0.2.3 || <0.0.1 satisfied by 0.2.4
        ok 42 - || satisfied by 1.3.4
        ok 43 - 2.x.x satisfied by 2.1.3
        ok 44 - 1.2.x satisfied by 1.2.3
        ok 45 - 1.2.x || 2.x satisfied by 2.1.3
        ok 46 - 1.2.x || 2.x satisfied by 1.2.3
        ok 47 - x satisfied by 1.2.3
        ok 48 - 2.*.* satisfied by 2.1.3
        ok 49 - 1.2.* satisfied by 1.2.3
        ok 50 - 1.2.* || 2.* satisfied by 2.1.3
        ok 51 - 1.2.* || 2.* satisfied by 1.2.3
        ok 52 - * satisfied by 1.2.3
        ok 53 - 2 satisfied by 2.1.2
        ok 54 - 2.3 satisfied by 2.3.1
        ok 55 - ~0.0.1 satisfied by 0.0.1
        ok 56 - ~0.0.1 satisfied by 0.0.2
        ok 57 - ~x satisfied by 0.0.9
        ok 58 - ~2 satisfied by 2.0.9
        ok 59 - ~2.4 satisfied by 2.4.0
        ok 60 - ~2.4 satisfied by 2.4.5
        ok 61 - ~>3.2.1 satisfied by 3.2.2
        ok 62 - ~1 satisfied by 1.2.3
        ok 63 - ~>1 satisfied by 1.2.3
        ok 64 - ~> 1 satisfied by 1.2.3
        ok 65 - ~1.0 satisfied by 1.0.2
        ok 66 - ~ 1.0 satisfied by 1.0.2
        ok 67 - ~ 1.0.3 satisfied by 1.0.12
        ok 68 - ~ 1.0.3alpha satisfied by 1.0.12
        ok 69 - >=1 satisfied by 1.0.0
        ok 70 - >= 1 satisfied by 1.0.0
        ok 71 - <1.2 satisfied by 1.1.1
        ok 72 - < 1.2 satisfied by 1.1.1
        ok 73 - ~v0.5.4-pre satisfied by 0.5.5
        ok 74 - ~v0.5.4-pre satisfied by 0.5.4
        ok 75 - =0.7.x satisfied by 0.7.2
        ok 76 - <=0.7.x satisfied by 0.7.2
        ok 77 - >=0.7.x satisfied by 0.7.2
        ok 78 - <=0.7.x satisfied by 0.6.2
        ok 79 - ~1.2.1 >=1.2.3 satisfied by 1.2.3
        ok 80 - ~1.2.1 =1.2.3 satisfied by 1.2.3
        ok 81 - ~1.2.1 1.2.3 satisfied by 1.2.3
        ok 82 - ~1.2.1 >=1.2.3 1.2.3 satisfied by 1.2.3
        ok 83 - ~1.2.1 1.2.3 >=1.2.3 satisfied by 1.2.3
        ok 84 - ~1.2.1 1.2.3 satisfied by 1.2.3
        ok 85 - >=1.2.1 1.2.3 satisfied by 1.2.3
        ok 86 - 1.2.3 >=1.2.1 satisfied by 1.2.3
        ok 87 - >=1.2.3 >=1.2.1 satisfied by 1.2.3
        ok 88 - >=1.2.1 >=1.2.3 satisfied by 1.2.3
        ok 89 - >=1.2 satisfied by 1.2.8
        ok 90 - ^1.2.3 satisfied by 1.8.1
        ok 91 - ^0.1.2 satisfied by 0.1.2
        ok 92 - ^0.1 satisfied by 0.1.2
        ok 93 - ^0.0.1 satisfied by 0.0.1
        ok 94 - ^1.2 satisfied by 1.4.2
        ok 95 - ^1.2 ^1 satisfied by 1.4.2
        ok 96 - ^1.2.3-alpha satisfied by 1.2.3-pre
        ok 97 - ^1.2.0-alpha satisfied by 1.2.0-pre
        ok 98 - ^0.0.1-alpha satisfied by 0.0.1-beta
        ok 99 - ^0.0.1-alpha satisfied by 0.0.1
        ok 100 - ^0.1.1-alpha satisfied by 0.1.1-beta
        ok 101 - ^x satisfied by 1.2.3
        ok 102 - x - 1.0.0 satisfied by 0.9.7
        ok 103 - x - 1.x satisfied by 0.9.7
        ok 104 - 1.0.0 - x satisfied by 1.9.7
        ok 105 - 1.x - x satisfied by 1.9.7
        ok 106 - <=7.x satisfied by 7.9.9
        ok 107 - 2.x satisfied by 2.0.0-pre.0
        ok 108 - 2.x satisfied by 2.1.0-pre.0
        ok 109 - 1.1.x satisfied by 1.1.0-a
        ok 110 - 1.1.x satisfied by 1.1.1-a
        ok 111 - * satisfied by 1.0.0-rc1
        ok 112 - ^1.0.0-0 satisfied by 1.0.1-rc1
        ok 113 - ^1.0.0-rc2 satisfied by 1.0.1-rc1
        ok 114 - ^1.0.0 satisfied by 1.0.1-rc1
        ok 115 - ^1.0.0 satisfied by 1.1.0-rc1
        ok 116 - 1 - 2 satisfied by 2.0.0-pre
        ok 117 - 1 - 2 satisfied by 1.0.0-pre
        ok 118 - 1.0 - 2 satisfied by 1.0.0-pre
        ok 119 - =0.7.x satisfied by 0.7.0-asdf
        ok 120 - >=0.7.x satisfied by 0.7.0-asdf
        ok 121 - <=0.7.x satisfied by 0.7.0-asdf
        ok 122 - >=1.0.0 <=1.1.0 satisfied by 1.1.0-pre
    ok 1 - range tests # time=39.03ms
    
    # Subtest: negative range tests
        1..96
        ok 1 - 1.0.0 - 2.0.0 not satisfied by 2.2.3
        ok 2 - 1.2.3+asdf - 2.4.3+asdf not satisfied by 1.2.3-pre.2
        ok 3 - 1.2.3+asdf - 2.4.3+asdf not satisfied by 2.4.3-alpha
        ok 4 - ^1.2.3+build not satisfied by 2.0.0
        ok 5 - ^1.2.3+build not satisfied by 1.2.0
        ok 6 - ^1.2.3 not satisfied by 1.2.3-pre
        ok 7 - ^1.2 not satisfied by 1.2.0-pre
        ok 8 - >1.2 not satisfied by 1.3.0-beta
        ok 9 - <=1.2.3 not satisfied by 1.2.3-beta
        ok 10 - ^1.2.3 not satisfied by 1.2.3-beta
        ok 11 - =0.7.x not satisfied by 0.7.0-asdf
        ok 12 - >=0.7.x not satisfied by 0.7.0-asdf
        ok 13 - <=0.7.x not satisfied by 0.7.0-asdf
        ok 14 - 1 not satisfied by 1.0.0beta
        ok 15 - <1 not satisfied by 1.0.0beta
        ok 16 - < 1 not satisfied by 1.0.0beta
        ok 17 - 1.0.0 not satisfied by 1.0.1
        ok 18 - >=1.0.0 not satisfied by 0.0.0
        ok 19 - >=1.0.0 not satisfied by 0.0.1
        ok 20 - >=1.0.0 not satisfied by 0.1.0
        ok 21 - >1.0.0 not satisfied by 0.0.1
        ok 22 - >1.0.0 not satisfied by 0.1.0
        ok 23 - <=2.0.0 not satisfied by 3.0.0
        ok 24 - <=2.0.0 not satisfied by 2.9999.9999
        ok 25 - <=2.0.0 not satisfied by 2.2.9
        ok 26 - <2.0.0 not satisfied by 2.9999.9999
        ok 27 - <2.0.0 not satisfied by 2.2.9
        ok 28 - >=0.1.97 not satisfied by v0.1.93
        ok 29 - >=0.1.97 not satisfied by 0.1.93
        ok 30 - 0.1.20 || 1.2.4 not satisfied by 1.2.3
        ok 31 - >=0.2.3 || <0.0.1 not satisfied by 0.0.3
        ok 32 - >=0.2.3 || <0.0.1 not satisfied by 0.2.2
        ok 33 - 2.x.x not satisfied by 1.1.3
        ok 34 - 2.x.x not satisfied by 3.1.3
        ok 35 - 1.2.x not satisfied by 1.3.3
        ok 36 - 1.2.x || 2.x not satisfied by 3.1.3
        ok 37 - 1.2.x || 2.x not satisfied by 1.1.3
        ok 38 - 2.*.* not satisfied by 1.1.3
        ok 39 - 2.*.* not satisfied by 3.1.3
        ok 40 - 1.2.* not satisfied by 1.3.3
        ok 41 - 1.2.* || 2.* not satisfied by 3.1.3
        ok 42 - 1.2.* || 2.* not satisfied by 1.1.3
        ok 43 - 2 not satisfied by 1.1.2
        ok 44 - 2.3 not satisfied by 2.4.1
        ok 45 - ~0.0.1 not satisfied by 0.1.0-alpha
        ok 46 - ~0.0.1 not satisfied by 0.1.0
        ok 47 - ~2.4 not satisfied by 2.5.0
        ok 48 - ~2.4 not satisfied by 2.3.9
        ok 49 - ~>3.2.1 not satisfied by 3.3.2
        ok 50 - ~>3.2.1 not satisfied by 3.2.0
        ok 51 - ~1 not satisfied by 0.2.3
        ok 52 - ~>1 not satisfied by 2.2.3
        ok 53 - ~1.0 not satisfied by 1.1.0
        ok 54 - <1 not satisfied by 1.0.0
        ok 55 - >=1.2 not satisfied by 1.1.1
        ok 56 - 1 not satisfied by 2.0.0beta
        ok 57 - ~v0.5.4-beta not satisfied by 0.5.4-alpha
        ok 58 - =0.7.x not satisfied by 0.8.2
        ok 59 - >=0.7.x not satisfied by 0.6.2
        ok 60 - <0.7.x not satisfied by 0.7.2
        ok 61 - <1.2.3 not satisfied by 1.2.3-beta
        ok 62 - =1.2.3 not satisfied by 1.2.3-beta
        ok 63 - >1.2 not satisfied by 1.2.8
        ok 64 - ^0.0.1 not satisfied by 0.0.2-alpha
        ok 65 - ^0.0.1 not satisfied by 0.0.2
        ok 66 - ^1.2.3 not satisfied by 2.0.0-alpha
        ok 67 - ^1.2.3 not satisfied by 1.2.2
        ok 68 - ^1.2 not satisfied by 1.1.9
        ok 69 - * not satisfied by v1.2.3-foo
        ok 70 - * not satisfied by not a version
        ok 71 - >=2 not satisfied by glorp
        ok 72 - >=2 not satisfied by false
        ok 73 - 2.x not satisfied by 3.0.0-pre.0
        ok 74 - ^1.0.0 not satisfied by 1.0.0-rc1
        ok 75 - ^1.0.0 not satisfied by 2.0.0-rc1
        ok 76 - ^1.2.3-rc2 not satisfied by 2.0.0
        ok 77 - ^1.0.0 not satisfied by 2.0.0-rc1
        ok 78 - ^1.0.0 not satisfied by 2.0.0-rc1
        ok 79 - 1 - 2 not satisfied by 3.0.0-pre
        ok 80 - 1 - 2 not satisfied by 2.0.0-pre
        ok 81 - 1 - 2 not satisfied by 1.0.0-pre
        ok 82 - 1.0 - 2 not satisfied by 1.0.0-pre
        ok 83 - 1.1.x not satisfied by 1.0.0-a
        ok 84 - 1.1.x not satisfied by 1.1.0-a
        ok 85 - 1.1.x not satisfied by 1.2.0-a
        ok 86 - 1.1.x not satisfied by 1.2.0-a
        ok 87 - 1.1.x not satisfied by 1.0.0-a
        ok 88 - 1.x not satisfied by 1.0.0-a
        ok 89 - 1.x not satisfied by 1.1.0-a
        ok 90 - 1.x not satisfied by 1.2.0-a
        ok 91 - 1.x not satisfied by 0.0.0-a
        ok 92 - 1.x not satisfied by 2.0.0-a
        ok 93 - >=1.0.0 <1.1.0 not satisfied by 1.1.0
        ok 94 - >=1.0.0 <1.1.0 not satisfied by 1.1.0
        ok 95 - >=1.0.0 <1.1.0 not satisfied by 1.1.0-pre
        ok 96 - >=1.0.0 <1.1.0-pre not satisfied by 1.1.0-pre
    ok 2 - negative range tests # time=22.156ms
    
    # Subtest: invalid ranges never satisfied (but do not throw)
        1..5
        ok 1 - blerg not satisfied because invalid
        ok 2 - git+https://user:password0123@github.com/foo not satisfied because invalid
        ok 3 - ^1.2.3 not satisfied because invalid
        ok 4 - 0.x not satisfied because invalid
        ok 5 - * not satisfied because invalid
    ok 3 - invalid ranges never satisfied (but do not throw) # time=1.603ms
    
    1..3
    # time=78.831ms
ok 29 - test/functions/satisfies.js # time=78.831ms

# Subtest: test/functions/sort.js
    # Subtest: sorting
        ok 1 - should be equivalent
        1..1
    ok 1 - sorting # time=7.369ms
    
    1..1
    # time=12.113ms
ok 30 - test/functions/sort.js # time=12.113ms

# Subtest: test/functions/valid.js
    # Subtest: returns null instead of throwing when presented with garbage
        1..10
        ok 1 - too long
        ok 2 - too big
        ok 3 - too big
        ok 4 - too big
        ok 5 - not a version
        ok 6 - true
        ok 7 - even loose as an opt, same
        ok 8 - regexp is not a string
        ok 9 - semver-ish regexp is not a string
        ok 10 - obj with a tostring is not a string
    ok 1 - returns null instead of throwing when presented with garbage # time=6.583ms
    
    # Subtest: validate a version into a SemVer object
        ok 1 - should be equal
        ok 2 - return the version if a SemVer obj
        ok 3 - looseness as a boolean
        ok 4 - looseness as an option
        1..4
    ok 2 - validate a version into a SemVer object # time=1.804ms
    
    1..2
    # time=19.414ms
ok 31 - test/functions/valid.js # time=19.414ms

# Subtest: test/internal/constants.js
    ok 1 - got some numbers exported
    1..1
    # time=7.071ms
ok 32 - test/internal/constants.js # time=7.071ms

# Subtest: test/internal/debug.js
    1..2
    # Subtest: without env set
        ok 1 - success exit status
        ok 2 - no signal
        ok 3 - got no output
        1..3
    ok 1 - without env set # time=413.908ms
    
    # Subtest: with env set
        ok 1 - success exit status
        ok 2 - no signal
        ok 3 - got expected output
        1..3
    ok 2 - with env set # time=356.515ms
    
    # time=796.913ms
ok 33 - test/internal/debug.js # time=796.913ms

# Subtest: test/internal/identifiers.js
    # Subtest: rcompareIdentifiers and compareIdentifiers
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        ok 5 - should be equal
        ok 6 - should be equal
        ok 7 - should be equal
        ok 8 - should be equal
        1..8
    ok 1 - rcompareIdentifiers and compareIdentifiers # time=5.555ms
    
    1..1
    # time=10.305ms
ok 34 - test/internal/identifiers.js # time=10.305ms

# Subtest: test/internal/re.js
    # Subtest: has a list of src, re, and tokens
        ok 1 - should match pattern provided
        ok 2 - regexps are regexps
        ok 3 - regexps are regexps
        ok 4 - regexps are regexps
        ok 5 - regexps are regexps
        ok 6 - regexps are regexps
        ok 7 - regexps are regexps
        ok 8 - regexps are regexps
        ok 9 - regexps are regexps
        ok 10 - regexps are regexps
        ok 11 - regexps are regexps
        ok 12 - regexps are regexps
        ok 13 - regexps are regexps
        ok 14 - regexps are regexps
        ok 15 - regexps are regexps
        ok 16 - regexps are regexps
        ok 17 - regexps are regexps
        ok 18 - regexps are regexps
        ok 19 - regexps are regexps
        ok 20 - regexps are regexps
        ok 21 - regexps are regexps
        ok 22 - regexps are regexps
        ok 23 - regexps are regexps
        ok 24 - regexps are regexps
        ok 25 - regexps are regexps
        ok 26 - regexps are regexps
        ok 27 - regexps are regexps
        ok 28 - regexps are regexps
        ok 29 - regexps are regexps
        ok 30 - regexps are regexps
        ok 31 - regexps are regexps
        ok 32 - regexps are regexps
        ok 33 - regexps are regexps
        ok 34 - regexps are regexps
        ok 35 - regexps are regexps
        ok 36 - regexps are regexps
        ok 37 - regexps are regexps
        ok 38 - regexps are regexps
        ok 39 - regexps are regexps
        ok 40 - regexps are regexps
        ok 41 - regexps are regexps
        ok 42 - src is strings
        ok 43 - src is strings
        ok 44 - src is strings
        ok 45 - src is strings
        ok 46 - src is strings
        ok 47 - src is strings
        ok 48 - src is strings
        ok 49 - src is strings
        ok 50 - src is strings
        ok 51 - src is strings
        ok 52 - src is strings
        ok 53 - src is strings
        ok 54 - src is strings
        ok 55 - src is strings
        ok 56 - src is strings
        ok 57 - src is strings
        ok 58 - src is strings
        ok 59 - src is strings
        ok 60 - src is strings
        ok 61 - src is strings
        ok 62 - src is strings
        ok 63 - src is strings
        ok 64 - src is strings
        ok 65 - src is strings
        ok 66 - src is strings
        ok 67 - src is strings
        ok 68 - src is strings
        ok 69 - src is strings
        ok 70 - src is strings
        ok 71 - src is strings
        ok 72 - src is strings
        ok 73 - src is strings
        ok 74 - src is strings
        ok 75 - src is strings
        ok 76 - src is strings
        ok 77 - src is strings
        ok 78 - src is strings
        ok 79 - src is strings
        ok 80 - src is strings
        ok 81 - src is strings
        ok 82 - tokens are numbers
        ok 83 - tokens are numbers
        ok 84 - tokens are numbers
        ok 85 - tokens are numbers
        ok 86 - tokens are numbers
        ok 87 - tokens are numbers
        ok 88 - tokens are numbers
        ok 89 - tokens are numbers
        ok 90 - tokens are numbers
        ok 91 - tokens are numbers
        ok 92 - tokens are numbers
        ok 93 - tokens are numbers
        ok 94 - tokens are numbers
        ok 95 - tokens are numbers
        ok 96 - tokens are numbers
        ok 97 - tokens are numbers
        ok 98 - tokens are numbers
        ok 99 - tokens are numbers
        ok 100 - tokens are numbers
        ok 101 - tokens are numbers
        ok 102 - tokens are numbers
        ok 103 - tokens are numbers
        ok 104 - tokens are numbers
        ok 105 - tokens are numbers
        ok 106 - tokens are numbers
        ok 107 - tokens are numbers
        ok 108 - tokens are numbers
        ok 109 - tokens are numbers
        ok 110 - tokens are numbers
        ok 111 - tokens are numbers
        ok 112 - tokens are numbers
        ok 113 - tokens are numbers
        ok 114 - tokens are numbers
        ok 115 - tokens are numbers
        ok 116 - tokens are numbers
        ok 117 - tokens are numbers
        ok 118 - tokens are numbers
        ok 119 - tokens are numbers
        ok 120 - tokens are numbers
        ok 121 - tokens are numbers
        1..121
    ok 1 - has a list of src, re, and tokens # time=37.452ms
    
    1..1
    # time=42.22ms
ok 35 - test/internal/re.js # time=42.22ms

# Subtest: test/ranges/gtr.js
    # Subtest: gtr tests
        ok 1 - gtr(1.3.0, ~1.2.2, false)
        ok 2 - gtr(0.7.1-1, ~0.6.1-1, false)
        ok 3 - gtr(2.0.1, 1.0.0 - 2.0.0, false)
        ok 4 - gtr(1.0.1-beta1, 1.0.0, false)
        ok 5 - gtr(2.0.0, 1.0.0, false)
        ok 6 - gtr(2.1.1, <=2.0.0, false)
        ok 7 - gtr(3.2.9, <=2.0.0, false)
        ok 8 - gtr(2.0.0, <2.0.0, false)
        ok 9 - gtr(1.2.5, 0.1.20 || 1.2.4, false)
        ok 10 - gtr(3.0.0, 2.x.x, false)
        ok 11 - gtr(1.3.0, 1.2.x, false)
        ok 12 - gtr(3.0.0, 1.2.x || 2.x, false)
        ok 13 - gtr(5.0.1, 2.*.*, false)
        ok 14 - gtr(1.3.3, 1.2.*, false)
        ok 15 - gtr(4.0.0, 1.2.* || 2.*, false)
        ok 16 - gtr(3.0.0, 2, false)
        ok 17 - gtr(2.4.2, 2.3, false)
        ok 18 - gtr(2.5.0, ~2.4, false)
        ok 19 - gtr(2.5.5, ~2.4, false)
        ok 20 - gtr(3.3.0, ~>3.2.1, false)
        ok 21 - gtr(2.2.3, ~1, false)
        ok 22 - gtr(2.2.4, ~>1, false)
        ok 23 - gtr(3.2.3, ~> 1, false)
        ok 24 - gtr(1.1.2, ~1.0, false)
        ok 25 - gtr(1.1.0, ~ 1.0, false)
        ok 26 - gtr(1.2.0, <1.2, false)
        ok 27 - gtr(1.2.1, < 1.2, false)
        ok 28 - gtr(2.0.0beta, 1, true)
        ok 29 - gtr(0.6.0, ~v0.5.4-pre, false)
        ok 30 - gtr(0.6.1-pre, ~v0.5.4-pre, false)
        ok 31 - gtr(0.8.0, =0.7.x, false)
        ok 32 - gtr(0.8.0-asdf, =0.7.x, false)
        ok 33 - gtr(0.7.0, <0.7.x, false)
        ok 34 - gtr(1.3.0, ~1.2.2, false)
        ok 35 - gtr(2.2.3, 1.0.0 - 2.0.0, false)
        ok 36 - gtr(1.0.1, 1.0.0, false)
        ok 37 - gtr(3.0.0, <=2.0.0, false)
        ok 38 - gtr(2.9999.9999, <=2.0.0, false)
        ok 39 - gtr(2.2.9, <=2.0.0, false)
        ok 40 - gtr(2.9999.9999, <2.0.0, false)
        ok 41 - gtr(2.2.9, <2.0.0, false)
        ok 42 - gtr(3.1.3, 2.x.x, false)
        ok 43 - gtr(1.3.3, 1.2.x, false)
        ok 44 - gtr(3.1.3, 1.2.x || 2.x, false)
        ok 45 - gtr(3.1.3, 2.*.*, false)
        ok 46 - gtr(1.3.3, 1.2.*, false)
        ok 47 - gtr(3.1.3, 1.2.* || 2.*, false)
        ok 48 - gtr(3.1.2, 2, false)
        ok 49 - gtr(2.4.1, 2.3, false)
        ok 50 - gtr(2.5.0, ~2.4, false)
        ok 51 - gtr(3.3.2, ~>3.2.1, false)
        ok 52 - gtr(2.2.3, ~1, false)
        ok 53 - gtr(2.2.3, ~>1, false)
        ok 54 - gtr(1.1.0, ~1.0, false)
        ok 55 - gtr(1.0.0, <1, false)
        ok 56 - gtr(2.0.0beta, 1, true)
        ok 57 - gtr(1.0.0beta, <1, true)
        ok 58 - gtr(1.0.0beta, < 1, true)
        ok 59 - gtr(0.8.2, =0.7.x, false)
        ok 60 - gtr(0.7.2, <0.7.x, false)
        ok 61 - gtr(0.7.2-beta, 0.7.x, false)
        1..61
    ok 1 - gtr tests # time=25.891ms
    
    # Subtest: negative gtr tests
        ok 1 - !gtr(0.6.1-1, ~0.6.1-1, false)
        ok 2 - !gtr(1.2.3, 1.0.0 - 2.0.0, false)
        ok 3 - !gtr(0.9.9, 1.0.0 - 2.0.0, false)
        ok 4 - !gtr(1.0.0, 1.0.0, false)
        ok 5 - !gtr(0.2.4, >=*, false)
        ok 6 - !gtr(1.0.0, , true)
        ok 7 - !gtr(1.2.3, *, false)
        ok 8 - !gtr(v1.2.3-foo, *, false)
        ok 9 - !gtr(1.0.0, >=1.0.0, false)
        ok 10 - !gtr(1.0.1, >=1.0.0, false)
        ok 11 - !gtr(1.1.0, >=1.0.0, false)
        ok 12 - !gtr(1.0.1, >1.0.0, false)
        ok 13 - !gtr(1.1.0, >1.0.0, false)
        ok 14 - !gtr(2.0.0, <=2.0.0, false)
        ok 15 - !gtr(1.9999.9999, <=2.0.0, false)
        ok 16 - !gtr(0.2.9, <=2.0.0, false)
        ok 17 - !gtr(1.9999.9999, <2.0.0, false)
        ok 18 - !gtr(0.2.9, <2.0.0, false)
        ok 19 - !gtr(1.0.0, >= 1.0.0, false)
        ok 20 - !gtr(1.0.1, >=  1.0.0, false)
        ok 21 - !gtr(1.1.0, >=   1.0.0, false)
        ok 22 - !gtr(1.0.1, > 1.0.0, false)
        ok 23 - !gtr(1.1.0, >  1.0.0, false)
        ok 24 - !gtr(2.0.0, <=   2.0.0, false)
        ok 25 - !gtr(1.9999.9999, <= 2.0.0, false)
        ok 26 - !gtr(0.2.9, <=  2.0.0, false)
        ok 27 - !gtr(1.9999.9999, <    2.0.0, false)
        ok 28 - !gtr(0.2.9, <  2.0.0, false)
        ok 29 - !gtr(v0.1.97, >=0.1.97, false)
        ok 30 - !gtr(0.1.97, >=0.1.97, false)
        ok 31 - !gtr(1.2.4, 0.1.20 || 1.2.4, false)
        ok 32 - !gtr(1.2.4, 0.1.20 || >1.2.4, false)
        ok 33 - !gtr(1.2.3, 0.1.20 || 1.2.4, false)
        ok 34 - !gtr(0.1.20, 0.1.20 || 1.2.4, false)
        ok 35 - !gtr(0.0.0, >=0.2.3 || <0.0.1, false)
        ok 36 - !gtr(0.2.3, >=0.2.3 || <0.0.1, false)
        ok 37 - !gtr(0.2.4, >=0.2.3 || <0.0.1, false)
        ok 38 - !gtr(1.3.4, ||, false)
        ok 39 - !gtr(2.1.3, 2.x.x, false)
        ok 40 - !gtr(1.2.3, 1.2.x, false)
        ok 41 - !gtr(2.1.3, 1.2.x || 2.x, false)
        ok 42 - !gtr(1.2.3, 1.2.x || 2.x, false)
        ok 43 - !gtr(1.2.3, x, false)
        ok 44 - !gtr(2.1.3, 2.*.*, false)
        ok 45 - !gtr(1.2.3, 1.2.*, false)
        ok 46 - !gtr(2.1.3, 1.2.* || 2.*, false)
        ok 47 - !gtr(1.2.3, 1.2.* || 2.*, false)
        ok 48 - !gtr(1.2.3, 1.2.* || 2.*, false)
        ok 49 - !gtr(1.2.3, *, false)
        ok 50 - !gtr(2.1.2, 2, false)
        ok 51 - !gtr(2.3.1, 2.3, false)
        ok 52 - !gtr(2.4.0, ~2.4, false)
        ok 53 - !gtr(2.4.5, ~2.4, false)
        ok 54 - !gtr(3.2.2, ~>3.2.1, false)
        ok 55 - !gtr(1.2.3, ~1, false)
        ok 56 - !gtr(1.2.3, ~>1, false)
        ok 57 - !gtr(1.2.3, ~> 1, false)
        ok 58 - !gtr(1.0.2, ~1.0, false)
        ok 59 - !gtr(1.0.2, ~ 1.0, false)
        ok 60 - !gtr(1.0.0, >=1, false)
        ok 61 - !gtr(1.0.0, >= 1, false)
        ok 62 - !gtr(1.1.1, <1.2, false)
        ok 63 - !gtr(1.1.1, < 1.2, false)
        ok 64 - !gtr(1.0.0beta, 1, true)
        ok 65 - !gtr(0.5.5, ~v0.5.4-pre, false)
        ok 66 - !gtr(0.5.4, ~v0.5.4-pre, false)
        ok 67 - !gtr(0.7.2, =0.7.x, false)
        ok 68 - !gtr(0.7.2, >=0.7.x, false)
        ok 69 - !gtr(0.7.0-asdf, =0.7.x, false)
        ok 70 - !gtr(0.7.0-asdf, >=0.7.x, false)
        ok 71 - !gtr(0.6.2, <=0.7.x, false)
        ok 72 - !gtr(0.2.5, >0.2.3 >0.2.4 <=0.2.5, false)
        ok 73 - !gtr(0.2.4, >=0.2.3 <=0.2.4, false)
        ok 74 - !gtr(2.0.0, 1.0.0 - 2.0.0, false)
        ok 75 - !gtr(0.0.0-0, ^1, false)
        ok 76 - !gtr(2.0.0, ^3.0.0, false)
        ok 77 - !gtr(2.0.0, ^1.0.0 || ~2.0.1, false)
        ok 78 - !gtr(3.2.0, ^0.1.0 || ~3.0.1 || 5.0.0, false)
        ok 79 - !gtr(1.0.0beta, ^0.1.0 || ~3.0.1 || 5.0.0, true)
        ok 80 - !gtr(5.0.0-0, ^0.1.0 || ~3.0.1 || 5.0.0, true)
        ok 81 - !gtr(3.5.0, ^0.1.0 || ~3.0.1 || >4 <=5.0.0, false)
        ok 82 - !gtr(0.7.2-beta, 0.7.x, [object Object])
        1..82
    ok 2 - negative gtr tests # time=19.478ms
    
    1..2
    # time=56.379ms
ok 36 - test/ranges/gtr.js # time=56.379ms

# Subtest: test/ranges/intersects.js
    # Subtest: intersect comparators
        1..28
        # Subtest: 1.3.0 >=1.3.0 true
            ok 1 - 1.3.0 intersects >=1.3.0 objects
            ok 2 - >=1.3.0 intersects 1.3.0 objects
            ok 3 - 1.3.0 intersects >=1.3.0 loose, objects
            ok 4 - >=1.3.0 intersects 1.3.0 loose, objects
            ok 5 - 1.3.0 intersects >=1.3.0
            ok 6 - >=1.3.0 intersects 1.3.0
            ok 7 - 1.3.0 intersects >=1.3.0 loose
            ok 8 - >=1.3.0 intersects 1.3.0 loose
            1..8
        ok 1 - 1.3.0 >=1.3.0 true # time=12.422ms
        
        # Subtest: 1.3.0 >1.3.0 false
            ok 1 - 1.3.0 intersects >1.3.0 objects
            ok 2 - >1.3.0 intersects 1.3.0 objects
            ok 3 - 1.3.0 intersects >1.3.0 loose, objects
            ok 4 - >1.3.0 intersects 1.3.0 loose, objects
            ok 5 - 1.3.0 intersects >1.3.0
            ok 6 - >1.3.0 intersects 1.3.0
            ok 7 - 1.3.0 intersects >1.3.0 loose
            ok 8 - >1.3.0 intersects 1.3.0 loose
            1..8
        ok 2 - 1.3.0 >1.3.0 false # time=3.442ms
        
        # Subtest: >=1.3.0 1.3.0 true
            ok 1 - >=1.3.0 intersects 1.3.0 objects
            ok 2 - 1.3.0 intersects >=1.3.0 objects
            ok 3 - >=1.3.0 intersects 1.3.0 loose, objects
            ok 4 - 1.3.0 intersects >=1.3.0 loose, objects
            ok 5 - >=1.3.0 intersects 1.3.0
            ok 6 - 1.3.0 intersects >=1.3.0
            ok 7 - >=1.3.0 intersects 1.3.0 loose
            ok 8 - 1.3.0 intersects >=1.3.0 loose
            1..8
        ok 3 - >=1.3.0 1.3.0 true # time=3.149ms
        
        # Subtest: >1.3.0 1.3.0 false
            ok 1 - >1.3.0 intersects 1.3.0 objects
            ok 2 - 1.3.0 intersects >1.3.0 objects
            ok 3 - >1.3.0 intersects 1.3.0 loose, objects
            ok 4 - 1.3.0 intersects >1.3.0 loose, objects
            ok 5 - >1.3.0 intersects 1.3.0
            ok 6 - 1.3.0 intersects >1.3.0
            ok 7 - >1.3.0 intersects 1.3.0 loose
            ok 8 - 1.3.0 intersects >1.3.0 loose
            1..8
        ok 4 - >1.3.0 1.3.0 false # time=3.04ms
        
        # Subtest: >1.3.0 >1.2.0 true
            ok 1 - >1.3.0 intersects >1.2.0 objects
            ok 2 - >1.2.0 intersects >1.3.0 objects
            ok 3 - >1.3.0 intersects >1.2.0 loose, objects
            ok 4 - >1.2.0 intersects >1.3.0 loose, objects
            ok 5 - >1.3.0 intersects >1.2.0
            ok 6 - >1.2.0 intersects >1.3.0
            ok 7 - >1.3.0 intersects >1.2.0 loose
            ok 8 - >1.2.0 intersects >1.3.0 loose
            1..8
        ok 5 - >1.3.0 >1.2.0 true # time=2.99ms
        
        # Subtest: >1.2.0 >1.3.0 true
            ok 1 - >1.2.0 intersects >1.3.0 objects
            ok 2 - >1.3.0 intersects >1.2.0 objects
            ok 3 - >1.2.0 intersects >1.3.0 loose, objects
            ok 4 - >1.3.0 intersects >1.2.0 loose, objects
            ok 5 - >1.2.0 intersects >1.3.0
            ok 6 - >1.3.0 intersects >1.2.0
            ok 7 - >1.2.0 intersects >1.3.0 loose
            ok 8 - >1.3.0 intersects >1.2.0 loose
            1..8
        ok 6 - >1.2.0 >1.3.0 true # time=2.766ms
        
        # Subtest: >=1.2.0 >1.3.0 true
            ok 1 - >=1.2.0 intersects >1.3.0 objects
            ok 2 - >1.3.0 intersects >=1.2.0 objects
            ok 3 - >=1.2.0 intersects >1.3.0 loose, objects
            ok 4 - >1.3.0 intersects >=1.2.0 loose, objects
            ok 5 - >=1.2.0 intersects >1.3.0
            ok 6 - >1.3.0 intersects >=1.2.0
            ok 7 - >=1.2.0 intersects >1.3.0 loose
            ok 8 - >1.3.0 intersects >=1.2.0 loose
            1..8
        ok 7 - >=1.2.0 >1.3.0 true # time=2.779ms
        
        # Subtest: >1.2.0 >=1.3.0 true
            ok 1 - >1.2.0 intersects >=1.3.0 objects
            ok 2 - >=1.3.0 intersects >1.2.0 objects
            ok 3 - >1.2.0 intersects >=1.3.0 loose, objects
            ok 4 - >=1.3.0 intersects >1.2.0 loose, objects
            ok 5 - >1.2.0 intersects >=1.3.0
            ok 6 - >=1.3.0 intersects >1.2.0
            ok 7 - >1.2.0 intersects >=1.3.0 loose
            ok 8 - >=1.3.0 intersects >1.2.0 loose
            1..8
        ok 8 - >1.2.0 >=1.3.0 true # time=2.819ms
        
        # Subtest: <1.3.0 <1.2.0 true
            ok 1 - <1.3.0 intersects <1.2.0 objects
            ok 2 - <1.2.0 intersects <1.3.0 objects
            ok 3 - <1.3.0 intersects <1.2.0 loose, objects
            ok 4 - <1.2.0 intersects <1.3.0 loose, objects
            ok 5 - <1.3.0 intersects <1.2.0
            ok 6 - <1.2.0 intersects <1.3.0
            ok 7 - <1.3.0 intersects <1.2.0 loose
            ok 8 - <1.2.0 intersects <1.3.0 loose
            1..8
        ok 9 - <1.3.0 <1.2.0 true # time=2.981ms
        
        # Subtest: <1.2.0 <1.3.0 true
            ok 1 - <1.2.0 intersects <1.3.0 objects
            ok 2 - <1.3.0 intersects <1.2.0 objects
            ok 3 - <1.2.0 intersects <1.3.0 loose, objects
            ok 4 - <1.3.0 intersects <1.2.0 loose, objects
            ok 5 - <1.2.0 intersects <1.3.0
            ok 6 - <1.3.0 intersects <1.2.0
            ok 7 - <1.2.0 intersects <1.3.0 loose
            ok 8 - <1.3.0 intersects <1.2.0 loose
            1..8
        ok 10 - <1.2.0 <1.3.0 true # time=2.808ms
        
        # Subtest: <=1.2.0 <1.3.0 true
            ok 1 - <=1.2.0 intersects <1.3.0 objects
            ok 2 - <1.3.0 intersects <=1.2.0 objects
            ok 3 - <=1.2.0 intersects <1.3.0 loose, objects
            ok 4 - <1.3.0 intersects <=1.2.0 loose, objects
            ok 5 - <=1.2.0 intersects <1.3.0
            ok 6 - <1.3.0 intersects <=1.2.0
            ok 7 - <=1.2.0 intersects <1.3.0 loose
            ok 8 - <1.3.0 intersects <=1.2.0 loose
            1..8
        ok 11 - <=1.2.0 <1.3.0 true # time=2.794ms
        
        # Subtest: <1.2.0 <=1.3.0 true
            ok 1 - <1.2.0 intersects <=1.3.0 objects
            ok 2 - <=1.3.0 intersects <1.2.0 objects
            ok 3 - <1.2.0 intersects <=1.3.0 loose, objects
            ok 4 - <=1.3.0 intersects <1.2.0 loose, objects
            ok 5 - <1.2.0 intersects <=1.3.0
            ok 6 - <=1.3.0 intersects <1.2.0
            ok 7 - <1.2.0 intersects <=1.3.0 loose
            ok 8 - <=1.3.0 intersects <1.2.0 loose
            1..8
        ok 12 - <1.2.0 <=1.3.0 true # time=3.117ms
        
        # Subtest: >=1.3.0 <=1.3.0 true
            ok 1 - >=1.3.0 intersects <=1.3.0 objects
            ok 2 - <=1.3.0 intersects >=1.3.0 objects
            ok 3 - >=1.3.0 intersects <=1.3.0 loose, objects
            ok 4 - <=1.3.0 intersects >=1.3.0 loose, objects
            ok 5 - >=1.3.0 intersects <=1.3.0
            ok 6 - <=1.3.0 intersects >=1.3.0
            ok 7 - >=1.3.0 intersects <=1.3.0 loose
            ok 8 - <=1.3.0 intersects >=1.3.0 loose
            1..8
        ok 13 - >=1.3.0 <=1.3.0 true # time=2.704ms
        
        # Subtest: >=v1.3.0 <=1.3.0 true
            ok 1 - >=v1.3.0 intersects <=1.3.0 objects
            ok 2 - <=1.3.0 intersects >=v1.3.0 objects
            ok 3 - >=v1.3.0 intersects <=1.3.0 loose, objects
            ok 4 - <=1.3.0 intersects >=v1.3.0 loose, objects
            ok 5 - >=v1.3.0 intersects <=1.3.0
            ok 6 - <=1.3.0 intersects >=v1.3.0
            ok 7 - >=v1.3.0 intersects <=1.3.0 loose
            ok 8 - <=1.3.0 intersects >=v1.3.0 loose
            1..8
        ok 14 - >=v1.3.0 <=1.3.0 true # time=2.762ms
        
        # Subtest: >=1.3.0 >=1.3.0 true
            ok 1 - >=1.3.0 intersects >=1.3.0 objects
            ok 2 - >=1.3.0 intersects >=1.3.0 objects
            ok 3 - >=1.3.0 intersects >=1.3.0 loose, objects
            ok 4 - >=1.3.0 intersects >=1.3.0 loose, objects
            ok 5 - >=1.3.0 intersects >=1.3.0
            ok 6 - >=1.3.0 intersects >=1.3.0
            ok 7 - >=1.3.0 intersects >=1.3.0 loose
            ok 8 - >=1.3.0 intersects >=1.3.0 loose
            1..8
        ok 15 - >=1.3.0 >=1.3.0 true # time=2.706ms
        
        # Subtest: <=1.3.0 <=1.3.0 true
            ok 1 - <=1.3.0 intersects <=1.3.0 objects
            ok 2 - <=1.3.0 intersects <=1.3.0 objects
            ok 3 - <=1.3.0 intersects <=1.3.0 loose, objects
            ok 4 - <=1.3.0 intersects <=1.3.0 loose, objects
            ok 5 - <=1.3.0 intersects <=1.3.0
            ok 6 - <=1.3.0 intersects <=1.3.0
            ok 7 - <=1.3.0 intersects <=1.3.0 loose
            ok 8 - <=1.3.0 intersects <=1.3.0 loose
            1..8
        ok 16 - <=1.3.0 <=1.3.0 true # time=2.696ms
        
        # Subtest: <=1.3.0 <=v1.3.0 true
            ok 1 - <=1.3.0 intersects <=v1.3.0 objects
            ok 2 - <=v1.3.0 intersects <=1.3.0 objects
            ok 3 - <=1.3.0 intersects <=v1.3.0 loose, objects
            ok 4 - <=v1.3.0 intersects <=1.3.0 loose, objects
            ok 5 - <=1.3.0 intersects <=v1.3.0
            ok 6 - <=v1.3.0 intersects <=1.3.0
            ok 7 - <=1.3.0 intersects <=v1.3.0 loose
            ok 8 - <=v1.3.0 intersects <=1.3.0 loose
            1..8
        ok 17 - <=1.3.0 <=v1.3.0 true # time=2.7ms
        
        # Subtest: >1.3.0 <=1.3.0 false
            ok 1 - >1.3.0 intersects <=1.3.0 objects
            ok 2 - <=1.3.0 intersects >1.3.0 objects
            ok 3 - >1.3.0 intersects <=1.3.0 loose, objects
            ok 4 - <=1.3.0 intersects >1.3.0 loose, objects
            ok 5 - >1.3.0 intersects <=1.3.0
            ok 6 - <=1.3.0 intersects >1.3.0
            ok 7 - >1.3.0 intersects <=1.3.0 loose
            ok 8 - <=1.3.0 intersects >1.3.0 loose
            1..8
        ok 18 - >1.3.0 <=1.3.0 false # time=4.521ms
        
        # Subtest: >=1.3.0 <1.3.0 false
            ok 1 - >=1.3.0 intersects <1.3.0 objects
            ok 2 - <1.3.0 intersects >=1.3.0 objects
            ok 3 - >=1.3.0 intersects <1.3.0 loose, objects
            ok 4 - <1.3.0 intersects >=1.3.0 loose, objects
            ok 5 - >=1.3.0 intersects <1.3.0
            ok 6 - <1.3.0 intersects >=1.3.0
            ok 7 - >=1.3.0 intersects <1.3.0 loose
            ok 8 - <1.3.0 intersects >=1.3.0 loose
            1..8
        ok 19 - >=1.3.0 <1.3.0 false # time=2.777ms
        
        # Subtest: >1.0.0 <2.0.0 true
            ok 1 - >1.0.0 intersects <2.0.0 objects
            ok 2 - <2.0.0 intersects >1.0.0 objects
            ok 3 - >1.0.0 intersects <2.0.0 loose, objects
            ok 4 - <2.0.0 intersects >1.0.0 loose, objects
            ok 5 - >1.0.0 intersects <2.0.0
            ok 6 - <2.0.0 intersects >1.0.0
            ok 7 - >1.0.0 intersects <2.0.0 loose
            ok 8 - <2.0.0 intersects >1.0.0 loose
            1..8
        ok 20 - >1.0.0 <2.0.0 true # time=2.421ms
        
        # Subtest: >=1.0.0 <2.0.0 true
            ok 1 - >=1.0.0 intersects <2.0.0 objects
            ok 2 - <2.0.0 intersects >=1.0.0 objects
            ok 3 - >=1.0.0 intersects <2.0.0 loose, objects
            ok 4 - <2.0.0 intersects >=1.0.0 loose, objects
            ok 5 - >=1.0.0 intersects <2.0.0
            ok 6 - <2.0.0 intersects >=1.0.0
            ok 7 - >=1.0.0 intersects <2.0.0 loose
            ok 8 - <2.0.0 intersects >=1.0.0 loose
            1..8
        ok 21 - >=1.0.0 <2.0.0 true # time=2.421ms
        
        # Subtest: >=1.0.0 <=2.0.0 true
            ok 1 - >=1.0.0 intersects <=2.0.0 objects
            ok 2 - <=2.0.0 intersects >=1.0.0 objects
            ok 3 - >=1.0.0 intersects <=2.0.0 loose, objects
            ok 4 - <=2.0.0 intersects >=1.0.0 loose, objects
            ok 5 - >=1.0.0 intersects <=2.0.0
            ok 6 - <=2.0.0 intersects >=1.0.0
            ok 7 - >=1.0.0 intersects <=2.0.0 loose
            ok 8 - <=2.0.0 intersects >=1.0.0 loose
            1..8
        ok 22 - >=1.0.0 <=2.0.0 true # time=5.731ms
        
        # Subtest: >1.0.0 <=2.0.0 true
            ok 1 - >1.0.0 intersects <=2.0.0 objects
            ok 2 - <=2.0.0 intersects >1.0.0 objects
            ok 3 - >1.0.0 intersects <=2.0.0 loose, objects
            ok 4 - <=2.0.0 intersects >1.0.0 loose, objects
            ok 5 - >1.0.0 intersects <=2.0.0
            ok 6 - <=2.0.0 intersects >1.0.0
            ok 7 - >1.0.0 intersects <=2.0.0 loose
            ok 8 - <=2.0.0 intersects >1.0.0 loose
            1..8
        ok 23 - >1.0.0 <=2.0.0 true # time=2.445ms
        
        # Subtest: <=2.0.0 >1.0.0 true
            ok 1 - <=2.0.0 intersects >1.0.0 objects
            ok 2 - >1.0.0 intersects <=2.0.0 objects
            ok 3 - <=2.0.0 intersects >1.0.0 loose, objects
            ok 4 - >1.0.0 intersects <=2.0.0 loose, objects
            ok 5 - <=2.0.0 intersects >1.0.0
            ok 6 - >1.0.0 intersects <=2.0.0
            ok 7 - <=2.0.0 intersects >1.0.0 loose
            ok 8 - >1.0.0 intersects <=2.0.0 loose
            1..8
        ok 24 - <=2.0.0 >1.0.0 true # time=2.498ms
        
        # Subtest: <=1.0.0 >=2.0.0 false
            ok 1 - <=1.0.0 intersects >=2.0.0 objects
            ok 2 - >=2.0.0 intersects <=1.0.0 objects
            ok 3 - <=1.0.0 intersects >=2.0.0 loose, objects
            ok 4 - >=2.0.0 intersects <=1.0.0 loose, objects
            ok 5 - <=1.0.0 intersects >=2.0.0
            ok 6 - >=2.0.0 intersects <=1.0.0
            ok 7 - <=1.0.0 intersects >=2.0.0 loose
            ok 8 - >=2.0.0 intersects <=1.0.0 loose
            1..8
        ok 25 - <=1.0.0 >=2.0.0 false # time=2.413ms
        
        # Subtest:   true
            ok 1 - intersects  objects
            ok 2 - intersects  objects
            ok 3 - intersects  loose, objects
            ok 4 - intersects  loose, objects
            ok 5 - intersects
            ok 6 - intersects
            ok 7 - intersects  loose
            ok 8 - intersects  loose
            1..8
        ok 26 - true # time=2.267ms
        
        # Subtest:  >1.0.0 true
            ok 1 - intersects >1.0.0 objects
            ok 2 - >1.0.0 intersects  objects
            ok 3 - intersects >1.0.0 loose, objects
            ok 4 - >1.0.0 intersects  loose, objects
            ok 5 - intersects >1.0.0
            ok 6 - >1.0.0 intersects
            ok 7 - intersects >1.0.0 loose
            ok 8 - >1.0.0 intersects  loose
            1..8
        ok 27 - >1.0.0 true # time=2.844ms
        
        # Subtest: <=2.0.0  true
            ok 1 - <=2.0.0 intersects  objects
            ok 2 - intersects <=2.0.0 objects
            ok 3 - <=2.0.0 intersects  loose, objects
            ok 4 - intersects <=2.0.0 loose, objects
            ok 5 - <=2.0.0 intersects
            ok 6 - intersects <=2.0.0
            ok 7 - <=2.0.0 intersects  loose
            ok 8 - intersects <=2.0.0 loose
            1..8
        ok 28 - <=2.0.0  true # time=2.211ms
        
    ok 1 - intersect comparators # time=257.189ms
    
    # Subtest: ranges intersect
        # Subtest: 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0
            ok 3 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 4 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 5 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 6 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 7 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            ok 8 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            1..8
        ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.3.0 || <1.0.0 >2.0.0 # time=3.493ms
        
        # Subtest: <1.0.0 >2.0.0 <~> >0.0.0
            ok 1 - <1.0.0 >2.0.0 <~> >0.0.0
            ok 2 - >0.0.0 <~> <1.0.0 >2.0.0
            ok 3 - <1.0.0 >2.0.0 <~> >0.0.0 loose
            ok 4 - >0.0.0 <~> <1.0.0 >2.0.0 loose
            ok 5 - <1.0.0 >2.0.0 <~> >0.0.0 objects
            ok 6 - >0.0.0 <~> <1.0.0 >2.0.0 objects
            ok 7 - <1.0.0 >2.0.0 <~> >0.0.0 objects loose
            ok 8 - >0.0.0 <~> <1.0.0 >2.0.0 objects loose
            1..8
        ok 2 - <1.0.0 >2.0.0 <~> >0.0.0 # time=2.642ms
        
        # Subtest: >0.0.0 <~> <1.0.0 >2.0.0
            ok 1 - >0.0.0 <~> <1.0.0 >2.0.0
            ok 2 - <1.0.0 >2.0.0 <~> >0.0.0
            ok 3 - >0.0.0 <~> <1.0.0 >2.0.0 loose
            ok 4 - <1.0.0 >2.0.0 <~> >0.0.0 loose
            ok 5 - >0.0.0 <~> <1.0.0 >2.0.0 objects
            ok 6 - <1.0.0 >2.0.0 <~> >0.0.0 objects
            ok 7 - >0.0.0 <~> <1.0.0 >2.0.0 objects loose
            ok 8 - <1.0.0 >2.0.0 <~> >0.0.0 objects loose
            1..8
        ok 3 - >0.0.0 <~> <1.0.0 >2.0.0 # time=2.643ms
        
        # Subtest: <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0
            ok 1 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0
            ok 2 - >1.4.0 <1.6.0 <~> <1.0.0 >2.0.0
            ok 3 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 loose
            ok 4 - >1.4.0 <1.6.0 <~> <1.0.0 >2.0.0 loose
            ok 5 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 objects
            ok 6 - >1.4.0 <1.6.0 <~> <1.0.0 >2.0.0 objects
            ok 7 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 objects loose
            ok 8 - >1.4.0 <1.6.0 <~> <1.0.0 >2.0.0 objects loose
            1..8
        ok 4 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 # time=2.796ms
        
        # Subtest: <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0
            ok 1 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0
            ok 2 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >2.0.0
            ok 3 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 loose
            ok 4 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >2.0.0 loose
            ok 5 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 objects
            ok 6 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >2.0.0 objects
            ok 7 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 objects loose
            ok 8 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >2.0.0 objects loose
            1..8
        ok 5 - <1.0.0 >2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 # time=2.992ms
        
        # Subtest: >1.0.0 <=2.0.0 <~> 2.0.0
            ok 1 - >1.0.0 <=2.0.0 <~> 2.0.0
            ok 2 - 2.0.0 <~> >1.0.0 <=2.0.0
            ok 3 - >1.0.0 <=2.0.0 <~> 2.0.0 loose
            ok 4 - 2.0.0 <~> >1.0.0 <=2.0.0 loose
            ok 5 - >1.0.0 <=2.0.0 <~> 2.0.0 objects
            ok 6 - 2.0.0 <~> >1.0.0 <=2.0.0 objects
            ok 7 - >1.0.0 <=2.0.0 <~> 2.0.0 objects loose
            ok 8 - 2.0.0 <~> >1.0.0 <=2.0.0 objects loose
            1..8
        ok 6 - >1.0.0 <=2.0.0 <~> 2.0.0 # time=5.634ms
        
        # Subtest: <1.0.0 >=2.0.0 <~> 2.1.0
            ok 1 - <1.0.0 >=2.0.0 <~> 2.1.0
            ok 2 - 2.1.0 <~> <1.0.0 >=2.0.0
            ok 3 - <1.0.0 >=2.0.0 <~> 2.1.0 loose
            ok 4 - 2.1.0 <~> <1.0.0 >=2.0.0 loose
            ok 5 - <1.0.0 >=2.0.0 <~> 2.1.0 objects
            ok 6 - 2.1.0 <~> <1.0.0 >=2.0.0 objects
            ok 7 - <1.0.0 >=2.0.0 <~> 2.1.0 objects loose
            ok 8 - 2.1.0 <~> <1.0.0 >=2.0.0 objects loose
            1..8
        ok 7 - <1.0.0 >=2.0.0 <~> 2.1.0 # time=2.617ms
        
        # Subtest: <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0
            ok 1 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0
            ok 2 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >=2.0.0
            ok 3 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 loose
            ok 4 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >=2.0.0 loose
            ok 5 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 objects
            ok 6 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >=2.0.0 objects
            ok 7 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 objects loose
            ok 8 - >1.4.0 <1.6.0 || 2.0.0 <~> <1.0.0 >=2.0.0 objects loose
            1..8
        ok 8 - <1.0.0 >=2.0.0 <~> >1.4.0 <1.6.0 || 2.0.0 # time=2.978ms
        
        # Subtest: 1.5.x <~> <1.5.0 || >=1.6.0
            ok 1 - 1.5.x <~> <1.5.0 || >=1.6.0
            ok 2 - <1.5.0 || >=1.6.0 <~> 1.5.x
            ok 3 - 1.5.x <~> <1.5.0 || >=1.6.0 loose
            ok 4 - <1.5.0 || >=1.6.0 <~> 1.5.x loose
            ok 5 - 1.5.x <~> <1.5.0 || >=1.6.0 objects
            ok 6 - <1.5.0 || >=1.6.0 <~> 1.5.x objects
            ok 7 - 1.5.x <~> <1.5.0 || >=1.6.0 objects loose
            ok 8 - <1.5.0 || >=1.6.0 <~> 1.5.x objects loose
            1..8
        ok 9 - 1.5.x <~> <1.5.0 || >=1.6.0 # time=3.295ms
        
        # Subtest: <1.5.0 || >=1.6.0 <~> 1.5.x
            ok 1 - <1.5.0 || >=1.6.0 <~> 1.5.x
            ok 2 - 1.5.x <~> <1.5.0 || >=1.6.0
            ok 3 - <1.5.0 || >=1.6.0 <~> 1.5.x loose
            ok 4 - 1.5.x <~> <1.5.0 || >=1.6.0 loose
            ok 5 - <1.5.0 || >=1.6.0 <~> 1.5.x objects
            ok 6 - 1.5.x <~> <1.5.0 || >=1.6.0 objects
            ok 7 - <1.5.0 || >=1.6.0 <~> 1.5.x objects loose
            ok 8 - 1.5.x <~> <1.5.0 || >=1.6.0 objects loose
            1..8
        ok 10 - <1.5.0 || >=1.6.0 <~> 1.5.x # time=3.478ms
        
        # Subtest: <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2
            ok 1 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2
            ok 2 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2
            ok 3 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 loose
            ok 4 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 loose
            ok 5 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 objects
            ok 6 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 objects
            ok 7 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 objects loose
            ok 8 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 objects loose
            1..8
        ok 11 - <1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 # time=5.652ms
        
        # Subtest: <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2
            ok 1 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2
            ok 2 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2
            ok 3 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 loose
            ok 4 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 loose
            ok 5 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 objects
            ok 6 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 objects
            ok 7 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 objects loose
            ok 8 - >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 <~> <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 objects loose
            1..8
        ok 12 - <=1.6.16 || >=1.7.0 <1.7.11 || >=1.8.0 <1.8.2 <~> >=1.6.16 <1.7.0 || >=1.7.11 <1.8.0 || >=1.8.2 # time=3.762ms
        
        # Subtest: >=1.0.0 <~> <=1.0.0
            ok 1 - >=1.0.0 <~> <=1.0.0
            ok 2 - <=1.0.0 <~> >=1.0.0
            ok 3 - >=1.0.0 <~> <=1.0.0 loose
            ok 4 - <=1.0.0 <~> >=1.0.0 loose
            ok 5 - >=1.0.0 <~> <=1.0.0 objects
            ok 6 - <=1.0.0 <~> >=1.0.0 objects
            ok 7 - >=1.0.0 <~> <=1.0.0 objects loose
            ok 8 - <=1.0.0 <~> >=1.0.0 objects loose
            1..8
        ok 13 - >=1.0.0 <~> <=1.0.0 # time=2.4ms
        
        # Subtest: >1.0.0 <1.0.0 <~> <=0.0.0
            ok 1 - >1.0.0 <1.0.0 <~> <=0.0.0
            ok 2 - <=0.0.0 <~> >1.0.0 <1.0.0
            ok 3 - >1.0.0 <1.0.0 <~> <=0.0.0 loose
            ok 4 - <=0.0.0 <~> >1.0.0 <1.0.0 loose
            ok 5 - >1.0.0 <1.0.0 <~> <=0.0.0 objects
            ok 6 - <=0.0.0 <~> >1.0.0 <1.0.0 objects
            ok 7 - >1.0.0 <1.0.0 <~> <=0.0.0 objects loose
            ok 8 - <=0.0.0 <~> >1.0.0 <1.0.0 objects loose
            1..8
        ok 14 - >1.0.0 <1.0.0 <~> <=0.0.0 # time=2.528ms
        
        # Subtest: * <~> 0.0.1
            ok 1 - * <~> 0.0.1
            ok 2 - 0.0.1 <~> *
            ok 3 - * <~> 0.0.1 loose
            ok 4 - 0.0.1 <~> * loose
            ok 5 - * <~> 0.0.1 objects
            ok 6 - 0.0.1 <~> * objects
            ok 7 - * <~> 0.0.1 objects loose
            ok 8 - 0.0.1 <~> * objects loose
            1..8
        ok 15 - * <~> 0.0.1 # time=2.397ms
        
        # Subtest: * <~> >=1.0.0
            ok 1 - * <~> >=1.0.0
            ok 2 - >=1.0.0 <~> *
            ok 3 - * <~> >=1.0.0 loose
            ok 4 - >=1.0.0 <~> * loose
            ok 5 - * <~> >=1.0.0 objects
            ok 6 - >=1.0.0 <~> * objects
            ok 7 - * <~> >=1.0.0 objects loose
            ok 8 - >=1.0.0 <~> * objects loose
            1..8
        ok 16 - * <~> >=1.0.0 # time=2.3ms
        
        # Subtest: * <~> >1.0.0
            ok 1 - * <~> >1.0.0
            ok 2 - >1.0.0 <~> *
            ok 3 - * <~> >1.0.0 loose
            ok 4 - >1.0.0 <~> * loose
            ok 5 - * <~> >1.0.0 objects
            ok 6 - >1.0.0 <~> * objects
            ok 7 - * <~> >1.0.0 objects loose
            ok 8 - >1.0.0 <~> * objects loose
            1..8
        ok 17 - * <~> >1.0.0 # time=2.301ms
        
        # Subtest: * <~> ~1.0.0
            ok 1 - * <~> ~1.0.0
            ok 2 - ~1.0.0 <~> *
            ok 3 - * <~> ~1.0.0 loose
            ok 4 - ~1.0.0 <~> * loose
            ok 5 - * <~> ~1.0.0 objects
            ok 6 - ~1.0.0 <~> * objects
            ok 7 - * <~> ~1.0.0 objects loose
            ok 8 - ~1.0.0 <~> * objects loose
            1..8
        ok 18 - * <~> ~1.0.0 # time=2.697ms
        
        # Subtest: * <~> <1.6.0
            ok 1 - * <~> <1.6.0
            ok 2 - <1.6.0 <~> *
            ok 3 - * <~> <1.6.0 loose
            ok 4 - <1.6.0 <~> * loose
            ok 5 - * <~> <1.6.0 objects
            ok 6 - <1.6.0 <~> * objects
            ok 7 - * <~> <1.6.0 objects loose
            ok 8 - <1.6.0 <~> * objects loose
            1..8
        ok 19 - * <~> <1.6.0 # time=2.303ms
        
        # Subtest: * <~> <=1.6.0
            ok 1 - * <~> <=1.6.0
            ok 2 - <=1.6.0 <~> *
            ok 3 - * <~> <=1.6.0 loose
            ok 4 - <=1.6.0 <~> * loose
            ok 5 - * <~> <=1.6.0 objects
            ok 6 - <=1.6.0 <~> * objects
            ok 7 - * <~> <=1.6.0 objects loose
            ok 8 - <=1.6.0 <~> * objects loose
            1..8
        ok 20 - * <~> <=1.6.0 # time=2.306ms
        
        # Subtest: 1.* <~> 0.0.1
            ok 1 - 1.* <~> 0.0.1
            ok 2 - 0.0.1 <~> 1.*
            ok 3 - 1.* <~> 0.0.1 loose
            ok 4 - 0.0.1 <~> 1.* loose
            ok 5 - 1.* <~> 0.0.1 objects
            ok 6 - 0.0.1 <~> 1.* objects
            ok 7 - 1.* <~> 0.0.1 objects loose
            ok 8 - 0.0.1 <~> 1.* objects loose
            1..8
        ok 21 - 1.* <~> 0.0.1 # time=2.834ms
        
        # Subtest: 1.* <~> 2.0.0
            ok 1 - 1.* <~> 2.0.0
            ok 2 - 2.0.0 <~> 1.*
            ok 3 - 1.* <~> 2.0.0 loose
            ok 4 - 2.0.0 <~> 1.* loose
            ok 5 - 1.* <~> 2.0.0 objects
            ok 6 - 2.0.0 <~> 1.* objects
            ok 7 - 1.* <~> 2.0.0 objects loose
            ok 8 - 2.0.0 <~> 1.* objects loose
            1..8
        ok 22 - 1.* <~> 2.0.0 # time=3.083ms
        
        # Subtest: 1.* <~> 1.0.0
            ok 1 - 1.* <~> 1.0.0
            ok 2 - 1.0.0 <~> 1.*
            ok 3 - 1.* <~> 1.0.0 loose
            ok 4 - 1.0.0 <~> 1.* loose
            ok 5 - 1.* <~> 1.0.0 objects
            ok 6 - 1.0.0 <~> 1.* objects
            ok 7 - 1.* <~> 1.0.0 objects loose
            ok 8 - 1.0.0 <~> 1.* objects loose
            1..8
        ok 23 - 1.* <~> 1.0.0 # time=4.467ms
        
        # Subtest: 1.* <~> <2.0.0
            ok 1 - 1.* <~> <2.0.0
            ok 2 - <2.0.0 <~> 1.*
            ok 3 - 1.* <~> <2.0.0 loose
            ok 4 - <2.0.0 <~> 1.* loose
            ok 5 - 1.* <~> <2.0.0 objects
            ok 6 - <2.0.0 <~> 1.* objects
            ok 7 - 1.* <~> <2.0.0 objects loose
            ok 8 - <2.0.0 <~> 1.* objects loose
            1..8
        ok 24 - 1.* <~> <2.0.0 # time=2.912ms
        
        # Subtest: 1.* <~> >1.0.0
            ok 1 - 1.* <~> >1.0.0
            ok 2 - >1.0.0 <~> 1.*
            ok 3 - 1.* <~> >1.0.0 loose
            ok 4 - >1.0.0 <~> 1.* loose
            ok 5 - 1.* <~> >1.0.0 objects
            ok 6 - >1.0.0 <~> 1.* objects
            ok 7 - 1.* <~> >1.0.0 objects loose
            ok 8 - >1.0.0 <~> 1.* objects loose
            1..8
        ok 25 - 1.* <~> >1.0.0 # time=2.659ms
        
        # Subtest: 1.* <~> <=1.0.0
            ok 1 - 1.* <~> <=1.0.0
            ok 2 - <=1.0.0 <~> 1.*
            ok 3 - 1.* <~> <=1.0.0 loose
            ok 4 - <=1.0.0 <~> 1.* loose
            ok 5 - 1.* <~> <=1.0.0 objects
            ok 6 - <=1.0.0 <~> 1.* objects
            ok 7 - 1.* <~> <=1.0.0 objects loose
            ok 8 - <=1.0.0 <~> 1.* objects loose
            1..8
        ok 26 - 1.* <~> <=1.0.0 # time=2.662ms
        
        # Subtest: 1.* <~> ^1.0.0
            ok 1 - 1.* <~> ^1.0.0
            ok 2 - ^1.0.0 <~> 1.*
            ok 3 - 1.* <~> ^1.0.0 loose
            ok 4 - ^1.0.0 <~> 1.* loose
            ok 5 - 1.* <~> ^1.0.0 objects
            ok 6 - ^1.0.0 <~> 1.* objects
            ok 7 - 1.* <~> ^1.0.0 objects loose
            ok 8 - ^1.0.0 <~> 1.* objects loose
            1..8
        ok 27 - 1.* <~> ^1.0.0 # time=3.199ms
        
        # Subtest: 1.0.* <~> 0.0.1
            ok 1 - 1.0.* <~> 0.0.1
            ok 2 - 0.0.1 <~> 1.0.*
            ok 3 - 1.0.* <~> 0.0.1 loose
            ok 4 - 0.0.1 <~> 1.0.* loose
            ok 5 - 1.0.* <~> 0.0.1 objects
            ok 6 - 0.0.1 <~> 1.0.* objects
            ok 7 - 1.0.* <~> 0.0.1 objects loose
            ok 8 - 0.0.1 <~> 1.0.* objects loose
            1..8
        ok 28 - 1.0.* <~> 0.0.1 # time=2.802ms
        
        # Subtest: 1.0.* <~> <0.0.1
            ok 1 - 1.0.* <~> <0.0.1
            ok 2 - <0.0.1 <~> 1.0.*
            ok 3 - 1.0.* <~> <0.0.1 loose
            ok 4 - <0.0.1 <~> 1.0.* loose
            ok 5 - 1.0.* <~> <0.0.1 objects
            ok 6 - <0.0.1 <~> 1.0.* objects
            ok 7 - 1.0.* <~> <0.0.1 objects loose
            ok 8 - <0.0.1 <~> 1.0.* objects loose
            1..8
        ok 29 - 1.0.* <~> <0.0.1 # time=2.59ms
        
        # Subtest: 1.0.* <~> >0.0.1
            ok 1 - 1.0.* <~> >0.0.1
            ok 2 - >0.0.1 <~> 1.0.*
            ok 3 - 1.0.* <~> >0.0.1 loose
            ok 4 - >0.0.1 <~> 1.0.* loose
            ok 5 - 1.0.* <~> >0.0.1 objects
            ok 6 - >0.0.1 <~> 1.0.* objects
            ok 7 - 1.0.* <~> >0.0.1 objects loose
            ok 8 - >0.0.1 <~> 1.0.* objects loose
            1..8
        ok 30 - 1.0.* <~> >0.0.1 # time=5.453ms
        
        # Subtest: * <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - * <~> 1.3.0 || <1.0.0 >2.0.0
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> *
            ok 3 - * <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 4 - 1.3.0 || <1.0.0 >2.0.0 <~> * loose
            ok 5 - * <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 6 - 1.3.0 || <1.0.0 >2.0.0 <~> * objects
            ok 7 - * <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            ok 8 - 1.3.0 || <1.0.0 >2.0.0 <~> * objects loose
            1..8
        ok 31 - * <~> 1.3.0 || <1.0.0 >2.0.0 # time=2.7ms
        
        # Subtest: 1.3.0 || <1.0.0 >2.0.0 <~> *
            ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> *
            ok 2 - * <~> 1.3.0 || <1.0.0 >2.0.0
            ok 3 - 1.3.0 || <1.0.0 >2.0.0 <~> * loose
            ok 4 - * <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 5 - 1.3.0 || <1.0.0 >2.0.0 <~> * objects
            ok 6 - * <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 7 - 1.3.0 || <1.0.0 >2.0.0 <~> * objects loose
            ok 8 - * <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            1..8
        ok 32 - 1.3.0 || <1.0.0 >2.0.0 <~> * # time=2.726ms
        
        # Subtest: 1.* <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.*
            ok 3 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 4 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.* loose
            ok 5 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 6 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.* objects
            ok 7 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            ok 8 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.* objects loose
            1..8
        ok 33 - 1.* <~> 1.3.0 || <1.0.0 >2.0.0 # time=3.447ms
        
        # Subtest: x <~> 0.0.1
            ok 1 - x <~> 0.0.1
            ok 2 - 0.0.1 <~> x
            ok 3 - x <~> 0.0.1 loose
            ok 4 - 0.0.1 <~> x loose
            ok 5 - x <~> 0.0.1 objects
            ok 6 - 0.0.1 <~> x objects
            ok 7 - x <~> 0.0.1 objects loose
            ok 8 - 0.0.1 <~> x objects loose
            1..8
        ok 34 - x <~> 0.0.1 # time=2.381ms
        
        # Subtest: x <~> >=1.0.0
            ok 1 - x <~> >=1.0.0
            ok 2 - >=1.0.0 <~> x
            ok 3 - x <~> >=1.0.0 loose
            ok 4 - >=1.0.0 <~> x loose
            ok 5 - x <~> >=1.0.0 objects
            ok 6 - >=1.0.0 <~> x objects
            ok 7 - x <~> >=1.0.0 objects loose
            ok 8 - >=1.0.0 <~> x objects loose
            1..8
        ok 35 - x <~> >=1.0.0 # time=4.027ms
        
        # Subtest: x <~> >1.0.0
            ok 1 - x <~> >1.0.0
            ok 2 - >1.0.0 <~> x
            ok 3 - x <~> >1.0.0 loose
            ok 4 - >1.0.0 <~> x loose
            ok 5 - x <~> >1.0.0 objects
            ok 6 - >1.0.0 <~> x objects
            ok 7 - x <~> >1.0.0 objects loose
            ok 8 - >1.0.0 <~> x objects loose
            1..8
        ok 36 - x <~> >1.0.0 # time=2.258ms
        
        # Subtest: x <~> ~1.0.0
            ok 1 - x <~> ~1.0.0
            ok 2 - ~1.0.0 <~> x
            ok 3 - x <~> ~1.0.0 loose
            ok 4 - ~1.0.0 <~> x loose
            ok 5 - x <~> ~1.0.0 objects
            ok 6 - ~1.0.0 <~> x objects
            ok 7 - x <~> ~1.0.0 objects loose
            ok 8 - ~1.0.0 <~> x objects loose
            1..8
        ok 37 - x <~> ~1.0.0 # time=4.583ms
        
        # Subtest: x <~> <1.6.0
            ok 1 - x <~> <1.6.0
            ok 2 - <1.6.0 <~> x
            ok 3 - x <~> <1.6.0 loose
            ok 4 - <1.6.0 <~> x loose
            ok 5 - x <~> <1.6.0 objects
            ok 6 - <1.6.0 <~> x objects
            ok 7 - x <~> <1.6.0 objects loose
            ok 8 - <1.6.0 <~> x objects loose
            1..8
        ok 38 - x <~> <1.6.0 # time=4.143ms
        
        # Subtest: x <~> <=1.6.0
            ok 1 - x <~> <=1.6.0
            ok 2 - <=1.6.0 <~> x
            ok 3 - x <~> <=1.6.0 loose
            ok 4 - <=1.6.0 <~> x loose
            ok 5 - x <~> <=1.6.0 objects
            ok 6 - <=1.6.0 <~> x objects
            ok 7 - x <~> <=1.6.0 objects loose
            ok 8 - <=1.6.0 <~> x objects loose
            1..8
        ok 39 - x <~> <=1.6.0 # time=2.165ms
        
        # Subtest: 1.x <~> 0.0.1
            ok 1 - 1.x <~> 0.0.1
            ok 2 - 0.0.1 <~> 1.x
            ok 3 - 1.x <~> 0.0.1 loose
            ok 4 - 0.0.1 <~> 1.x loose
            ok 5 - 1.x <~> 0.0.1 objects
            ok 6 - 0.0.1 <~> 1.x objects
            ok 7 - 1.x <~> 0.0.1 objects loose
            ok 8 - 0.0.1 <~> 1.x objects loose
            1..8
        ok 40 - 1.x <~> 0.0.1 # time=2.505ms
        
        # Subtest: 1.x <~> 2.0.0
            ok 1 - 1.x <~> 2.0.0
            ok 2 - 2.0.0 <~> 1.x
            ok 3 - 1.x <~> 2.0.0 loose
            ok 4 - 2.0.0 <~> 1.x loose
            ok 5 - 1.x <~> 2.0.0 objects
            ok 6 - 2.0.0 <~> 1.x objects
            ok 7 - 1.x <~> 2.0.0 objects loose
            ok 8 - 2.0.0 <~> 1.x objects loose
            1..8
        ok 41 - 1.x <~> 2.0.0 # time=2.767ms
        
        # Subtest: 1.x <~> 1.0.0
            ok 1 - 1.x <~> 1.0.0
            ok 2 - 1.0.0 <~> 1.x
            ok 3 - 1.x <~> 1.0.0 loose
            ok 4 - 1.0.0 <~> 1.x loose
            ok 5 - 1.x <~> 1.0.0 objects
            ok 6 - 1.0.0 <~> 1.x objects
            ok 7 - 1.x <~> 1.0.0 objects loose
            ok 8 - 1.0.0 <~> 1.x objects loose
            1..8
        ok 42 - 1.x <~> 1.0.0 # time=2.757ms
        
        # Subtest: 1.x <~> <2.0.0
            ok 1 - 1.x <~> <2.0.0
            ok 2 - <2.0.0 <~> 1.x
            ok 3 - 1.x <~> <2.0.0 loose
            ok 4 - <2.0.0 <~> 1.x loose
            ok 5 - 1.x <~> <2.0.0 objects
            ok 6 - <2.0.0 <~> 1.x objects
            ok 7 - 1.x <~> <2.0.0 objects loose
            ok 8 - <2.0.0 <~> 1.x objects loose
            1..8
        ok 43 - 1.x <~> <2.0.0 # time=2.377ms
        
        # Subtest: 1.x <~> >1.0.0
            ok 1 - 1.x <~> >1.0.0
            ok 2 - >1.0.0 <~> 1.x
            ok 3 - 1.x <~> >1.0.0 loose
            ok 4 - >1.0.0 <~> 1.x loose
            ok 5 - 1.x <~> >1.0.0 objects
            ok 6 - >1.0.0 <~> 1.x objects
            ok 7 - 1.x <~> >1.0.0 objects loose
            ok 8 - >1.0.0 <~> 1.x objects loose
            1..8
        ok 44 - 1.x <~> >1.0.0 # time=2.335ms
        
        # Subtest: 1.x <~> <=1.0.0
            ok 1 - 1.x <~> <=1.0.0
            ok 2 - <=1.0.0 <~> 1.x
            ok 3 - 1.x <~> <=1.0.0 loose
            ok 4 - <=1.0.0 <~> 1.x loose
            ok 5 - 1.x <~> <=1.0.0 objects
            ok 6 - <=1.0.0 <~> 1.x objects
            ok 7 - 1.x <~> <=1.0.0 objects loose
            ok 8 - <=1.0.0 <~> 1.x objects loose
            1..8
        ok 45 - 1.x <~> <=1.0.0 # time=2.815ms
        
        # Subtest: 1.x <~> ^1.0.0
            ok 1 - 1.x <~> ^1.0.0
            ok 2 - ^1.0.0 <~> 1.x
            ok 3 - 1.x <~> ^1.0.0 loose
            ok 4 - ^1.0.0 <~> 1.x loose
            ok 5 - 1.x <~> ^1.0.0 objects
            ok 6 - ^1.0.0 <~> 1.x objects
            ok 7 - 1.x <~> ^1.0.0 objects loose
            ok 8 - ^1.0.0 <~> 1.x objects loose
            1..8
        ok 46 - 1.x <~> ^1.0.0 # time=4.109ms
        
        # Subtest: 1.0.x <~> 0.0.1
            ok 1 - 1.0.x <~> 0.0.1
            ok 2 - 0.0.1 <~> 1.0.x
            ok 3 - 1.0.x <~> 0.0.1 loose
            ok 4 - 0.0.1 <~> 1.0.x loose
            ok 5 - 1.0.x <~> 0.0.1 objects
            ok 6 - 0.0.1 <~> 1.0.x objects
            ok 7 - 1.0.x <~> 0.0.1 objects loose
            ok 8 - 0.0.1 <~> 1.0.x objects loose
            1..8
        ok 47 - 1.0.x <~> 0.0.1 # time=2.744ms
        
        # Subtest: 1.0.x <~> <0.0.1
            ok 1 - 1.0.x <~> <0.0.1
            ok 2 - <0.0.1 <~> 1.0.x
            ok 3 - 1.0.x <~> <0.0.1 loose
            ok 4 - <0.0.1 <~> 1.0.x loose
            ok 5 - 1.0.x <~> <0.0.1 objects
            ok 6 - <0.0.1 <~> 1.0.x objects
            ok 7 - 1.0.x <~> <0.0.1 objects loose
            ok 8 - <0.0.1 <~> 1.0.x objects loose
            1..8
        ok 48 - 1.0.x <~> <0.0.1 # time=2.181ms
        
        # Subtest: 1.0.x <~> >0.0.1
            ok 1 - 1.0.x <~> >0.0.1
            ok 2 - >0.0.1 <~> 1.0.x
            ok 3 - 1.0.x <~> >0.0.1 loose
            ok 4 - >0.0.1 <~> 1.0.x loose
            ok 5 - 1.0.x <~> >0.0.1 objects
            ok 6 - >0.0.1 <~> 1.0.x objects
            ok 7 - 1.0.x <~> >0.0.1 objects loose
            ok 8 - >0.0.1 <~> 1.0.x objects loose
            1..8
        ok 49 - 1.0.x <~> >0.0.1 # time=2.521ms
        
        # Subtest: x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> x
            ok 3 - x <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 4 - 1.3.0 || <1.0.0 >2.0.0 <~> x loose
            ok 5 - x <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 6 - 1.3.0 || <1.0.0 >2.0.0 <~> x objects
            ok 7 - x <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            ok 8 - 1.3.0 || <1.0.0 >2.0.0 <~> x objects loose
            1..8
        ok 50 - x <~> 1.3.0 || <1.0.0 >2.0.0 # time=4.079ms
        
        # Subtest: 1.3.0 || <1.0.0 >2.0.0 <~> x
            ok 1 - 1.3.0 || <1.0.0 >2.0.0 <~> x
            ok 2 - x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 3 - 1.3.0 || <1.0.0 >2.0.0 <~> x loose
            ok 4 - x <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 5 - 1.3.0 || <1.0.0 >2.0.0 <~> x objects
            ok 6 - x <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 7 - 1.3.0 || <1.0.0 >2.0.0 <~> x objects loose
            ok 8 - x <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            1..8
        ok 51 - 1.3.0 || <1.0.0 >2.0.0 <~> x # time=2.354ms
        
        # Subtest: 1.x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 1 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0
            ok 2 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.x
            ok 3 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0 loose
            ok 4 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.x loose
            ok 5 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0 objects
            ok 6 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.x objects
            ok 7 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0 objects loose
            ok 8 - 1.3.0 || <1.0.0 >2.0.0 <~> 1.x objects loose
            1..8
        ok 52 - 1.x <~> 1.3.0 || <1.0.0 >2.0.0 # time=2.909ms
        
        # Subtest: * <~> *
            ok 1 - * <~> *
            ok 2 - * <~> *
            ok 3 - * <~> * loose
            ok 4 - * <~> * loose
            ok 5 - * <~> * objects
            ok 6 - * <~> * objects
            ok 7 - * <~> * objects loose
            ok 8 - * <~> * objects loose
            1..8
        ok 53 - * <~> * # time=1.907ms
        
        # Subtest: x <~> 
            ok 1 - x <~>
            ok 2 - <~> x
            ok 3 - x <~>  loose
            ok 4 - <~> x loose
            ok 5 - x <~>  objects
            ok 6 - <~> x objects
            ok 7 - x <~>  objects loose
            ok 8 - <~> x objects loose
            1..8
        ok 54 - x <~> # time=2.304ms
        
        1..54
    ok 2 - ranges intersect # time=429.283ms
    
    # Subtest: missing comparator parameter in intersect comparators
        ok 1 - throws type error: TypeError a Comparator is required
        1..1
    ok 3 - missing comparator parameter in intersect comparators # time=4.108ms
    
    1..3
    # time=702.272ms
ok 37 - test/ranges/intersects.js # time=702.272ms

# Subtest: test/ranges/ltr.js
    # Subtest: ltr tests
        ok 1 - ltr(1.2.1, ~1.2.2, false)
        ok 2 - ltr(0.6.1-0, ~0.6.1-1, false)
        ok 3 - ltr(0.0.1, 1.0.0 - 2.0.0, false)
        ok 4 - ltr(1.0.0-beta.1, 1.0.0-beta.2, false)
        ok 5 - ltr(0.0.0, 1.0.0, false)
        ok 6 - ltr(1.1.1, >=2.0.0, false)
        ok 7 - ltr(1.2.9, >=2.0.0, false)
        ok 8 - ltr(2.0.0, >2.0.0, false)
        ok 9 - ltr(0.1.5, 0.1.20 || 1.2.4, false)
        ok 10 - ltr(1.0.0, 2.x.x, false)
        ok 11 - ltr(1.1.0, 1.2.x, false)
        ok 12 - ltr(1.0.0, 1.2.x || 2.x, false)
        ok 13 - ltr(1.0.1, 2.*.*, false)
        ok 14 - ltr(1.1.3, 1.2.*, false)
        ok 15 - ltr(1.1.9999, 1.2.* || 2.*, false)
        ok 16 - ltr(1.0.0, 2, false)
        ok 17 - ltr(2.2.2, 2.3, false)
        ok 18 - ltr(2.3.0, ~2.4, false)
        ok 19 - ltr(2.3.5, ~2.4, false)
        ok 20 - ltr(3.2.0, ~>3.2.1, false)
        ok 21 - ltr(0.2.3, ~1, false)
        ok 22 - ltr(0.2.4, ~>1, false)
        ok 23 - ltr(0.2.3, ~> 1, false)
        ok 24 - ltr(0.1.2, ~1.0, false)
        ok 25 - ltr(0.1.0, ~ 1.0, false)
        ok 26 - ltr(1.2.0, >1.2, false)
        ok 27 - ltr(1.2.1, > 1.2, false)
        ok 28 - ltr(0.0.0beta, 1, true)
        ok 29 - ltr(0.5.4-alpha, ~v0.5.4-pre, false)
        ok 30 - ltr(0.5.4-alpha, ~v0.5.4-pre, false)
        ok 31 - ltr(0.6.0, =0.7.x, false)
        ok 32 - ltr(0.6.0-asdf, =0.7.x, false)
        ok 33 - ltr(0.6.0, >=0.7.x, false)
        ok 34 - ltr(1.2.1, ~1.2.2, false)
        ok 35 - ltr(0.2.3, 1.0.0 - 2.0.0, false)
        ok 36 - ltr(0.0.1, 1.0.0, false)
        ok 37 - ltr(1.0.0, >=2.0.0, false)
        ok 38 - ltr(1.9999.9999, >=2.0.0, false)
        ok 39 - ltr(1.2.9, >=2.0.0, false)
        ok 40 - ltr(2.0.0, >2.0.0, false)
        ok 41 - ltr(1.2.9, >2.0.0, false)
        ok 42 - ltr(1.1.3, 2.x.x, false)
        ok 43 - ltr(1.1.3, 1.2.x, false)
        ok 44 - ltr(1.1.3, 1.2.x || 2.x, false)
        ok 45 - ltr(1.1.3, 2.*.*, false)
        ok 46 - ltr(1.1.3, 1.2.*, false)
        ok 47 - ltr(1.1.3, 1.2.* || 2.*, false)
        ok 48 - ltr(1.9999.9999, 2, false)
        ok 49 - ltr(2.2.1, 2.3, false)
        ok 50 - ltr(2.3.0, ~2.4, false)
        ok 51 - ltr(2.3.2, ~>3.2.1, false)
        ok 52 - ltr(0.2.3, ~1, false)
        ok 53 - ltr(0.2.3, ~>1, false)
        ok 54 - ltr(0.0.0, ~1.0, false)
        ok 55 - ltr(1.0.0, >1, false)
        ok 56 - ltr(1.0.0beta, 2, true)
        ok 57 - ltr(1.0.0beta, >1, true)
        ok 58 - ltr(1.0.0beta, > 1, true)
        ok 59 - ltr(0.6.2, =0.7.x, false)
        ok 60 - ltr(0.7.0-asdf, =0.7.x, false)
        ok 61 - ltr(1.0.0-0, ^1, false)
        ok 62 - ltr(0.7.0-asdf, >=0.7.x, false)
        ok 63 - ltr(1.0.0beta, 1, true)
        ok 64 - ltr(0.6.2, >=0.7.x, false)
        ok 65 - ltr(1.3.0-alpha, >1.2.3, false)
        1..65
    ok 1 - ltr tests # time=27.022ms
    
    # Subtest: negative ltr tests
        ok 1 - !ltr(1.1.0, ~ 1.0, false)
        ok 2 - !ltr(0.6.1-1, ~0.6.1-1, false)
        ok 3 - !ltr(1.2.3, 1.0.0 - 2.0.0, false)
        ok 4 - !ltr(2.9.9, 1.0.0 - 2.0.0, false)
        ok 5 - !ltr(1.0.0, 1.0.0, false)
        ok 6 - !ltr(0.2.4, >=*, false)
        ok 7 - !ltr(1.0.0, , true)
        ok 8 - !ltr(1.2.3, *, false)
        ok 9 - !ltr(1.0.0, >=1.0.0, false)
        ok 10 - !ltr(1.0.1, >=1.0.0, false)
        ok 11 - !ltr(1.1.0, >=1.0.0, false)
        ok 12 - !ltr(1.0.1, >1.0.0, false)
        ok 13 - !ltr(1.1.0, >1.0.0, false)
        ok 14 - !ltr(2.0.0, <=2.0.0, false)
        ok 15 - !ltr(1.9999.9999, <=2.0.0, false)
        ok 16 - !ltr(0.2.9, <=2.0.0, false)
        ok 17 - !ltr(1.9999.9999, <2.0.0, false)
        ok 18 - !ltr(0.2.9, <2.0.0, false)
        ok 19 - !ltr(1.0.0, >= 1.0.0, false)
        ok 20 - !ltr(1.0.1, >=  1.0.0, false)
        ok 21 - !ltr(1.1.0, >=   1.0.0, false)
        ok 22 - !ltr(1.0.1, > 1.0.0, false)
        ok 23 - !ltr(1.1.0, >  1.0.0, false)
        ok 24 - !ltr(2.0.0, <=   2.0.0, false)
        ok 25 - !ltr(1.9999.9999, <= 2.0.0, false)
        ok 26 - !ltr(0.2.9, <=  2.0.0, false)
        ok 27 - !ltr(1.9999.9999, <    2.0.0, false)
        ok 28 - !ltr(0.2.9, <  2.0.0, false)
        ok 29 - !ltr(v0.1.97, >=0.1.97, false)
        ok 30 - !ltr(0.1.97, >=0.1.97, false)
        ok 31 - !ltr(1.2.4, 0.1.20 || 1.2.4, false)
        ok 32 - !ltr(1.2.4, 0.1.20 || >1.2.4, false)
        ok 33 - !ltr(1.2.3, 0.1.20 || 1.2.4, false)
        ok 34 - !ltr(0.1.20, 0.1.20 || 1.2.4, false)
        ok 35 - !ltr(0.0.0, >=0.2.3 || <0.0.1, false)
        ok 36 - !ltr(0.2.3, >=0.2.3 || <0.0.1, false)
        ok 37 - !ltr(0.2.4, >=0.2.3 || <0.0.1, false)
        ok 38 - !ltr(1.3.4, ||, false)
        ok 39 - !ltr(2.1.3, 2.x.x, false)
        ok 40 - !ltr(1.2.3, 1.2.x, false)
        ok 41 - !ltr(2.1.3, 1.2.x || 2.x, false)
        ok 42 - !ltr(1.2.3, 1.2.x || 2.x, false)
        ok 43 - !ltr(1.2.3, x, false)
        ok 44 - !ltr(2.1.3, 2.*.*, false)
        ok 45 - !ltr(1.2.3, 1.2.*, false)
        ok 46 - !ltr(2.1.3, 1.2.* || 2.*, false)
        ok 47 - !ltr(1.2.3, 1.2.* || 2.*, false)
        ok 48 - !ltr(1.2.3, 1.2.* || 2.*, false)
        ok 49 - !ltr(1.2.3, *, false)
        ok 50 - !ltr(2.1.2, 2, false)
        ok 51 - !ltr(2.3.1, 2.3, false)
        ok 52 - !ltr(2.4.0, ~2.4, false)
        ok 53 - !ltr(2.4.5, ~2.4, false)
        ok 54 - !ltr(3.2.2, ~>3.2.1, false)
        ok 55 - !ltr(1.2.3, ~1, false)
        ok 56 - !ltr(1.2.3, ~>1, false)
        ok 57 - !ltr(1.2.3, ~> 1, false)
        ok 58 - !ltr(1.0.2, ~1.0, false)
        ok 59 - !ltr(1.0.2, ~ 1.0, false)
        ok 60 - !ltr(1.0.0, >=1, false)
        ok 61 - !ltr(1.0.0, >= 1, false)
        ok 62 - !ltr(1.1.1, <1.2, false)
        ok 63 - !ltr(1.1.1, < 1.2, false)
        ok 64 - !ltr(0.5.5, ~v0.5.4-pre, false)
        ok 65 - !ltr(0.5.4, ~v0.5.4-pre, false)
        ok 66 - !ltr(0.7.2, =0.7.x, false)
        ok 67 - !ltr(0.7.2, >=0.7.x, false)
        ok 68 - !ltr(0.6.2, <=0.7.x, false)
        ok 69 - !ltr(0.2.5, >0.2.3 >0.2.4 <=0.2.5, false)
        ok 70 - !ltr(0.2.4, >=0.2.3 <=0.2.4, false)
        ok 71 - !ltr(2.0.0, 1.0.0 - 2.0.0, false)
        ok 72 - !ltr(4.0.0, ^3.0.0, false)
        ok 73 - !ltr(2.0.0, ^1.0.0 || ~2.0.1, false)
        ok 74 - !ltr(3.2.0, ^0.1.0 || ~3.0.1 || 5.0.0, false)
        ok 75 - !ltr(1.0.0beta, ^0.1.0 || ~3.0.1 || 5.0.0, true)
        ok 76 - !ltr(5.0.0-0, ^0.1.0 || ~3.0.1 || 5.0.0, true)
        ok 77 - !ltr(3.5.0, ^0.1.0 || ~3.0.1 || >4 <=5.0.0, false)
        ok 78 - !ltr(1.0.0beta, ^1.0.0alpha, true)
        ok 79 - !ltr(1.0.0beta, ~1.0.0alpha, true)
        ok 80 - !ltr(1.0.0beta, ^1.0.0-alpha, true)
        ok 81 - !ltr(1.0.0beta, ~1.0.0-alpha, true)
        ok 82 - !ltr(1.0.0-beta, ^1.0.0-alpha, false)
        ok 83 - !ltr(1.0.0-beta, ~1.0.0-alpha, false)
        ok 84 - !ltr(1.0.0, =0.1.0, false)
        ok 85 - !ltr(1.3.0-alpha, >1.2.3, [object Object])
        1..85
    ok 2 - negative ltr tests # time=20.392ms
    
    1..2
    # time=58.556ms
ok 38 - test/ranges/ltr.js # time=58.556ms

# Subtest: test/ranges/max-satisfying.js
    # Subtest: max satisfying
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        1..4
    ok 1 - max satisfying # time=11.183ms
    
    # Subtest: bad ranges in max satisfying
        ok 1 - should be equal
        1..1
    ok 2 - bad ranges in max satisfying # time=1.036ms
    
    1..2
    # time=23.137ms
ok 39 - test/ranges/max-satisfying.js # time=23.137ms

# Subtest: test/ranges/min-satisfying.js
    # Subtest: min satisfying
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        1..4
    ok 1 - min satisfying # time=11.013ms
    
    # Subtest: bad ranges in min satisfying
        ok 1 - should be equal
        1..1
    ok 2 - bad ranges in min satisfying # time=1.033ms
    
    1..2
    # time=22.997ms
ok 40 - test/ranges/min-satisfying.js # time=22.997ms

# Subtest: test/ranges/min-version.js
    # Subtest: minimum version in range tests
        ok 1 - minVersion(*, false) = 0.0.0
        ok 2 - minVersion(* || >=2, false) = 0.0.0
        ok 3 - minVersion(>=2 || *, false) = 0.0.0
        ok 4 - minVersion(>2 || *, false) = 0.0.0
        ok 5 - minVersion(1.0.0, false) = 1.0.0
        ok 6 - minVersion(1.0, false) = 1.0.0
        ok 7 - minVersion(1.0.x, false) = 1.0.0
        ok 8 - minVersion(1.0.*, false) = 1.0.0
        ok 9 - minVersion(1, false) = 1.0.0
        ok 10 - minVersion(1.x.x, false) = 1.0.0
        ok 11 - minVersion(1.x.x, false) = 1.0.0
        ok 12 - minVersion(1.*.x, false) = 1.0.0
        ok 13 - minVersion(1.x.*, false) = 1.0.0
        ok 14 - minVersion(1.x, false) = 1.0.0
        ok 15 - minVersion(1.*, false) = 1.0.0
        ok 16 - minVersion(=1.0.0, false) = 1.0.0
        ok 17 - minVersion(~1.1.1, false) = 1.1.1
        ok 18 - minVersion(~1.1.1-beta, false) = 1.1.1-beta
        ok 19 - minVersion(~1.1.1 || >=2, false) = 1.1.1
        ok 20 - minVersion(^1.1.1, false) = 1.1.1
        ok 21 - minVersion(^1.1.1-beta, false) = 1.1.1-beta
        ok 22 - minVersion(^1.1.1 || >=2, false) = 1.1.1
        ok 23 - minVersion(1.1.1 - 1.8.0, false) = 1.1.1
        ok 24 - minVersion(1.1 - 1.8.0, false) = 1.1.0
        ok 25 - minVersion(<2, false) = 0.0.0
        ok 26 - minVersion(<0.0.0-beta, false) = 0.0.0-0
        ok 27 - minVersion(<0.0.1-beta, false) = 0.0.0
        ok 28 - minVersion(<2 || >4, false) = 0.0.0
        ok 29 - minVersion(>4 || <2, false) = 0.0.0
        ok 30 - minVersion(<=2 || >=4, false) = 0.0.0
        ok 31 - minVersion(>=4 || <=2, false) = 0.0.0
        ok 32 - minVersion(<0.0.0-beta >0.0.0-alpha, false) = 0.0.0-alpha.0
        ok 33 - minVersion(>0.0.0-alpha <0.0.0-beta, false) = 0.0.0-alpha.0
        ok 34 - minVersion(>=1.1.1 <2 || >=2.2.2 <2, false) = 1.1.1
        ok 35 - minVersion(>=2.2.2 <2 || >=1.1.1 <2, false) = 1.1.1
        ok 36 - minVersion(>1.0.0, false) = 1.0.1
        ok 37 - minVersion(>1.0.0-0, false) = 1.0.0-0.0
        ok 38 - minVersion(>1.0.0-beta, false) = 1.0.0-beta.0
        ok 39 - minVersion(>2 || >1.0.0, false) = 1.0.1
        ok 40 - minVersion(>2 || >1.0.0-0, false) = 1.0.0-0.0
        ok 41 - minVersion(>2 || >1.0.0-beta, false) = 1.0.0-beta.0
        ok 42 - minVersion(>4 <3, false) = null
        1..42
    ok 1 - minimum version in range tests # time=20.489ms
    
    1..1
    # time=25.18ms
ok 41 - test/ranges/min-version.js # time=25.18ms

# Subtest: test/ranges/outside.js
    # Subtest: gtr tests
        ok 1 - outside(1.3.0, ~1.2.2, > false)
        ok 2 - outside(0.7.1-1, ~0.6.1-1, > false)
        ok 3 - outside(2.0.1, 1.0.0 - 2.0.0, > false)
        ok 4 - outside(1.0.1-beta1, 1.0.0, > false)
        ok 5 - outside(2.0.0, 1.0.0, > false)
        ok 6 - outside(2.1.1, <=2.0.0, > false)
        ok 7 - outside(3.2.9, <=2.0.0, > false)
        ok 8 - outside(2.0.0, <2.0.0, > false)
        ok 9 - outside(1.2.5, 0.1.20 || 1.2.4, > false)
        ok 10 - outside(3.0.0, 2.x.x, > false)
        ok 11 - outside(1.3.0, 1.2.x, > false)
        ok 12 - outside(3.0.0, 1.2.x || 2.x, > false)
        ok 13 - outside(5.0.1, 2.*.*, > false)
        ok 14 - outside(1.3.3, 1.2.*, > false)
        ok 15 - outside(4.0.0, 1.2.* || 2.*, > false)
        ok 16 - outside(3.0.0, 2, > false)
        ok 17 - outside(2.4.2, 2.3, > false)
        ok 18 - outside(2.5.0, ~2.4, > false)
        ok 19 - outside(2.5.5, ~2.4, > false)
        ok 20 - outside(3.3.0, ~>3.2.1, > false)
        ok 21 - outside(2.2.3, ~1, > false)
        ok 22 - outside(2.2.4, ~>1, > false)
        ok 23 - outside(3.2.3, ~> 1, > false)
        ok 24 - outside(1.1.2, ~1.0, > false)
        ok 25 - outside(1.1.0, ~ 1.0, > false)
        ok 26 - outside(1.2.0, <1.2, > false)
        ok 27 - outside(1.2.1, < 1.2, > false)
        ok 28 - outside(2.0.0beta, 1, > true)
        ok 29 - outside(0.6.0, ~v0.5.4-pre, > false)
        ok 30 - outside(0.6.1-pre, ~v0.5.4-pre, > false)
        ok 31 - outside(0.8.0, =0.7.x, > false)
        ok 32 - outside(0.8.0-asdf, =0.7.x, > false)
        ok 33 - outside(0.7.0, <0.7.x, > false)
        ok 34 - outside(1.3.0, ~1.2.2, > false)
        ok 35 - outside(2.2.3, 1.0.0 - 2.0.0, > false)
        ok 36 - outside(1.0.1, 1.0.0, > false)
        ok 37 - outside(3.0.0, <=2.0.0, > false)
        ok 38 - outside(2.9999.9999, <=2.0.0, > false)
        ok 39 - outside(2.2.9, <=2.0.0, > false)
        ok 40 - outside(2.9999.9999, <2.0.0, > false)
        ok 41 - outside(2.2.9, <2.0.0, > false)
        ok 42 - outside(3.1.3, 2.x.x, > false)
        ok 43 - outside(1.3.3, 1.2.x, > false)
        ok 44 - outside(3.1.3, 1.2.x || 2.x, > false)
        ok 45 - outside(3.1.3, 2.*.*, > false)
        ok 46 - outside(1.3.3, 1.2.*, > false)
        ok 47 - outside(3.1.3, 1.2.* || 2.*, > false)
        ok 48 - outside(3.1.2, 2, > false)
        ok 49 - outside(2.4.1, 2.3, > false)
        ok 50 - outside(2.5.0, ~2.4, > false)
        ok 51 - outside(3.3.2, ~>3.2.1, > false)
        ok 52 - outside(2.2.3, ~1, > false)
        ok 53 - outside(2.2.3, ~>1, > false)
        ok 54 - outside(1.1.0, ~1.0, > false)
        ok 55 - outside(1.0.0, <1, > false)
        ok 56 - outside(2.0.0beta, 1, > true)
        ok 57 - outside(1.0.0beta, <1, > true)
        ok 58 - outside(1.0.0beta, < 1, > true)
        ok 59 - outside(0.8.2, =0.7.x, > false)
        ok 60 - outside(0.7.2, <0.7.x, > false)
        ok 61 - outside(0.7.2-beta, 0.7.x, > false)
        1..61
    ok 1 - gtr tests # time=26.617ms
    
    # Subtest: ltr tests
        ok 1 - outside(1.2.1, ~1.2.2, <, false)
        ok 2 - outside(0.6.1-0, ~0.6.1-1, <, false)
        ok 3 - outside(0.0.1, 1.0.0 - 2.0.0, <, false)
        ok 4 - outside(1.0.0-beta.1, 1.0.0-beta.2, <, false)
        ok 5 - outside(0.0.0, 1.0.0, <, false)
        ok 6 - outside(1.1.1, >=2.0.0, <, false)
        ok 7 - outside(1.2.9, >=2.0.0, <, false)
        ok 8 - outside(2.0.0, >2.0.0, <, false)
        ok 9 - outside(0.1.5, 0.1.20 || 1.2.4, <, false)
        ok 10 - outside(1.0.0, 2.x.x, <, false)
        ok 11 - outside(1.1.0, 1.2.x, <, false)
        ok 12 - outside(1.0.0, 1.2.x || 2.x, <, false)
        ok 13 - outside(1.0.1, 2.*.*, <, false)
        ok 14 - outside(1.1.3, 1.2.*, <, false)
        ok 15 - outside(1.1.9999, 1.2.* || 2.*, <, false)
        ok 16 - outside(1.0.0, 2, <, false)
        ok 17 - outside(2.2.2, 2.3, <, false)
        ok 18 - outside(2.3.0, ~2.4, <, false)
        ok 19 - outside(2.3.5, ~2.4, <, false)
        ok 20 - outside(3.2.0, ~>3.2.1, <, false)
        ok 21 - outside(0.2.3, ~1, <, false)
        ok 22 - outside(0.2.4, ~>1, <, false)
        ok 23 - outside(0.2.3, ~> 1, <, false)
        ok 24 - outside(0.1.2, ~1.0, <, false)
        ok 25 - outside(0.1.0, ~ 1.0, <, false)
        ok 26 - outside(1.2.0, >1.2, <, false)
        ok 27 - outside(1.2.1, > 1.2, <, false)
        ok 28 - outside(0.0.0beta, 1, <, true)
        ok 29 - outside(0.5.4-alpha, ~v0.5.4-pre, <, false)
        ok 30 - outside(0.5.4-alpha, ~v0.5.4-pre, <, false)
        ok 31 - outside(0.6.0, =0.7.x, <, false)
        ok 32 - outside(0.6.0-asdf, =0.7.x, <, false)
        ok 33 - outside(0.6.0, >=0.7.x, <, false)
        ok 34 - outside(1.2.1, ~1.2.2, <, false)
        ok 35 - outside(0.2.3, 1.0.0 - 2.0.0, <, false)
        ok 36 - outside(0.0.1, 1.0.0, <, false)
        ok 37 - outside(1.0.0, >=2.0.0, <, false)
        ok 38 - outside(1.9999.9999, >=2.0.0, <, false)
        ok 39 - outside(1.2.9, >=2.0.0, <, false)
        ok 40 - outside(2.0.0, >2.0.0, <, false)
        ok 41 - outside(1.2.9, >2.0.0, <, false)
        ok 42 - outside(1.1.3, 2.x.x, <, false)
        ok 43 - outside(1.1.3, 1.2.x, <, false)
        ok 44 - outside(1.1.3, 1.2.x || 2.x, <, false)
        ok 45 - outside(1.1.3, 2.*.*, <, false)
        ok 46 - outside(1.1.3, 1.2.*, <, false)
        ok 47 - outside(1.1.3, 1.2.* || 2.*, <, false)
        ok 48 - outside(1.9999.9999, 2, <, false)
        ok 49 - outside(2.2.1, 2.3, <, false)
        ok 50 - outside(2.3.0, ~2.4, <, false)
        ok 51 - outside(2.3.2, ~>3.2.1, <, false)
        ok 52 - outside(0.2.3, ~1, <, false)
        ok 53 - outside(0.2.3, ~>1, <, false)
        ok 54 - outside(0.0.0, ~1.0, <, false)
        ok 55 - outside(1.0.0, >1, <, false)
        ok 56 - outside(1.0.0beta, 2, <, true)
        ok 57 - outside(1.0.0beta, >1, <, true)
        ok 58 - outside(1.0.0beta, > 1, <, true)
        ok 59 - outside(0.6.2, =0.7.x, <, false)
        ok 60 - outside(0.7.0-asdf, =0.7.x, <, false)
        ok 61 - outside(1.0.0-0, ^1, <, false)
        ok 62 - outside(0.7.0-asdf, >=0.7.x, <, false)
        ok 63 - outside(1.0.0beta, 1, <, true)
        ok 64 - outside(0.6.2, >=0.7.x, <, false)
        ok 65 - outside(1.3.0-alpha, >1.2.3, <, false)
        1..65
    ok 2 - ltr tests # time=16.561ms
    
    # Subtest: negative gtr tests
        ok 1 - !outside(0.6.1-1, ~0.6.1-1, > false)
        ok 2 - !outside(1.2.3, 1.0.0 - 2.0.0, > false)
        ok 3 - !outside(0.9.9, 1.0.0 - 2.0.0, > false)
        ok 4 - !outside(1.0.0, 1.0.0, > false)
        ok 5 - !outside(0.2.4, >=*, > false)
        ok 6 - !outside(1.0.0, , > true)
        ok 7 - !outside(1.2.3, *, > false)
        ok 8 - !outside(v1.2.3-foo, *, > false)
        ok 9 - !outside(1.0.0, >=1.0.0, > false)
        ok 10 - !outside(1.0.1, >=1.0.0, > false)
        ok 11 - !outside(1.1.0, >=1.0.0, > false)
        ok 12 - !outside(1.0.1, >1.0.0, > false)
        ok 13 - !outside(1.1.0, >1.0.0, > false)
        ok 14 - !outside(2.0.0, <=2.0.0, > false)
        ok 15 - !outside(1.9999.9999, <=2.0.0, > false)
        ok 16 - !outside(0.2.9, <=2.0.0, > false)
        ok 17 - !outside(1.9999.9999, <2.0.0, > false)
        ok 18 - !outside(0.2.9, <2.0.0, > false)
        ok 19 - !outside(1.0.0, >= 1.0.0, > false)
        ok 20 - !outside(1.0.1, >=  1.0.0, > false)
        ok 21 - !outside(1.1.0, >=   1.0.0, > false)
        ok 22 - !outside(1.0.1, > 1.0.0, > false)
        ok 23 - !outside(1.1.0, >  1.0.0, > false)
        ok 24 - !outside(2.0.0, <=   2.0.0, > false)
        ok 25 - !outside(1.9999.9999, <= 2.0.0, > false)
        ok 26 - !outside(0.2.9, <=  2.0.0, > false)
        ok 27 - !outside(1.9999.9999, <    2.0.0, > false)
        ok 28 - !outside(0.2.9, <  2.0.0, > false)
        ok 29 - !outside(v0.1.97, >=0.1.97, > false)
        ok 30 - !outside(0.1.97, >=0.1.97, > false)
        ok 31 - !outside(1.2.4, 0.1.20 || 1.2.4, > false)
        ok 32 - !outside(1.2.4, 0.1.20 || >1.2.4, > false)
        ok 33 - !outside(1.2.3, 0.1.20 || 1.2.4, > false)
        ok 34 - !outside(0.1.20, 0.1.20 || 1.2.4, > false)
        ok 35 - !outside(0.0.0, >=0.2.3 || <0.0.1, > false)
        ok 36 - !outside(0.2.3, >=0.2.3 || <0.0.1, > false)
        ok 37 - !outside(0.2.4, >=0.2.3 || <0.0.1, > false)
        ok 38 - !outside(1.3.4, ||, > false)
        ok 39 - !outside(2.1.3, 2.x.x, > false)
        ok 40 - !outside(1.2.3, 1.2.x, > false)
        ok 41 - !outside(2.1.3, 1.2.x || 2.x, > false)
        ok 42 - !outside(1.2.3, 1.2.x || 2.x, > false)
        ok 43 - !outside(1.2.3, x, > false)
        ok 44 - !outside(2.1.3, 2.*.*, > false)
        ok 45 - !outside(1.2.3, 1.2.*, > false)
        ok 46 - !outside(2.1.3, 1.2.* || 2.*, > false)
        ok 47 - !outside(1.2.3, 1.2.* || 2.*, > false)
        ok 48 - !outside(1.2.3, 1.2.* || 2.*, > false)
        ok 49 - !outside(1.2.3, *, > false)
        ok 50 - !outside(2.1.2, 2, > false)
        ok 51 - !outside(2.3.1, 2.3, > false)
        ok 52 - !outside(2.4.0, ~2.4, > false)
        ok 53 - !outside(2.4.5, ~2.4, > false)
        ok 54 - !outside(3.2.2, ~>3.2.1, > false)
        ok 55 - !outside(1.2.3, ~1, > false)
        ok 56 - !outside(1.2.3, ~>1, > false)
        ok 57 - !outside(1.2.3, ~> 1, > false)
        ok 58 - !outside(1.0.2, ~1.0, > false)
        ok 59 - !outside(1.0.2, ~ 1.0, > false)
        ok 60 - !outside(1.0.0, >=1, > false)
        ok 61 - !outside(1.0.0, >= 1, > false)
        ok 62 - !outside(1.1.1, <1.2, > false)
        ok 63 - !outside(1.1.1, < 1.2, > false)
        ok 64 - !outside(1.0.0beta, 1, > true)
        ok 65 - !outside(0.5.5, ~v0.5.4-pre, > false)
        ok 66 - !outside(0.5.4, ~v0.5.4-pre, > false)
        ok 67 - !outside(0.7.2, =0.7.x, > false)
        ok 68 - !outside(0.7.2, >=0.7.x, > false)
        ok 69 - !outside(0.7.0-asdf, =0.7.x, > false)
        ok 70 - !outside(0.7.0-asdf, >=0.7.x, > false)
        ok 71 - !outside(0.6.2, <=0.7.x, > false)
        ok 72 - !outside(0.2.5, >0.2.3 >0.2.4 <=0.2.5, > false)
        ok 73 - !outside(0.2.4, >=0.2.3 <=0.2.4, > false)
        ok 74 - !outside(2.0.0, 1.0.0 - 2.0.0, > false)
        ok 75 - !outside(0.0.0-0, ^1, > false)
        ok 76 - !outside(2.0.0, ^3.0.0, > false)
        ok 77 - !outside(2.0.0, ^1.0.0 || ~2.0.1, > false)
        ok 78 - !outside(3.2.0, ^0.1.0 || ~3.0.1 || 5.0.0, > false)
        ok 79 - !outside(1.0.0beta, ^0.1.0 || ~3.0.1 || 5.0.0, > true)
        ok 80 - !outside(5.0.0-0, ^0.1.0 || ~3.0.1 || 5.0.0, > true)
        ok 81 - !outside(3.5.0, ^0.1.0 || ~3.0.1 || >4 <=5.0.0, > false)
        ok 82 - !outside(0.7.2-beta, 0.7.x, > [object Object])
        1..82
    ok 3 - negative gtr tests # time=19.977ms
    
    # Subtest: negative ltr tests
        ok 1 - !outside(1.1.0, ~ 1.0, < false)
        ok 2 - !outside(0.6.1-1, ~0.6.1-1, < false)
        ok 3 - !outside(1.2.3, 1.0.0 - 2.0.0, < false)
        ok 4 - !outside(2.9.9, 1.0.0 - 2.0.0, < false)
        ok 5 - !outside(1.0.0, 1.0.0, < false)
        ok 6 - !outside(0.2.4, >=*, < false)
        ok 7 - !outside(1.0.0, , < true)
        ok 8 - !outside(1.2.3, *, < false)
        ok 9 - !outside(1.0.0, >=1.0.0, < false)
        ok 10 - !outside(1.0.1, >=1.0.0, < false)
        ok 11 - !outside(1.1.0, >=1.0.0, < false)
        ok 12 - !outside(1.0.1, >1.0.0, < false)
        ok 13 - !outside(1.1.0, >1.0.0, < false)
        ok 14 - !outside(2.0.0, <=2.0.0, < false)
        ok 15 - !outside(1.9999.9999, <=2.0.0, < false)
        ok 16 - !outside(0.2.9, <=2.0.0, < false)
        ok 17 - !outside(1.9999.9999, <2.0.0, < false)
        ok 18 - !outside(0.2.9, <2.0.0, < false)
        ok 19 - !outside(1.0.0, >= 1.0.0, < false)
        ok 20 - !outside(1.0.1, >=  1.0.0, < false)
        ok 21 - !outside(1.1.0, >=   1.0.0, < false)
        ok 22 - !outside(1.0.1, > 1.0.0, < false)
        ok 23 - !outside(1.1.0, >  1.0.0, < false)
        ok 24 - !outside(2.0.0, <=   2.0.0, < false)
        ok 25 - !outside(1.9999.9999, <= 2.0.0, < false)
        ok 26 - !outside(0.2.9, <=  2.0.0, < false)
        ok 27 - !outside(1.9999.9999, <    2.0.0, < false)
        ok 28 - !outside(0.2.9, <  2.0.0, < false)
        ok 29 - !outside(v0.1.97, >=0.1.97, < false)
        ok 30 - !outside(0.1.97, >=0.1.97, < false)
        ok 31 - !outside(1.2.4, 0.1.20 || 1.2.4, < false)
        ok 32 - !outside(1.2.4, 0.1.20 || >1.2.4, < false)
        ok 33 - !outside(1.2.3, 0.1.20 || 1.2.4, < false)
        ok 34 - !outside(0.1.20, 0.1.20 || 1.2.4, < false)
        ok 35 - !outside(0.0.0, >=0.2.3 || <0.0.1, < false)
        ok 36 - !outside(0.2.3, >=0.2.3 || <0.0.1, < false)
        ok 37 - !outside(0.2.4, >=0.2.3 || <0.0.1, < false)
        ok 38 - !outside(1.3.4, ||, < false)
        ok 39 - !outside(2.1.3, 2.x.x, < false)
        ok 40 - !outside(1.2.3, 1.2.x, < false)
        ok 41 - !outside(2.1.3, 1.2.x || 2.x, < false)
        ok 42 - !outside(1.2.3, 1.2.x || 2.x, < false)
        ok 43 - !outside(1.2.3, x, < false)
        ok 44 - !outside(2.1.3, 2.*.*, < false)
        ok 45 - !outside(1.2.3, 1.2.*, < false)
        ok 46 - !outside(2.1.3, 1.2.* || 2.*, < false)
        ok 47 - !outside(1.2.3, 1.2.* || 2.*, < false)
        ok 48 - !outside(1.2.3, 1.2.* || 2.*, < false)
        ok 49 - !outside(1.2.3, *, < false)
        ok 50 - !outside(2.1.2, 2, < false)
        ok 51 - !outside(2.3.1, 2.3, < false)
        ok 52 - !outside(2.4.0, ~2.4, < false)
        ok 53 - !outside(2.4.5, ~2.4, < false)
        ok 54 - !outside(3.2.2, ~>3.2.1, < false)
        ok 55 - !outside(1.2.3, ~1, < false)
        ok 56 - !outside(1.2.3, ~>1, < false)
        ok 57 - !outside(1.2.3, ~> 1, < false)
        ok 58 - !outside(1.0.2, ~1.0, < false)
        ok 59 - !outside(1.0.2, ~ 1.0, < false)
        ok 60 - !outside(1.0.0, >=1, < false)
        ok 61 - !outside(1.0.0, >= 1, < false)
        ok 62 - !outside(1.1.1, <1.2, < false)
        ok 63 - !outside(1.1.1, < 1.2, < false)
        ok 64 - !outside(0.5.5, ~v0.5.4-pre, < false)
        ok 65 - !outside(0.5.4, ~v0.5.4-pre, < false)
        ok 66 - !outside(0.7.2, =0.7.x, < false)
        ok 67 - !outside(0.7.2, >=0.7.x, < false)
        ok 68 - !outside(0.6.2, <=0.7.x, < false)
        ok 69 - !outside(0.2.5, >0.2.3 >0.2.4 <=0.2.5, < false)
        ok 70 - !outside(0.2.4, >=0.2.3 <=0.2.4, < false)
        ok 71 - !outside(2.0.0, 1.0.0 - 2.0.0, < false)
        ok 72 - !outside(4.0.0, ^3.0.0, < false)
        ok 73 - !outside(2.0.0, ^1.0.0 || ~2.0.1, < false)
        ok 74 - !outside(3.2.0, ^0.1.0 || ~3.0.1 || 5.0.0, < false)
        ok 75 - !outside(1.0.0beta, ^0.1.0 || ~3.0.1 || 5.0.0, < true)
        ok 76 - !outside(5.0.0-0, ^0.1.0 || ~3.0.1 || 5.0.0, < true)
        ok 77 - !outside(3.5.0, ^0.1.0 || ~3.0.1 || >4 <=5.0.0, < false)
        ok 78 - !outside(1.0.0beta, ^1.0.0alpha, < true)
        ok 79 - !outside(1.0.0beta, ~1.0.0alpha, < true)
        ok 80 - !outside(1.0.0beta, ^1.0.0-alpha, < true)
        ok 81 - !outside(1.0.0beta, ~1.0.0-alpha, < true)
        ok 82 - !outside(1.0.0-beta, ^1.0.0-alpha, < false)
        ok 83 - !outside(1.0.0-beta, ~1.0.0-alpha, < false)
        ok 84 - !outside(1.0.0, =0.1.0, < false)
        ok 85 - !outside(1.3.0-alpha, >1.2.3, < [object Object])
        1..85
    ok 4 - negative ltr tests # time=21.633ms
    
    # Subtest: outside with bad hilo throws
        ok 1 - expected to throw: TypeError Must provide a hilo val of "<" or ">"
        1..1
    ok 5 - outside with bad hilo throws # time=4.2ms
    
    1..5
    # time=119.035ms
ok 42 - test/ranges/outside.js # time=119.035ms

# Subtest: test/ranges/simplify.js
    ok 1 - should be equal
    ok 2 - should be equal
    ok 3 - should be equal
    ok 4 - should be equal
    ok 5 - should be equal
    ok 6 - should be equal
    ok 7 - should be equal
    1..7
    # time=30.148ms
ok 43 - test/ranges/simplify.js # time=30.148ms

# Subtest: test/ranges/subset.js
    1..57
    ok 1 - 1.2.3 ⊂ 1.2.3 = true
    ok 2 - 1.2.3 1.2.4 ⊂ 1.2.3 = true
    ok 3 - 1.2.3 2.3.4 || 2.3.4 ⊂ 3 = false
    ok 4 - ^1.2.3-pre.0 ⊂ 1.x = false
    ok 5 - ^1.2.3-pre.0 ⊂ 1.x = true includePrerelease
    ok 6 - >2 <1 ⊂ 3 = true
    ok 7 - 1 || 2 || 3 ⊂ >=1.0.0 = true
    ok 8 - * ⊂ * = true
    ok 9 - '' ⊂ * = true
    ok 10 - * ⊂ '' = true
    ok 11 - '' ⊂ '' = true
    ok 12 - * ⊂ >=0.0.0-0 = true includePrerelease
    ok 13 - * ⊂ >=0.0.0 = true
    ok 14 - * ⊂ >=0.0.0 = false includePrerelease
    ok 15 - * ⊂ >=0.0.0-0 = false
    ok 16 - ^2 || ^3 || ^4 ⊂ >=1 = true
    ok 17 - ^2 || ^3 || ^4 ⊂ >1 = true
    ok 18 - ^2 || ^3 || ^4 ⊂ >=2 = true
    ok 19 - ^2 || ^3 || ^4 ⊂ >=3 = false
    ok 20 - >=1 ⊂ ^2 || ^3 || ^4 = false
    ok 21 - >1 ⊂ ^2 || ^3 || ^4 = false
    ok 22 - >=2 ⊂ ^2 || ^3 || ^4 = false
    ok 23 - >=3 ⊂ ^2 || ^3 || ^4 = false
    ok 24 - ^1 ⊂ ^2 || ^3 || ^4 = false
    ok 25 - ^2 ⊂ ^2 || ^3 || ^4 = true
    ok 26 - ^3 ⊂ ^2 || ^3 || ^4 = true
    ok 27 - ^4 ⊂ ^2 || ^3 || ^4 = true
    ok 28 - 1.x ⊂ ^2 || ^3 || ^4 = false
    ok 29 - 2.x ⊂ ^2 || ^3 || ^4 = true
    ok 30 - 3.x ⊂ ^2 || ^3 || ^4 = true
    ok 31 - 4.x ⊂ ^2 || ^3 || ^4 = true
    ok 32 - >=1.0.0 <=1.0.0 || 2.0.0 ⊂ 1.0.0 || 2.0.0 = true
    ok 33 - <=1.0.0 >=1.0.0 || 2.0.0 ⊂ 1.0.0 || 2.0.0 = true
    ok 34 - >=1.0.0 ⊂ 1.0.0 = false
    ok 35 - >=1.0.0 <2.0.0 ⊂ <2.0.0 = true
    ok 36 - >=1.0.0 <2.0.0 ⊂ >0.0.0 = true
    ok 37 - >=1.0.0 <=1.0.0 ⊂ 1.0.0 = true
    ok 38 - >=1.0.0 <=1.0.0 ⊂ 2.0.0 = false
    ok 39 - <2.0.0 ⊂ >=1.0.0 <2.0.0 = false
    ok 40 - >=1.0.0 ⊂ >=1.0.0 <2.0.0 = false
    ok 41 - >=1.0.0 <2.0.0 ⊂ <2.0.0 = true
    ok 42 - >=1.0.0 <2.0.0 ⊂ >=1.0.0 = true
    ok 43 - >=1.0.0 <2.0.0 ⊂ >1.0.0 = false
    ok 44 - >=1.0.0 <=2.0.0 ⊂ <2.0.0 = false
    ok 45 - >=1.0.0 ⊂ <1.0.0 = false
    ok 46 - <=1.0.0 ⊂ >1.0.0 = false
    ok 47 - <=1.0.0 >1.0.0 ⊂ >1.0.0 = true
    ok 48 - 1.0.0 >1.0.0 ⊂ >1.0.0 = true
    ok 49 - 1.0.0 <1.0.0 ⊂ >1.0.0 = true
    ok 50 - <1 <2 <3 ⊂ <4 = true
    ok 51 - <3 <2 <1 ⊂ <4 = true
    ok 52 - >1 >2 >3 ⊂ >0 = true
    ok 53 - >3 >2 >1 ⊂ >0 = true
    ok 54 - <=1 <=2 <=3 ⊂ <4 = true
    ok 55 - <=3 <=2 <=1 ⊂ <4 = true
    ok 56 - >=1 >=2 >=3 ⊂ >0 = true
    ok 57 - >=3 >=2 >=1 ⊂ >0 = true
    # time=26.084ms
ok 44 - test/ranges/subset.js # time=26.084ms

# Subtest: test/ranges/to-comparators.js
    # Subtest: comparators test
        ok 1 - toComparators(1.0.0 - 2.0.0) === [[">=1.0.0","<=2.0.0"]]
        ok 2 - toComparators(1.0.0) === [["1.0.0"]]
        ok 3 - toComparators(>=*) === [[""]]
        ok 4 - toComparators() === [[""]]
        ok 5 - toComparators(*) === [[""]]
        ok 6 - toComparators(*) === [[""]]
        ok 7 - toComparators(>=1.0.0) === [[">=1.0.0"]]
        ok 8 - toComparators(>=1.0.0) === [[">=1.0.0"]]
        ok 9 - toComparators(>=1.0.0) === [[">=1.0.0"]]
        ok 10 - toComparators(>1.0.0) === [[">1.0.0"]]
        ok 11 - toComparators(>1.0.0) === [[">1.0.0"]]
        ok 12 - toComparators(<=2.0.0) === [["<=2.0.0"]]
        ok 13 - toComparators(1) === [[">=1.0.0","<2.0.0-0"]]
        ok 14 - toComparators(<=2.0.0) === [["<=2.0.0"]]
        ok 15 - toComparators(<=2.0.0) === [["<=2.0.0"]]
        ok 16 - toComparators(<2.0.0) === [["<2.0.0"]]
        ok 17 - toComparators(<2.0.0) === [["<2.0.0"]]
        ok 18 - toComparators(>= 1.0.0) === [[">=1.0.0"]]
        ok 19 - toComparators(>=  1.0.0) === [[">=1.0.0"]]
        ok 20 - toComparators(>=   1.0.0) === [[">=1.0.0"]]
        ok 21 - toComparators(> 1.0.0) === [[">1.0.0"]]
        ok 22 - toComparators(>  1.0.0) === [[">1.0.0"]]
        ok 23 - toComparators(<=   2.0.0) === [["<=2.0.0"]]
        ok 24 - toComparators(<= 2.0.0) === [["<=2.0.0"]]
        ok 25 - toComparators(<=  2.0.0) === [["<=2.0.0"]]
        ok 26 - toComparators(<    2.0.0) === [["<2.0.0"]]
        ok 27 - toComparators(<  2.0.0) === [["<2.0.0"]]
        ok 28 - toComparators(>=0.1.97) === [[">=0.1.97"]]
        ok 29 - toComparators(>=0.1.97) === [[">=0.1.97"]]
        ok 30 - toComparators(0.1.20 || 1.2.4) === [["0.1.20"],["1.2.4"]]
        ok 31 - toComparators(>=0.2.3 || <0.0.1) === [[">=0.2.3"],["<0.0.1"]]
        ok 32 - toComparators(>=0.2.3 || <0.0.1) === [[">=0.2.3"],["<0.0.1"]]
        ok 33 - toComparators(>=0.2.3 || <0.0.1) === [[">=0.2.3"],["<0.0.1"]]
        ok 34 - toComparators(||) === [[""],[""]]
        ok 35 - toComparators(2.x.x) === [[">=2.0.0","<3.0.0-0"]]
        ok 36 - toComparators(1.2.x) === [[">=1.2.0","<1.3.0-0"]]
        ok 37 - toComparators(1.2.x || 2.x) === [[">=1.2.0","<1.3.0-0"],[">=2.0.0","<3.0.0-0"]]
        ok 38 - toComparators(1.2.x || 2.x) === [[">=1.2.0","<1.3.0-0"],[">=2.0.0","<3.0.0-0"]]
        ok 39 - toComparators(x) === [[""]]
        ok 40 - toComparators(2.*.*) === [[">=2.0.0","<3.0.0-0"]]
        ok 41 - toComparators(1.2.*) === [[">=1.2.0","<1.3.0-0"]]
        ok 42 - toComparators(1.2.* || 2.*) === [[">=1.2.0","<1.3.0-0"],[">=2.0.0","<3.0.0-0"]]
        ok 43 - toComparators(1.2.* || 2.*) === [[">=1.2.0","<1.3.0-0"],[">=2.0.0","<3.0.0-0"]]
        ok 44 - toComparators(*) === [[""]]
        ok 45 - toComparators(2) === [[">=2.0.0","<3.0.0-0"]]
        ok 46 - toComparators(2.3) === [[">=2.3.0","<2.4.0-0"]]
        ok 47 - toComparators(~2.4) === [[">=2.4.0","<2.5.0-0"]]
        ok 48 - toComparators(~2.4) === [[">=2.4.0","<2.5.0-0"]]
        ok 49 - toComparators(~>3.2.1) === [[">=3.2.1","<3.3.0-0"]]
        ok 50 - toComparators(~1) === [[">=1.0.0","<2.0.0-0"]]
        ok 51 - toComparators(~>1) === [[">=1.0.0","<2.0.0-0"]]
        ok 52 - toComparators(~> 1) === [[">=1.0.0","<2.0.0-0"]]
        ok 53 - toComparators(~1.0) === [[">=1.0.0","<1.1.0-0"]]
        ok 54 - toComparators(~ 1.0) === [[">=1.0.0","<1.1.0-0"]]
        ok 55 - toComparators(~ 1.0.3) === [[">=1.0.3","<1.1.0-0"]]
        ok 56 - toComparators(~> 1.0.3) === [[">=1.0.3","<1.1.0-0"]]
        ok 57 - toComparators(<1) === [["<1.0.0-0"]]
        ok 58 - toComparators(< 1) === [["<1.0.0-0"]]
        ok 59 - toComparators(>=1) === [[">=1.0.0"]]
        ok 60 - toComparators(>= 1) === [[">=1.0.0"]]
        ok 61 - toComparators(<1.2) === [["<1.2.0-0"]]
        ok 62 - toComparators(< 1.2) === [["<1.2.0-0"]]
        ok 63 - toComparators(1) === [[">=1.0.0","<2.0.0-0"]]
        ok 64 - toComparators(1 2) === [[">=1.0.0","<2.0.0-0",">=2.0.0","<3.0.0-0"]]
        ok 65 - toComparators(1.2 - 3.4.5) === [[">=1.2.0","<=3.4.5"]]
        ok 66 - toComparators(1.2.3 - 3.4) === [[">=1.2.3","<3.5.0-0"]]
        ok 67 - toComparators(1.2.3 - 3) === [[">=1.2.3","<4.0.0-0"]]
        ok 68 - toComparators(>*) === [["<0.0.0-0"]]
        ok 69 - toComparators(<*) === [["<0.0.0-0"]]
        1..69
    ok 1 - comparators test # time=37.314ms
    
    1..1
    # time=42.03ms
ok 45 - test/ranges/to-comparators.js # time=42.03ms

# Subtest: test/ranges/valid.js
    # Subtest: valid range test
        1..84
        ok 1 - validRange(1.0.0 - 2.0.0) === >=1.0.0 <=2.0.0
        ok 2 - validRange(1.0.0 - 2.0.0) === >=1.0.0-0 <2.0.1-0
        ok 3 - validRange(1 - 2) === >=1.0.0 <3.0.0-0
        ok 4 - validRange(1 - 2) === >=1.0.0-0 <3.0.0-0
        ok 5 - validRange(1.0 - 2.0) === >=1.0.0 <2.1.0-0
        ok 6 - validRange(1.0 - 2.0) === >=1.0.0-0 <2.1.0-0
        ok 7 - validRange(1.0.0) === 1.0.0
        ok 8 - validRange(>=*) === *
        ok 9 - validRange() === *
        ok 10 - validRange(*) === *
        ok 11 - validRange(*) === *
        ok 12 - validRange(>=1.0.0) === >=1.0.0
        ok 13 - validRange(>1.0.0) === >1.0.0
        ok 14 - validRange(<=2.0.0) === <=2.0.0
        ok 15 - validRange(1) === >=1.0.0 <2.0.0-0
        ok 16 - validRange(<=2.0.0) === <=2.0.0
        ok 17 - validRange(<=2.0.0) === <=2.0.0
        ok 18 - validRange(<2.0.0) === <2.0.0
        ok 19 - validRange(<2.0.0) === <2.0.0
        ok 20 - validRange(>= 1.0.0) === >=1.0.0
        ok 21 - validRange(>=  1.0.0) === >=1.0.0
        ok 22 - validRange(>=   1.0.0) === >=1.0.0
        ok 23 - validRange(> 1.0.0) === >1.0.0
        ok 24 - validRange(>  1.0.0) === >1.0.0
        ok 25 - validRange(<=   2.0.0) === <=2.0.0
        ok 26 - validRange(<= 2.0.0) === <=2.0.0
        ok 27 - validRange(<=  2.0.0) === <=2.0.0
        ok 28 - validRange(<    2.0.0) === <2.0.0
        ok 29 - validRange(<  2.0.0) === <2.0.0
        ok 30 - validRange(>=0.1.97) === >=0.1.97
        ok 31 - validRange(>=0.1.97) === >=0.1.97
        ok 32 - validRange(0.1.20 || 1.2.4) === 0.1.20||1.2.4
        ok 33 - validRange(>=0.2.3 || <0.0.1) === >=0.2.3||<0.0.1
        ok 34 - validRange(>=0.2.3 || <0.0.1) === >=0.2.3||<0.0.1
        ok 35 - validRange(>=0.2.3 || <0.0.1) === >=0.2.3||<0.0.1
        ok 36 - validRange(||) === ||
        ok 37 - validRange(2.x.x) === >=2.0.0 <3.0.0-0
        ok 38 - validRange(1.2.x) === >=1.2.0 <1.3.0-0
        ok 39 - validRange(1.2.x || 2.x) === >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
        ok 40 - validRange(1.2.x || 2.x) === >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
        ok 41 - validRange(x) === *
        ok 42 - validRange(2.*.*) === >=2.0.0 <3.0.0-0
        ok 43 - validRange(1.2.*) === >=1.2.0 <1.3.0-0
        ok 44 - validRange(1.2.* || 2.*) === >=1.2.0 <1.3.0-0||>=2.0.0 <3.0.0-0
        ok 45 - validRange(*) === *
        ok 46 - validRange(2) === >=2.0.0 <3.0.0-0
        ok 47 - validRange(2.3) === >=2.3.0 <2.4.0-0
        ok 48 - validRange(~2.4) === >=2.4.0 <2.5.0-0
        ok 49 - validRange(~2.4) === >=2.4.0 <2.5.0-0
        ok 50 - validRange(~>3.2.1) === >=3.2.1 <3.3.0-0
        ok 51 - validRange(~1) === >=1.0.0 <2.0.0-0
        ok 52 - validRange(~>1) === >=1.0.0 <2.0.0-0
        ok 53 - validRange(~> 1) === >=1.0.0 <2.0.0-0
        ok 54 - validRange(~1.0) === >=1.0.0 <1.1.0-0
        ok 55 - validRange(~ 1.0) === >=1.0.0 <1.1.0-0
        ok 56 - validRange(^0) === <1.0.0-0
        ok 57 - validRange(^ 1) === >=1.0.0 <2.0.0-0
        ok 58 - validRange(^0.1) === >=0.1.0 <0.2.0-0
        ok 59 - validRange(^1.0) === >=1.0.0 <2.0.0-0
        ok 60 - validRange(^1.2) === >=1.2.0 <2.0.0-0
        ok 61 - validRange(^0.0.1) === >=0.0.1 <0.0.2-0
        ok 62 - validRange(^0.0.1-beta) === >=0.0.1-beta <0.0.2-0
        ok 63 - validRange(^0.1.2) === >=0.1.2 <0.2.0-0
        ok 64 - validRange(^1.2.3) === >=1.2.3 <2.0.0-0
        ok 65 - validRange(^1.2.3-beta.4) === >=1.2.3-beta.4 <2.0.0-0
        ok 66 - validRange(<1) === <1.0.0-0
        ok 67 - validRange(< 1) === <1.0.0-0
        ok 68 - validRange(>=1) === >=1.0.0
        ok 69 - validRange(>= 1) === >=1.0.0
        ok 70 - validRange(<1.2) === <1.2.0-0
        ok 71 - validRange(< 1.2) === <1.2.0-0
        ok 72 - validRange(1) === >=1.0.0 <2.0.0-0
        ok 73 - validRange(>01.02.03) === >1.2.3
        ok 74 - validRange(>01.02.03) === null
        ok 75 - validRange(~1.2.3beta) === >=1.2.3-beta <1.3.0-0
        ok 76 - validRange(~1.2.3beta) === null
        ok 77 - validRange(^ 1.2 ^ 1) === >=1.2.0 <2.0.0-0 >=1.0.0 <2.0.0-0
        ok 78 - validRange(1.2 - 3.4.5) === >=1.2.0 <=3.4.5
        ok 79 - validRange(1.2.3 - 3.4) === >=1.2.3 <3.5.0-0
        ok 80 - validRange(1.2 - 3.4) === >=1.2.0 <3.5.0-0
        ok 81 - validRange(>1) === >=2.0.0
        ok 82 - validRange(>1.2) === >=1.3.0
        ok 83 - validRange(>X) === <0.0.0-0
        ok 84 - validRange(<X) === <0.0.0-0
    ok 1 - valid range test # time=29.022ms
    
    1..1
    # time=33.798ms
ok 46 - test/ranges/valid.js # time=33.798ms

1..46
# time=58080.521ms
-----------------------------|----------|----------|----------|----------|-------------------|
File                         |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
-----------------------------|----------|----------|----------|----------|-------------------|
All files                    |      100 |      100 |      100 |      100 |                   |
 node-semver-7.3.2           |      100 |      100 |      100 |      100 |                   |
  index.js                   |      100 |      100 |      100 |      100 |                   |
  preload.js                 |      100 |      100 |      100 |      100 |                   |
 node-semver-7.3.2/bin       |      100 |      100 |      100 |      100 |                   |
  semver.js                  |      100 |      100 |      100 |      100 |                   |
 node-semver-7.3.2/classes   |      100 |      100 |      100 |      100 |                   |
  comparator.js              |      100 |      100 |      100 |      100 |                   |
  index.js                   |      100 |      100 |      100 |      100 |                   |
  range.js                   |      100 |      100 |      100 |      100 |                   |
  semver.js                  |      100 |      100 |      100 |      100 |                   |
 node-semver-7.3.2/functions |      100 |      100 |      100 |      100 |                   |
  clean.js                   |      100 |      100 |      100 |      100 |                   |
  cmp.js                     |      100 |      100 |      100 |      100 |                   |
  coerce.js                  |      100 |      100 |      100 |      100 |                   |
  compare-build.js           |      100 |      100 |      100 |      100 |                   |
  compare-loose.js           |      100 |      100 |      100 |      100 |                   |
  compare.js                 |      100 |      100 |      100 |      100 |                   |
  diff.js                    |      100 |      100 |      100 |      100 |                   |
  eq.js                      |      100 |      100 |      100 |      100 |                   |
  gt.js                      |      100 |      100 |      100 |      100 |                   |
  gte.js                     |      100 |      100 |      100 |      100 |                   |
  inc.js                     |      100 |      100 |      100 |      100 |                   |
  lt.js                      |      100 |      100 |      100 |      100 |                   |
  lte.js                     |      100 |      100 |      100 |      100 |                   |
  major.js                   |      100 |      100 |      100 |      100 |                   |
  minor.js                   |      100 |      100 |      100 |      100 |                   |
  neq.js                     |      100 |      100 |      100 |      100 |                   |
  parse.js                   |      100 |      100 |      100 |      100 |                   |
  patch.js                   |      100 |      100 |      100 |      100 |                   |
  prerelease.js              |      100 |      100 |      100 |      100 |                   |
  rcompare.js                |      100 |      100 |      100 |      100 |                   |
  rsort.js                   |      100 |      100 |      100 |      100 |                   |
  satisfies.js               |      100 |      100 |      100 |      100 |                   |
  sort.js                    |      100 |      100 |      100 |      100 |                   |
  valid.js                   |      100 |      100 |      100 |      100 |                   |
 node-semver-7.3.2/internal  |      100 |      100 |      100 |      100 |                   |
  constants.js               |      100 |      100 |      100 |      100 |                   |
  debug.js                   |      100 |      100 |      100 |      100 |                   |
  identifiers.js             |      100 |      100 |      100 |      100 |                   |
  re.js                      |      100 |      100 |      100 |      100 |                   |
 node-semver-7.3.2/ranges    |      100 |      100 |      100 |      100 |                   |
  gtr.js                     |      100 |      100 |      100 |      100 |                   |
  intersects.js              |      100 |      100 |      100 |      100 |                   |
  ltr.js                     |      100 |      100 |      100 |      100 |                   |
  max-satisfying.js          |      100 |      100 |      100 |      100 |                   |
  min-satisfying.js          |      100 |      100 |      100 |      100 |                   |
  min-version.js             |      100 |      100 |      100 |      100 |                   |
  outside.js                 |      100 |      100 |      100 |      100 |                   |
  simplify.js                |      100 |      100 |      100 |      100 |                   |
  subset.js                  |      100 |      100 |      100 |      100 |                   |
  to-comparators.js          |      100 |      100 |      100 |      100 |                   |
  valid.js                   |      100 |      100 |      100 |      100 |                   |
-----------------------------|----------|----------|----------|----------|-------------------|
+ exit 0
Processing files: node-semver-7.3.2-alt1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.2728
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd node-semver-7.3.2
+ DOCDIR=/usr/src/tmp/node-semver-buildroot/usr/share/doc/node-semver-7.3.2
+ export DOCDIR
+ rm -rf /usr/src/tmp/node-semver-buildroot/usr/share/doc/node-semver-7.3.2
+ /bin/mkdir -p /usr/src/tmp/node-semver-buildroot/usr/share/doc/node-semver-7.3.2
+ cp -prL LICENSE README.md /usr/src/tmp/node-semver-buildroot/usr/share/doc/node-semver-7.3.2
+ chmod -R go-w /usr/src/tmp/node-semver-buildroot/usr/share/doc/node-semver-7.3.2
+ chmod -R a+rX /usr/src/tmp/node-semver-buildroot/usr/share/doc/node-semver-7.3.2
+ exit 0
warning: absolute symlink: /usr/src/tmp/node-semver-buildroot/usr/bin/semver -> /usr/lib/node_modules/semver/bin/semver.js
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.KrfX8q
find-requires: running scripts (cpp,debuginfo,files,lib,nodejs,nodejs_native,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
find-requires: FINDPACKAGE-COMMANDS: node
Provides: npm(semver) = 7.3.2
Requires: /usr/bin/env, node, nodejs(engine) >= 10
Wrote: /usr/src/RPM/RPMS/noarch/node-semver-7.3.2-alt1.noarch.rpm (w2.lzdio)
75.88user 5.17system 1:04.20elapsed 126%CPU (0avgtext+0avgdata 85988maxresident)k
0inputs+0outputs (0major+1090333minor)pagefaults 0swaps
87.35user 9.46system 1:20.87elapsed 119%CPU (0avgtext+0avgdata 106260maxresident)k
15576inputs+0outputs (0major+1505192minor)pagefaults 0swaps