Comments (10)
How do you build it? Are you using cpanm? Can you give me the exact command you're running?
from json-validator.
I'm building using package dependencies (not CPAN), so I may miss some of them (I used Makefile.PL to get required deps). And the command used is:
$ /usr/bin/perl Makefile.PL INSTALLDIRS=vendor
Warning: prerequisite Test::More 1.30 not found. We have 1.001014.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for JSON::Validator
Writing MYMETA.yml and MYMETA.json
$ make -O -j12
[works]
$ make test
failing as described above.
from json-validator.
Could the check for Test::More giving a warning be the problem ?
$ perl -V
Summary of my perl5 (revision 5 version 22 subversion 3) configuration:
Platform:
osname=linux, osvers=4.4.65-server-1.mga5, archname=x86_64-linux-thread-multi
uname='linux ecosse.mageia.org 4.4.65-server-1.mga5 #1 smp fri apr 28 14:48:17 utc 2017 x86_64 x86_64 x86_64 gnulinux '
config_args='-des -Dinc_version_list=5.22.3 5.22.3/x86_64-linux-thread-multi 5.22.2 5.22.2/x86_64-linux-thread-multi 5.22.1 5.22.1/x86_64-linux-thread-multi 5.22.0 5.22.0/x86_64-linux-thread-multi 5.20.1 5.20.0 5.18.2 5.18.1 5.18.0 5.16.3 5.16.3 5.16.2 5.16.2 5.16.1 5.16.1 5.16.0 5.16.0 -Darchname=x86_64-linux -Dcc=gcc -Doptimize=-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -pthread -DDEBUGGING=-g -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dsitebin=/usr/local/bin -Dsiteman1dir=/usr/local/share/man/man1 -Dsiteman3dir=/usr/local/share/man/man3 -Dman3dir=/usr/share/man/man3pm -Dvendorman3dir=/usr/share/man/man3 -Dman3ext=3pm -Dcf_by=Mageia -Dmyhostname=localhost -Dperladmin=root@localhost -Dcf_email=root@localhost -Dperllibs=-lnsl -ldl -lm -lcrypt -lutil -lc -pthread -Ud_csh -Duseshrplib -Duseithreads -Di_db -Di_ndbm -Di_gdbm'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -pthread',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion='', gccversion='5.4.0', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -fstack-protector-strong -L/usr/local/lib64'
libpth=/usr/local/lib /usr/lib /usr/local/lib64 /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64
libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.22.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.22'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -pthread -L/usr/local/lib64 -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
Locally applied patches:
Mageia patches
Built under linux
Compiled at Jun 6 2017 18:40:23
@INC:
/usr/lib/perl5/site_perl/5.22.3/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.22.3
/usr/lib/perl5/vendor_perl/5.22.3/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.22.3
/usr/lib/perl5/5.22.3/x86_64-linux-thread-multi
/usr/lib/perl5/5.22.3
/usr/lib/perl5/site_perl/5.22.3
/usr/lib/perl5/site_perl/5.22.3/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.20.1
/usr/lib/perl5/site_perl/5.18.1
/usr/lib/perl5/site_perl/5.16.3
/usr/lib/perl5/site_perl/5.16.3
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.22.3
/usr/lib/perl5/vendor_perl/5.22.3/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.22.2
/usr/lib/perl5/vendor_perl/5.22.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.22.1
/usr/lib/perl5/vendor_perl/5.22.0
/usr/lib/perl5/vendor_perl/5.20.1
/usr/lib/perl5/vendor_perl/5.20.0
/usr/lib/perl5/vendor_perl/5.18.2
/usr/lib/perl5/vendor_perl/5.18.1
/usr/lib/perl5/vendor_perl/5.16.3
/usr/lib/perl5/vendor_perl/5.16.3
/usr/lib/perl5/vendor_perl/5.16.2
/usr/lib/perl5/vendor_perl/5.16.2
/usr/lib/perl5/vendor_perl/5.16.0
/usr/lib/perl5/vendor_perl/5.16.0
/usr/lib/perl5/vendor_perl
.
from json-validator.
I was certain I had release 1.03. Sorry about the delay!
This is fixed in 0fc9d68 and ab29fec.
from json-validator.
Same errors with 1.03:
+ cd /users-ssd/bruno/prj/mageia/perl-JSON-Validator/BUILD
+ cd JSON-Validator-1.03
+ '[' 1 -eq 1 ']'
+ make test
PERL_DL_NONLAZY=1 "/usr/bin/perl5.22.3" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-basic.t ........................... ok
t/acceptance.t ......................... ok
t/booleans-xs.t ........................ skipped: Cpanel::JSON::XS and Mojo::JSON::MaybeXS is required.
t/booleans.t ........................... ok
t/coerce-args.t ........................ ok
t/deep-mixed-ref.t ..................... ok
t/invalid-ref.t ........................ ok
t/issue-22-duplicate-error-messages.t .. ok
t/issue-27-yaml-syck-false.t ........... ok
t/issue-42-cache-control.t ............. skipped: TEST_ONLINE=1
t/issue-71-additionalproperties.t ...... ok
t/jv-allof.t ........................... ok
t/jv-anyof.t ........................... ok
t/jv-array.t ........................... ok
t/jv-basic.t ........................... ok
t/jv-boolean.t ......................... ok
t/jv-const.t ........................... ok
t/jv-enum.t ............................ ok
Format rule for 'unknown' is missing at /users-ssd/bruno/prj/mageia/perl-JSON-Validator/BUILD/JSON-Validator-1.03/blib/lib/JSON/Validator.pm line 475.
t/jv-formats.t ......................... ok
t/jv-integer.t ......................... ok
t/jv-not.t ............................. ok
t/jv-number.t .......................... ok
# Failed test 'errors: /credit_card: Missing billing_address.'
# at t/Helper.pm line 16.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = HASH(0x1d926c0)
# []
# Looks like you failed 1 test of 19.
t/jv-object.t ..........................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/19 subtests
t/jv-oneof.t ........................... ok
t/jv-required.t ........................ ok
t/jv-string.t .......................... ok
t/load-and-validate-spec.t ............. ok
t/load-data.t .......................... ok
t/load-http.t .......................... skipped: TEST_ONLINE=1
t/load-json.t .......................... ok
t/load-same-file-only-once.t ........... ok
t/load-yaml.t .......................... ok
t/openapi-compatibility.t .............. ok
# Failed test 'errors: /v: Does not match float format.'
# at t/Helper.pm line 16.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = HASH(0x2f29350)
# []
Format rule for 'unknown' is missing at /users-ssd/bruno/prj/mageia/perl-JSON-Validator/BUILD/JSON-Validator-1.03/blib/lib/JSON/Validator.pm line 475.
# Looks like you failed 1 test of 24.
t/openapi-formats.t ....................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/24 subtests
t/openapi-request.t .................... ok
t/openapi-response.t ................... ok
# /huntingSkill: Missing property.
t/openapi.t ............................ ok
t/petstore.t ........................... ok
t/recursion.t .......................... ok
t/relative-ref.t ....................... ok
t/resolve.t ............................ ok
t/schema-as-attr.t ..................... ok
t/to-json.t ............................ ok
t/validate-id.t ........................ ok
t/validate-json.t ...................... ok
t/validate-recursive.t ................. ok
t/validate-schema.t .................... ok
Test Summary Report
-------------------
t/acceptance.t (Wstat: 0 Tests: 265 Failed: 0)
TODO passed: 45-47, 49-52, 56-57
t/jv-object.t (Wstat: 256 Tests: 19 Failed: 1)
Failed test: 18
Non-zero exit status: 1
t/openapi-formats.t (Wstat: 256 Tests: 24 Failed: 1)
Failed test: 12
Non-zero exit status: 1
t/openapi-response.t (Wstat: 0 Tests: 7 Failed: 0)
TODO passed: 1
t/openapi.t (Wstat: 0 Tests: 8 Failed: 0)
TODO passed: 1
Files=47, Tests=584, 16 wallclock secs ( 0.20 usr 0.01 sys + 15.48 cusr 0.58 csys = 16.27 CPU)
Result: FAIL
Failed 2/47 test programs. 2/584 subtests failed.
Makefile:878: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255
from json-validator.
It looks like your version of Test::More does not care about things like local $TODO = 'Add support for dependencies';
. Not sure why it doesn't.
I'm also unsure why Test::More >= 1.30
is not required.
https://github.com/jhthorsen/json-validator/blob/master/Makefile.PL#L17
from json-validator.
Thanks for taking time to look at this !
Test::More < 1.30 seems to give just a Warning, as mentioned upper, but doesn't abort the install :-( But somehow, it's nice as it allows me to pass nearly all tests, and to have a working version anyway on my platform.
This version of the module is the one coming with the perl version provided with the Mageia distribution 6 (perl 5.22.3). It's not a separate module I can upgrade easily in that case :-(
It seems that the next version (cauldron, future Mageia 7) comes with perl 5.26.1 which contains
which is 1.302073 so that requirement should be ok then. I'll try to build for that devel version to see whether it works better.
from json-validator.
You could just install it without running the tests.
perl Makefile.PL
make install
or
cpanm -n JSON::Validator
or
curl -L https://cpanmin.us | perl - -n https://github.com/jhthorsen/json-validator/archive/master.tar.gz
from json-validator.
Sorry if I wasn't clear. The software installs without issue and seems to work fine (now that you helped me fix my api.xml file) as it validates my initial example, so I'm fine with that.
It's just that generally our Linux distribution activates the make test part in the .spec file to build the RPM and here it is causing an issue I wanted to report to you so you may advise me whether I miss something or whether it's something you can reproduce upstream, which doesn't seem to be the case :-(
So:
perl Makefile.PL
make install
works as well as the module.
make test
doesn't in my case.
from json-validator.
I'm not going to fix that. But I welcome a pull request.
Sorry.
from json-validator.
Related Issues (20)
- Feature request: caching validated output HOT 19
- Implement skipped acceptance tests
- Remove coerce() and just coerce everything HOT 1
- Missing compile step when using JSON::Validator::Joi->array HOT 1
- Set min perl version to 5.016 HOT 1
- Lots of warnings when processing Accept header HOT 2
- OpenAPI 'oneOf' in parameter not validating correctly HOT 2
- Many bogus OpenAPI schema errors if coerce "defaults" is turned on. HOT 4
- validation fails on an attribute that has nullable: true if there is also an enum HOT 3
- Installing before YAML::XS is available doesn't allow YAML::XS to be installed as a prerequisite. HOT 6
- Possibly leftover directory .pls_cache in tarball HOT 1
- Wide character in subroutine entry HOT 3
- $ref are not resolved with get method HOT 3
- t/load-from-app.t fails with restrictive firewall HOT 2
- OpenAPIV3 - minimum/maximum being read incorrectly as numbers HOT 2
- Validator does not follow Reference in patterned fields in Responses Object in OpenAPI v2 & v3
- GNU tar emits "tar: Ignoring unknown extended header keyword" warnings
- Documentation is wrong/misleading
- heisenbug with openapi 3.1.* schema
- Differences between 3.0 and 3.1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-validator.