script_core 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -1
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/Gemfile +8 -1
- data/{LICENSE → MIT-LICENSE} +0 -0
- data/bootstrap.sh +1 -1
- data/dev.yml +1 -2
- data/ext/enterprise_script_service/Rakefile +7 -1
- data/ext/enterprise_script_service/data.cpp +21 -11
- data/ext/enterprise_script_service/libseccomp/.gitignore +4 -0
- data/ext/enterprise_script_service/libseccomp/.mailmap +10 -0
- data/ext/enterprise_script_service/libseccomp/.travis.yml +71 -0
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +33 -0
- data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +134 -0
- data/ext/enterprise_script_service/libseccomp/CREDITS +16 -1
- data/ext/enterprise_script_service/libseccomp/Makefile.am +32 -1
- data/ext/enterprise_script_service/libseccomp/README.md +113 -0
- data/ext/enterprise_script_service/libseccomp/RELEASE_PROCESS.md +97 -0
- data/ext/enterprise_script_service/libseccomp/configure.ac +8 -1
- data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +3 -1
- data/ext/enterprise_script_service/libseccomp/doc/credits_updater +35 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man1/scmp_sys_resolver.1 +3 -1
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +101 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_set.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +1 -1
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +23 -4
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +2 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +80 -15
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_resolve_name.3 +15 -1
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +185 -22
- data/ext/enterprise_script_service/libseccomp/src/Makefile.am +13 -4
- data/ext/enterprise_script_service/libseccomp/src/api.c +87 -8
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +2 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +510 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.c +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +38 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +19 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +43 -45
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +2 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +43 -45
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +2 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-check.c +56 -53
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +23 -18
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +52 -49
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +18 -7
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +41 -45
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +2 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +17 -6
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -1
- data/ext/enterprise_script_service/libseccomp/src/arch.c +48 -83
- data/ext/enterprise_script_service/libseccomp/src/arch.h +4 -21
- data/ext/enterprise_script_service/libseccomp/src/db.c +1184 -541
- data/ext/enterprise_script_service/libseccomp/src/db.h +12 -32
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +43 -24
- data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +20 -7
- data/ext/enterprise_script_service/libseccomp/src/hash.c +65 -649
- data/ext/enterprise_script_service/libseccomp/src/hash.h +3 -13
- data/ext/enterprise_script_service/libseccomp/src/helper.c +49 -0
- data/ext/enterprise_script_service/libseccomp/src/helper.h +27 -0
- data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +9 -4
- data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +9 -0
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +72 -8
- data/ext/enterprise_script_service/libseccomp/src/python/setup.py +0 -0
- data/ext/enterprise_script_service/libseccomp/src/system.c +137 -4
- data/ext/enterprise_script_service/libseccomp/src/system.h +32 -2
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +17 -0
- data/ext/enterprise_script_service/libseccomp/tests/01-sim-allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/05-sim-long_jumps.tests +18 -18
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.py +4 -0
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +13 -8
- data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.c +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.py +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/08-sim-subtree_checks.tests +27 -27
- data/ext/enterprise_script_service/libseccomp/tests/09-sim-syscall_priority_pre.tests +7 -7
- data/ext/enterprise_script_service/libseccomp/tests/10-sim-syscall_priority_post.tests +7 -7
- data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/12-sim-basic_masked_ops.tests +29 -29
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +37 -0
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -0
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +79 -21
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.py +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +44 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +4 -0
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.c +6 -6
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.py +6 -6
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +12 -12
- data/ext/enterprise_script_service/libseccomp/tests/20-live-basic_die.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/20-live-basic_die.tests +4 -4
- data/ext/enterprise_script_service/libseccomp/tests/21-live-basic_allow.py +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/21-live-basic_allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/24-live-arg_allow.py +3 -2
- data/ext/enterprise_script_service/libseccomp/tests/24-live-arg_allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/25-sim-multilevel_chains_adv.tests +6 -6
- data/ext/enterprise_script_service/libseccomp/tests/26-sim-arch_all_be_basic.c +6 -0
- data/ext/enterprise_script_service/libseccomp/tests/26-sim-arch_all_be_basic.py +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/27-sim-bpf_blk_state.tests +5 -5
- data/ext/enterprise_script_service/libseccomp/tests/28-sim-arch_x86.py +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/29-sim-pseudo_syscall.py +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/32-live-tsync_allow.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/32-live-tsync_allow.tests +2 -2
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.c +74 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.py +45 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.c +73 -0
- data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.py +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/35-sim-negative_one.tests +18 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +112 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +56 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +39 -0
- data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.c +109 -0
- data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.py +55 -0
- data/ext/enterprise_script_service/libseccomp/tests/37-sim-ipc_syscalls_be.tests +27 -0
- data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.c +104 -0
- data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.sh +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/38-basic-pfc_coverage.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +67 -0
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +68 -0
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.c +59 -0
- data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.py +47 -0
- data/ext/enterprise_script_service/libseccomp/tests/40-sim-log.tests +21 -0
- data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.c +63 -0
- data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.py +44 -0
- data/ext/enterprise_script_service/libseccomp/tests/41-sim-syscall_priority_arch.tests +19 -0
- data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.c +198 -0
- data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.py +128 -0
- data/ext/enterprise_script_service/libseccomp/tests/42-sim-adv_chains.tests +54 -0
- data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.c +132 -0
- data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.py +62 -0
- data/ext/enterprise_script_service/libseccomp/tests/43-sim-a2_order.tests +55 -0
- data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.c +178 -0
- data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.py +107 -0
- data/ext/enterprise_script_service/libseccomp/tests/44-live-a2_order.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.c +108 -0
- data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.py +48 -0
- data/ext/enterprise_script_service/libseccomp/tests/45-sim-chain_code_coverage.tests +16 -0
- data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.c +78 -0
- data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.py +47 -0
- data/ext/enterprise_script_service/libseccomp/tests/46-sim-kill_process.tests +16 -0
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +102 -0
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.py +68 -0
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.c +84 -0
- data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.py +50 -0
- data/ext/enterprise_script_service/libseccomp/tests/48-sim-32b_args.tests +38 -0
- data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.c +56 -0
- data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.py +45 -0
- data/ext/enterprise_script_service/libseccomp/tests/49-sim-64b_comparisons.tests +25 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +68 -6
- data/ext/enterprise_script_service/libseccomp/tests/miniseq.c +3 -2
- data/ext/enterprise_script_service/libseccomp/tests/regression +102 -10
- data/ext/enterprise_script_service/libseccomp/tests/util.c +4 -0
- data/ext/enterprise_script_service/libseccomp/tests/util.py +2 -2
- data/ext/enterprise_script_service/libseccomp/tools/.gitignore +1 -0
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +5 -1
- data/ext/enterprise_script_service/libseccomp/tools/bpf.h +8 -1
- data/ext/enterprise_script_service/libseccomp/tools/scmp_api_level.c +39 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +6 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +14 -2
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +12 -2
- data/ext/enterprise_script_service/libseccomp/tools/util.c +4 -0
- data/ext/enterprise_script_service/mruby/.gitignore +15 -8
- data/ext/enterprise_script_service/mruby/.travis.yml +3 -4
- data/ext/enterprise_script_service/mruby/.yardopts +1 -1
- data/ext/enterprise_script_service/mruby/AUTHORS +6 -2
- data/ext/enterprise_script_service/mruby/LEGAL +1 -1
- data/ext/enterprise_script_service/mruby/LICENSE +20 -0
- data/ext/enterprise_script_service/mruby/README.md +2 -2
- data/ext/enterprise_script_service/mruby/Rakefile +28 -12
- data/ext/enterprise_script_service/mruby/TODO +0 -2
- data/ext/enterprise_script_service/mruby/appveyor.yml +11 -7
- data/ext/enterprise_script_service/mruby/benchmark/bm_app_lc_fizzbuzz.rb +1 -2
- data/ext/enterprise_script_service/mruby/build_config.rb +3 -2
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +7 -2
- data/ext/enterprise_script_service/mruby/doc/limitations.md +69 -7
- data/ext/enterprise_script_service/mruby/doc/opcode.md +127 -0
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +2 -2
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +9 -3
- data/ext/enterprise_script_service/mruby/include/mruby.h +45 -34
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +17 -0
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +1 -1
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +12 -4
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +18 -15
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +6 -1
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -5
- data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -4
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +5 -5
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +1 -1
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +56 -9
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +17 -4
- data/ext/enterprise_script_service/mruby/include/mruby/object.h +5 -6
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +47 -139
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +117 -0
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +8 -8
- data/ext/enterprise_script_service/mruby/include/mruby/range.h +29 -5
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +20 -10
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +4 -4
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +4 -0
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +7 -4
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +7 -7
- data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +23 -17
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +35 -9
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +5 -5
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +5 -3
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +26 -27
- data/ext/enterprise_script_service/mruby/minirake +136 -15
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +54 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -46
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +9 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +23 -0
- data/ext/enterprise_script_service/mruby/mrbgems/{mruby-bin-mruby-config → mruby-bin-config}/mruby-config +0 -0
- data/ext/enterprise_script_service/mruby/mrbgems/{mruby-bin-mruby-config → mruby-bin-config}/mruby-config.bat +0 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +13 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +9 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +7 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +7 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +24 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +8 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +22 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +84 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +9 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +38 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +60 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +1 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/mrblib/module.rb +89 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/test/module.rb +55 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +918 -767
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/node.h +4 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +552 -273
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrbgem.rake +6 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +60 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +76 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +57 -37
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +10 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +47 -35
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +22 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +90 -40
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +33 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +15 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +42 -47
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +4 -47
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +12 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.rb +17 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +11 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +128 -117
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +17 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +16 -53
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +12 -30
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +4 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +7 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +31 -51
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +702 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +369 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/kernel.rb +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +8 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +27 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +7 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +126 -79
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/mrblib/proc.rb +9 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +34 -19
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +18 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +7 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +1 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +13 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +6 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +27 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/example/sleep.rb +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +135 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/test/sleep_test.rb +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrblib/socket.rb +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/const.cstub +6 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/const.def +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +48 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/addrinfo.rb +5 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/socket.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +14 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +6 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +96 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +626 -190
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +102 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +15 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +16 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +13 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +21 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +22 -39
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +22 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +25 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +26 -22
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +70 -40
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +4 -3
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +17 -46
- data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +1 -4
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrblib/string.rb +7 -8
- data/ext/enterprise_script_service/mruby/mrblib/symbol.rb +7 -0
- data/ext/enterprise_script_service/mruby/src/array.c +97 -44
- data/ext/enterprise_script_service/mruby/src/backtrace.c +14 -16
- data/ext/enterprise_script_service/mruby/src/class.c +156 -464
- data/ext/enterprise_script_service/mruby/src/codedump.c +436 -364
- data/ext/enterprise_script_service/mruby/src/debug.c +42 -45
- data/ext/enterprise_script_service/mruby/src/dump.c +27 -152
- data/ext/enterprise_script_service/mruby/src/enum.c +18 -2
- data/ext/enterprise_script_service/mruby/src/error.c +5 -4
- data/ext/enterprise_script_service/mruby/src/etc.c +1 -0
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +15 -1
- data/ext/enterprise_script_service/mruby/src/gc.c +76 -30
- data/ext/enterprise_script_service/mruby/src/hash.c +768 -256
- data/ext/enterprise_script_service/mruby/src/kernel.c +24 -446
- data/ext/enterprise_script_service/mruby/src/load.c +35 -35
- data/ext/enterprise_script_service/mruby/src/mruby_core.rake +2 -3
- data/ext/enterprise_script_service/mruby/src/numeric.c +96 -32
- data/ext/enterprise_script_service/mruby/src/object.c +88 -43
- data/ext/enterprise_script_service/mruby/src/proc.c +16 -14
- data/ext/enterprise_script_service/mruby/src/range.c +186 -176
- data/ext/enterprise_script_service/mruby/src/state.c +5 -5
- data/ext/enterprise_script_service/mruby/src/string.c +79 -93
- data/ext/enterprise_script_service/mruby/src/symbol.c +173 -85
- data/ext/enterprise_script_service/mruby/src/variable.c +283 -177
- data/ext/enterprise_script_service/mruby/src/vm.c +711 -688
- data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +4 -3
- data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +3 -2
- data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +1 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +1 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +4 -6
- data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +0 -2
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +12 -11
- data/ext/enterprise_script_service/mruby/test/assert.rb +114 -121
- data/ext/enterprise_script_service/mruby/test/bintest.rb +10 -1
- data/ext/enterprise_script_service/mruby/test/t/array.rb +11 -11
- data/ext/enterprise_script_service/mruby/test/t/bs_block.rb +32 -31
- data/ext/enterprise_script_service/mruby/test/t/class.rb +11 -23
- data/ext/enterprise_script_service/mruby/test/t/codegen.rb +3 -3
- data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +41 -2
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +6 -5
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +26 -44
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +7 -119
- data/ext/enterprise_script_service/mruby/test/t/literals.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/module.rb +93 -282
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +40 -11
- data/ext/enterprise_script_service/mruby/test/t/proc.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/range.rb +19 -2
- data/ext/enterprise_script_service/mruby/test/t/string.rb +17 -24
- data/ext/enterprise_script_service/mruby/test/t/symbol.rb +6 -2
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +191 -3
- data/ext/enterprise_script_service/mruby/travis_config.rb +1 -1
- data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
- data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
- data/ext/enterprise_script_service/msgpack/.travis.yml +77 -44
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +75 -0
- data/ext/enterprise_script_service/msgpack/CMakeLists.txt +187 -50
- data/ext/enterprise_script_service/msgpack/Doxyfile +1 -1
- data/ext/enterprise_script_service/msgpack/Files.cmake +87 -0
- data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +3 -3
- data/ext/enterprise_script_service/msgpack/QUICKSTART-CPP.md +1 -1
- data/ext/enterprise_script_service/msgpack/README.md +15 -7
- data/ext/enterprise_script_service/msgpack/appveyor.yml +9 -5
- data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +2 -2
- data/ext/enterprise_script_service/msgpack/ci/build_regression.sh +49 -0
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_define_array.hpp.erb +4 -2
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_define_map.hpp.erb +2 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +25 -18
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone_decl.hpp.erb +8 -0
- data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +28 -1
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +104 -0
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv_zlib.cpp +176 -0
- data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +4 -2
- data/ext/enterprise_script_service/msgpack/example/c/speed_test_uint32_array.c +1 -1
- data/ext/enterprise_script_service/msgpack/example/c/speed_test_uint64_array.c +1 -1
- data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +15 -3
- data/ext/enterprise_script_service/msgpack/example/cpp03/class_non_intrusive.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +5 -1
- data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +12 -4
- data/ext/enterprise_script_service/msgpack/example/x3/parse.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/example/x3/stream_unpack.cpp +9 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitattributes +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.gitignore +3 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.project +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.pydevproject +5 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/.travis.yml +109 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/appveyor.yml +149 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/build.jam +6 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/check/predef.jam +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/.gitignore +1 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/build.jam +100 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/hardware_simd.qbk +89 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/history.qbk +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/predef.qbk +734 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/doc/todo.qbk +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/detail/endian.hpp +11 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef.h +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture.h +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/alpha.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/arm.h +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/blackfin.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/convex.h +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ia64.h +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/m68k.h +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/mips.h +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/parisc.h +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ppc.h +72 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/ptx.h +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/pyramid.h +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/rs6k.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sparc.h +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/superh.h +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys370.h +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/sys390.h +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86.h +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/32.h +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/x86/64.h +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/architecture/z.h +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler.h +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/borland.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/clang.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/comeau.h +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/compaq.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/diab.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/digitalmars.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/dignus.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/edg.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ekopath.h +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc.h +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/gcc_xml.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/greenhills.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/hp_acc.h +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/iar.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/ibm.h +72 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/intel.h +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/kai.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/llvm.h +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metaware.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/metrowerks.h +77 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/microtec.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/mpw.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/nvcc.h +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/palm.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/pgi.h +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sgi_mipspro.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/sunpro.h +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/tendra.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/visualc.h +105 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/compiler/watcom.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_cassert.h +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/_exception.h +15 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/comp_detected.h +10 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/endian_compat.h +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/os_detected.h +10 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/platform_detected.h +10 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test.h +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/detail/test_def.h +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware.h +16 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd.h +119 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/arm/versions.h +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/ppc.h +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/ppc/versions.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86.h +123 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86/versions.h +129 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86_amd.h +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/hardware/simd/x86_amd/versions.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language.h +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/cuda.h +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/objc.h +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdc.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/language/stdcpp.h +121 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library.h +16 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c.h +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/_prefix.h +13 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/cloudabi.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/gnu.h +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/uc.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/vms.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/c/zos.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std.h +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/_prefix.h +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/cxx.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/dinkumware.h +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/libcomo.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/modena.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/msl.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/roguewave.h +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/sgi.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stdcpp3.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/stlport.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/library/std/vacpp.h +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/make.h +97 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os.h +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/aix.h +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/amigaos.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/android.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/beos.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd.h +103 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/bsdi.h +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/dragonfly.h +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/free.h +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/net.h +84 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/bsd/open.h +251 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/cygwin.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/haiku.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/hpux.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/ios.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/irix.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/linux.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/macos.h +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/os400.h +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/qnxnto.h +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/solaris.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/unix.h +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/vms.h +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/os/windows.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other.h +16 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/endian.h +203 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/other/workaround.h +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform.h +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/cloudabi.h +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/ios.h +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw.h +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw32.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/mingw64.h +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_desktop.h +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_phone.h +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_runtime.h +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_server.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_store.h +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_system.h +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/platform/windows_uwp.h +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version.h +15 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/include/boost/predef/version_number.h +72 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/index.html +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/meta/libraries.json +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/.gitignore +3 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/build.jam +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/check_value.cpp +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_c.c +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_cpp.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objc.m +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/info_as_objcpp.mm +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_endian.c +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/macos_vs_bsd.c +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/make.cpp +94 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/platform_windows.cpp +177 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/predef_info.h +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at.cpp +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/tested_at_outdated.cpp +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/version.cpp +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround.cpp +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/test/workaround_strict_config.cpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/build.jam +9 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef.jam +202 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check.h +98 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_c.c +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_cpp.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objc.m +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_as_objcpp.mm +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc.h +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_c.c +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_cpp.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objc.m +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/check/predef_check_cc_as_objcpp.mm +7 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/build_log.py +428 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/common.py +878 -0
- data/ext/enterprise_script_service/msgpack/external/boost/predef/tools/ci/library_test.py +198 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.gitattributes +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/.travis.yml +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/appveyor.yml +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html +2494 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/acknowledgements.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/bibliography.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/contents.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/arrays.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/lists.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/sequences.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/data/tuples.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/array_arithmetic.c +196 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/catch_builtin.cpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/delay.c +95 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/duffs_device.c +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/is_integral.cpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/examples/linear_fib.c +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers.html +249 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/add.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/dec.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/div.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/inc.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mod.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/mul.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/arithmetic/sub.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array.html +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/data.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/elem.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/enum.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/insert.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_back.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/pop_front.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_back.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/push_front.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/remove.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/replace.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/reverse.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/size.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_list.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_seq.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/array/to_tuple.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/assert_msg.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/cat.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comma_if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/greater_equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/less_equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/comparison/not_equal.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/limits.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/config/variadics.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/deduce_d.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_if.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/expr_iif.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/if.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/iif.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/control/while.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/assert.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/debug/line.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/dec.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/empty.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/enum_shifted_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwad.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/epwd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expand.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/expr_if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/apply.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/empty.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/expand.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/identity.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/intercept.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/facilities/overload.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/for.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/identity.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/inc.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iterate.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/iterate.html +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/local.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/iteration/self.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/library.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/limits.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/adt.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/append.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/at.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/cat.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/enum.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/filter.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/first_n.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_left.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/fold_right.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_i.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/for_each_product.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/rest_n.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/reverse.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/size.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_array.html +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_seq.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/to_tuple.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/list/transform.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical.html +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/and.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitand.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitnor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bitxor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/bool.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/compl.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/nor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/not.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/or.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/logical/xor.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/max.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/min.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/preprocessor.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/comma_if.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/is_begin_parens.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/paren_if.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/punctuation/remove_parens.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_2nd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_3rd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_2nd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repeat_from_to_3rd.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_r.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/deduce_z.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_binary_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_shifted_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/enum_trailing_params.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwad.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/epwd.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/esbp.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/etbp.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/for.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/repetition/repeat_from_to.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/max.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/selection/min.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/cat.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/elem.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/enum.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/filter.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/first_n.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_left.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/fold_right.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_i.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/for_each_product.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/insert.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_back.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/pop_front.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_back.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/push_front.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/remove.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/replace.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/rest_n.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/reverse.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/seq.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/size.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/subseq.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_array.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_list.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/to_tuple.html +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/transform.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/seq/variadic_seq_to_seq.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/counter.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/slot/slot.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/stringize.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/eat.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/elem.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/enum.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/insert.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_back.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/pop_front.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_back.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/push_front.html +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/rem.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/remove.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/replace.html +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/reverse.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/size.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_array.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_list.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/tuple/to_seq.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/elem.html +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/size.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_array.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_list.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_seq.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/variadic/to_tuple.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/while.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/headers/wstringize.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/index.html +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/miscellanea.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref.html +319 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/add_d.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/and.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/apply.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_data.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_elem.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_enum.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_insert_d.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_back_z.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_pop_front_z.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_back.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_push_front.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_remove_d.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_replace_d.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_reverse.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_size.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_list.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_seq.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/array_to_tuple.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert.html +114 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assert_msg.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/assign_slot.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitand.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitnor.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitor.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bitxor.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/bool.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/cat.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma.html +43 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/comma_if.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/compl.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/config_extended_line_info.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/counter.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/dec.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_d.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_r.html +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/deduce_z.html +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/div_d.html +85 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/empty.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum.html +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params.html +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_binary_params_z.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_a_default.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_with_defaults.html +84 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_params_z.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params.html +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_params_z.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_shifted_z.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_params_z.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_trailing_z.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/enum_z.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/equal_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbp.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/esbpz.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbp.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/etbpz.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expand.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_if.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/expr_iif.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/filename_x.html +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for.html +105 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r.html +148 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/for_r_macros.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_finish.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_flags.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_iteration.html +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/frame_start.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/greater_equal_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/identity_n.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/if.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iif.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/inc.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/include_self.html +101 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/indirect_self.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/intercept.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_begin_parens.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_iterating.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/is_selfish.html +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iterate.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_depth.html +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_finish.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_flags.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_limits.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_params_x.html +77 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/iteration_start.html +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/less_equal_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_dim.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_for.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_iteration_dim.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_mag.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_repeat.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_seq.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_count.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_slot_sig.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_tuple.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_variadic.html +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/limit_while.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/line.html +112 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_append_d.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_at_d.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cat_d.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_cons.html +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_enum_r.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter.html +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_filter_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_first_n_d.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_2nd_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_left_d_old.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_2nd_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_fold_right_d_old.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_i_r.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_product_r.html +118 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_for_each_r.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_cons.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_is_nil.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_nil.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_rest_n_d.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_reverse_d.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_size_d.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_array_d.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_seq_r.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_to_tuple_r.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform.html +78 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/list_transform_d.html +86 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_iterate.html +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_limits.html +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/local_macro.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen.html +52 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/lparen_if.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/max_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/min_d.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mod_d.html +75 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/mul_d.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nil.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/nor.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/not_equal_d.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/or.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/overload.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_finish.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_flags.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_iteration.html +101 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/relative_start.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/remove_parens.html +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat.html +80 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_1st.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_2nd.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_3rd.html +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to.html +102 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_1st.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_2nd.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_3rd.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d.html +83 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_d_z.html +84 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_from_to_z.html +105 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z.html +92 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/repeat_z_macros.html +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen.html +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/rparen_if.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_cat_s.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_elem.html +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_enum.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_filter_s.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_first_n.html +67 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_left_s.html +96 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right.html +92 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_fold_right_s.html +97 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each.html +90 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i.html +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_i_r.html +78 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product.html +100 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_product_r.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_for_each_r.html +77 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_head.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_insert.html +70 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_nil.html +81 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_back.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_pop_front.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_back.html +76 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_push_front.html +78 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_remove.html +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_replace.html +71 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_rest_n.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse.html +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_reverse_s.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_size.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_subseq.html +69 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_tail.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_array.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_list.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_to_tuple.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform.html +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/seq_transform_s.html +79 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/slot.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/stringize.html +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub.html +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/sub_d.html +85 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_eat.html +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_elem.html +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_enum.html +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert.html +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_insert_d.html +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back.html +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_back_z.html +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front.html +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_pop_front_z.html +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_back.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_push_front.html +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_rem_ctor.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove.html +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_remove_d.html +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_replace_d.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_reverse.html +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_size.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_array.html +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_list.html +60 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/tuple_to_seq.html +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/update_counter.html +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/value.html +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_elem.html +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_seq_to_seq.html +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_size.html +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_array.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_list.html +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_seq.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadic_to_tuple.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/variadics.html +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while.html +116 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d.html +117 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/while_d_macros.html +89 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/wstringize.html +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/ref/xor.html +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/styles.css +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/syntax.html +307 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms.html +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/evaluated.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/terms/named_external.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/title.html +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/top.html +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics.html +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/evaluated_slots.html +157 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/file_iteration.html +1044 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/incompatible.html +140 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/local_iteration.html +156 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/motivation.html +119 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/problems.html +135 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/reentrancy.html +298 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/techniques.html +350 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/doc/topics/variadic_macros.html +262 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/add.hpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/dec.hpp +289 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/div.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/inc.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mod.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/mul.hpp +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/arithmetic/sub.hpp +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/data.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/detail/get_data.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/elem.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/enum.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/insert.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_back.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/pop_front.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_back.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/push_front.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/remove.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/replace.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/reverse.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/size.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_list.hpp +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_seq.hpp +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/array/to_tuple.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/assert_msg.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/cat.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comma_if.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison.hpp +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/equal.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/greater_equal.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less.hpp +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/less_equal.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/comparison/not_equal.hpp +814 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/config.hpp +106 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/config/limits.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/deduce_d.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/edg/while.hpp +534 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/detail/while.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_if.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/expr_iif.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/if.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/iif.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/control/while.hpp +312 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug.hpp +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/assert.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/error.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/debug/line.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/dec.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/auto_rec.hpp +293 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/check.hpp +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_binary.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_nullary.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/is_unary.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/null.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/detail/split.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/empty.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_a_default.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/enum_shifted_params.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expand.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/expr_if.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/apply.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/empty.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/expand.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/identity.hpp +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/intercept.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_1.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty.hpp +56 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_or_1.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/facilities/overload.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/for.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/identity.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/if.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/inc.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iterate.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/finish.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward2.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/local.hpp +812 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/self.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/detail/start.hpp +99 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/iterate.hpp +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/local.hpp +26 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/iteration/self.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/library.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/limits.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/adt.hpp +73 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/append.hpp +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/at.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/cat.hpp +42 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_left.hpp +279 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/detail/fold_right.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/enum.hpp +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/filter.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/first_n.hpp +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_left.hpp +303 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/fold_right.hpp +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_i.hpp +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/for_each_product.hpp +141 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/rest_n.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/reverse.hpp +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/size.hpp +58 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_array.hpp +155 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_seq.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/to_tuple.hpp +61 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/list/transform.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/and.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitand.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitnor.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitor.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bitxor.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/bool.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/compl.hpp +36 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/nor.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/not.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/or.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/logical/xor.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/max.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/min.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/comma_if.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/paren_if.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_2nd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_3rd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_r.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/deduce_z.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/for.hpp +536 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum.hpp +66 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params.hpp +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/for.hpp +324 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat.hpp +825 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection.hpp +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/max.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/selection/min.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/cat.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/binary_transform.hpp +47 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/split.hpp +284 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/elem.hpp +304 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/enum.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/filter.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/first_n.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_left.hpp +1070 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/fold_right.hpp +288 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each.hpp +107 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_i.hpp +109 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/for_each_product.hpp +126 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/insert.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_back.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/pop_front.hpp +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_back.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/push_front.hpp +19 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/remove.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/replace.hpp +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/rest_n.hpp +46 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/reverse.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/seq.hpp +44 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/size.hpp +548 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/subseq.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_array.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_list.hpp +41 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/to_tuple.hpp +27 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/transform.hpp +48 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/counter.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/counter.hpp +269 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/def.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/shared.hpp +247 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot1.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot2.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot3.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot4.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/detail/slot5.hpp +267 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/slot/slot.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/stringize.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/eat.hpp +115 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/elem.hpp +201 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/enum.hpp +22 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/insert.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_back.hpp +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/pop_front.hpp +65 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_back.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/push_front.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/rem.hpp +149 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/remove.hpp +64 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/replace.hpp +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/reverse.hpp +117 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/size.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_array.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_list.hpp +118 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/tuple/to_seq.hpp +119 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/elem.hpp +94 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/size.hpp +30 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_array.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_list.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_seq.hpp +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/variadic/to_tuple.hpp +24 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/while.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/include/boost/preprocessor/wstringize.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/index.html +18 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/meta/libraries.json +15 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/Jamfile.v2 +252 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/arithmetic.cxx +82 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/array.cxx +192 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.c +13 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/comparison.cxx +45 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/config_info.cpp +93 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/control.cxx +40 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/debug.cxx +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/facilities.cxx +55 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty.cxx +145 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure.cxx +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/isempty_variadic_standard_failure2.cxx +25 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.cpp +33 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/iteration.h +62 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/list.cxx +91 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/logical.cxx +59 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/punctuation.cxx +54 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/repetition.cpp +50 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/selection.cxx +21 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/seq.cxx +222 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/slot.cxx +53 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/test.h +37 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.c +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cpp +14 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple.cxx +266 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/tuple_elem_bug_test.cxx +38 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.c +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cpp +12 -0
- data/ext/enterprise_script_service/msgpack/external/boost/preprocessor/test/variadic.cxx +56 -0
- data/ext/enterprise_script_service/msgpack/fuzz/CMakeLists.txt +43 -0
- data/ext/enterprise_script_service/msgpack/fuzz/regression_runner.cpp +50 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer.cpp +23 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 +0 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 +0 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray +1 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject +1 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting +2 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap +0 -0
- data/ext/enterprise_script_service/msgpack/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground +0 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack.hpp +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/adaptor_base.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/adaptor_base_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/array_ref_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/check_container_size_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/chrono.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/byte.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/carray_byte.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/optional.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/string_view.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp17/vector_byte.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/define_decl.hpp +25 -24
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/ext_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/fixint_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/int_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/map_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/msgpack_tuple_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/nil_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/raw_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/size_equal_only_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/tr1/unordered_map.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/tr1/unordered_set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/v4raw_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/cpp_config_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/create_object_visitor.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/create_object_visitor_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/fbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/iterator_decl.hpp +2 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/meta_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/null_visitor.hpp +17 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/null_visitor_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object_fwd.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object_fwd_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +28 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/parse.hpp +18 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/parse_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/parse_return.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/arm.h +11 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/parisc.h +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/architecture/ptx.h +44 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/intel.h +17 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/nvcc.h +60 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/compiler/visualc.h +15 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/hardware/simd/arm.h +3 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/hardware/simd/x86_amd/versions.h +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/language.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/language/cuda.h +52 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/library/c.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/library/c/cloudabi.h +53 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/make.h +8 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/android.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/bsd/free.h +10 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/os/bsd/open.h +80 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/other/endian.h +1 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/other/workaround.h +87 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform.h +9 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/cloudabi.h +43 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/ios.h +58 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw.h +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw32.h +63 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/mingw64.h +63 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_desktop.h +9 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_phone.h +7 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_runtime.h +13 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_server.h +47 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_store.h +11 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_system.h +47 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/platform/windows_uwp.h +60 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/version.h +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/predef/version_number.h +20 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/cat.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/config/config.hpp +13 -11
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/detail/binary_transform.hpp +5 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/preprocessor/seq/to_list.hpp +12 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/sbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +31 -26
- data/ext/enterprise_script_service/msgpack/include/msgpack/timestamp.h +58 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +13 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/fusion.hpp +48 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/carray.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/char_ptr.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array_char.hpp +8 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +8 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +215 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/tuple.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/byte.hpp +74 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp +109 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/optional.hpp +90 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/string_view.hpp +86 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +119 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/deque.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +1088 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +32 -16
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +45 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +4 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +4 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +40 -24
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +55 -33
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/list.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +7 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/pair.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/string.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_bool.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +9 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +9 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/cpp_config.hpp +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/cpp_config_decl.hpp +6 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +41 -34
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone_decl.hpp +8 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +25 -19
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone_decl.hpp +8 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +768 -404
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_decl.hpp +8 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +5 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +15 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +14 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/null_visitor.hpp +5 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/null_visitor_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/object_decl.hpp +4 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/pack_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +41 -23
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse_decl.hpp +79 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/unpack.hpp +7 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/unpack_decl.hpp +8 -36
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +5 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse_decl.hpp +36 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_unpack.hpp +13 -12
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_unpack_decl.hpp +71 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/adaptor_base.hpp +58 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/adaptor_base_decl.hpp +52 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/array_ref_decl.hpp +36 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp +42 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/check_container_size_decl.hpp +39 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/define_decl.hpp +23 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/ext_decl.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/fixint_decl.hpp +43 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +54 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/map_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/nil_decl.hpp +42 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/raw_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/size_equal_only_decl.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/v4raw_decl.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/cpp_config_decl.hpp +84 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/create_object_visitor_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/detail/cpp03_zone_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/detail/cpp11_zone_decl.hpp +31 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/fbuffer_decl.hpp +32 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/iterator_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/meta_decl.hpp +50 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/null_visitor_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_decl.hpp +53 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_fwd.hpp +70 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/object_fwd_decl.hpp +75 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/pack_decl.hpp +55 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +677 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse_decl.hpp +49 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse_return.hpp +35 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/sbuffer_decl.hpp +33 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +192 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack_decl.hpp +304 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/vrefbuffer_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_parse_decl.hpp +34 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_unpack.hpp +97 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/x3_unpack_decl.hpp +65 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/zbuffer_decl.hpp +29 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/zone_decl.hpp +21 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/versioning.hpp +3 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/vrefbuffer.h +1 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/vrefbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_parse.hpp +15 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_parse_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_unpack.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/x3_unpack_decl.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/zone_decl.hpp +1 -0
- data/ext/enterprise_script_service/msgpack/makedist.sh +2 -0
- data/ext/enterprise_script_service/msgpack/msgpack-config.cmake.in +23 -0
- data/ext/enterprise_script_service/msgpack/src/objectc.c +1 -1
- data/ext/enterprise_script_service/msgpack/src/unpack.c +8 -8
- data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +13 -1
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +13 -6
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +31 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +3 -3
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +8 -0
- data/ext/enterprise_script_service/msgpack/test/json.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +114 -6
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +188 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +333 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +11 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +9 -3
- data/ext/enterprise_script_service/msgpack/test/object.cpp +11 -2
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +72 -8
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +96 -0
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +38 -13
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +350 -6
- data/ext/enterprise_script_service/msgpack/update_version.sh +17 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/script_core.rake +5 -2
- data/script_core.gemspec +0 -1
- data/spec/dummy/app/controllers/application_controller.rb +18 -0
- data/spec/dummy/app/controllers/fields/choices_controller.rb +50 -0
- data/spec/dummy/app/controllers/forms/formulas/playgrounds_controller.rb +2 -2
- data/spec/dummy/app/controllers/playgrounds_controller.rb +18 -3
- data/spec/dummy/app/controllers/time_zones_controller.rb +14 -0
- data/spec/dummy/app/helpers/fields_helper.rb +0 -4
- data/spec/dummy/app/lib/script_engine.rb +18 -7
- data/spec/dummy/app/models/choice.rb +10 -0
- data/spec/dummy/app/models/concerns/fields/helper.rb +23 -0
- data/spec/dummy/app/models/concerns/fields/validations/acceptance.rb +1 -1
- data/spec/dummy/app/models/concerns/fields/validations/confirmation.rb +1 -1
- data/spec/dummy/app/models/concerns/fields/validations/exclusion.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/format.rb +5 -7
- data/spec/dummy/app/models/concerns/fields/validations/inclusion.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/length.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/numericality.rb +2 -2
- data/spec/dummy/app/models/concerns/fields/validations/presence.rb +1 -1
- data/spec/dummy/app/models/field.rb +8 -8
- data/spec/dummy/app/models/field_options.rb +16 -8
- data/spec/dummy/app/models/fields.rb +4 -0
- data/spec/dummy/app/models/fields/boolean_field.rb +1 -1
- data/spec/dummy/app/models/fields/date_field.rb +24 -0
- data/spec/dummy/app/models/fields/datetime_field.rb +24 -0
- data/spec/dummy/app/models/fields/multiple_nested_form_field.rb +8 -3
- data/spec/dummy/app/models/fields/multiple_select_field.rb +42 -0
- data/spec/dummy/app/models/fields/nested_form_field.rb +6 -5
- data/spec/dummy/app/models/fields/options/date_field.rb +138 -0
- data/spec/dummy/app/models/fields/options/datetime_field.rb +138 -0
- data/spec/dummy/app/models/fields/options/multiple_select_field.rb +7 -0
- data/spec/dummy/app/models/fields/options/select_field.rb +7 -0
- data/spec/dummy/app/models/fields/select_field.rb +25 -0
- data/spec/dummy/app/models/fields/validations/boolean_field.rb +1 -1
- data/spec/dummy/app/models/fields/validations/date_field.rb +7 -0
- data/spec/dummy/app/models/fields/validations/datetime_field.rb +7 -0
- data/spec/dummy/app/models/fields/validations/decimal_field.rb +2 -2
- data/spec/dummy/app/models/fields/validations/integer_field.rb +2 -2
- data/spec/dummy/app/models/fields/validations/multiple_nested_form_field.rb +2 -2
- data/spec/dummy/app/models/fields/validations/multiple_select_field.rb +8 -0
- data/spec/dummy/app/models/fields/validations/nested_form_field.rb +1 -1
- data/spec/dummy/app/models/fields/validations/select_field.rb +7 -0
- data/spec/dummy/app/models/fields/validations/text_field.rb +3 -3
- data/spec/dummy/app/models/metal_form.rb +4 -0
- data/spec/dummy/app/models/non_configurable.rb +4 -0
- data/spec/dummy/app/models/virtual_model.rb +8 -0
- data/spec/dummy/app/presenters/fields/date_field_presenter.rb +53 -0
- data/spec/dummy/app/presenters/fields/datetime_field_presenter.rb +53 -0
- data/spec/dummy/app/presenters/fields/field_presenter.rb +3 -2
- data/spec/dummy/app/presenters/fields/multiple_select_field_presenter.rb +37 -0
- data/spec/dummy/app/presenters/fields/select_field_presenter.rb +26 -0
- data/spec/dummy/app/views/_form_core/field_options/_date_field.html.erb +97 -0
- data/spec/dummy/app/views/_form_core/field_options/_datetime_field.html.erb +97 -0
- data/spec/dummy/app/views/_form_core/field_options/_multiple_select_field.html.erb +12 -0
- data/spec/dummy/app/views/_form_core/field_options/_select_field.html.erb +12 -0
- data/spec/dummy/app/views/_form_core/fields/_date_field.html.erb +9 -0
- data/spec/dummy/app/views/_form_core/fields/_datetime_field.html.erb +9 -0
- data/spec/dummy/app/views/_form_core/fields/_multiple_select_field.html.erb +18 -0
- data/spec/dummy/app/views/_form_core/fields/_select_field.html.erb +17 -0
- data/spec/dummy/app/views/fields/choices/_form.html.erb +34 -0
- data/spec/dummy/app/views/fields/choices/edit.html.erb +6 -0
- data/spec/dummy/app/views/fields/choices/index.html.erb +27 -0
- data/spec/dummy/app/views/fields/choices/new.html.erb +6 -0
- data/spec/dummy/app/views/forms/fields/index.html.erb +4 -1
- data/spec/dummy/app/views/forms/formulas/playgrounds/create.html.erb +1 -1
- data/spec/dummy/app/views/layouts/_nav.html.erb +22 -0
- data/spec/dummy/app/views/nested_forms/fields/index.html.erb +10 -3
- data/spec/dummy/app/views/playgrounds/_form.html.erb +1 -1
- data/spec/dummy/config/application.rb +2 -1
- data/spec/dummy/config/initializers/validates_timeliness.rb +42 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/db/migrate/20180916202025_create_forms.form_core.rb +1 -0
- data/spec/dummy/db/migrate/20180916202122_create_choices.rb +12 -0
- data/spec/dummy/db/migrate/20180916202123_add_position_to_choices.rb +9 -0
- data/spec/dummy/db/schema.rb +19 -5
- data/spec/dummy/lib/monkey_patches/big_decimal.rb +7 -3
- data/spec/dummy/lib/monkey_patches/date.rb +12 -0
- data/spec/dummy/lib/monkey_patches/time.rb +12 -0
- data/spec/dummy/mruby/engine.gembox +1 -0
- data/spec/dummy/mruby/lib/core_ext.rb +64 -2
- data/spec/dummy/mruby/lib/input.rb +16 -4
- data/spec/dummy/mruby/lib/io.rb +4 -3
- data/spec/dummy/mruby/lib/output.rb +2 -28
- data/spec/dummy/mruby/lib/script_kernel.rb +8 -7
- data/spec/script_core_spec.rb +2 -2
- data/tests/googletest/.clang-format +4 -0
- data/tests/googletest/.gitignore +82 -0
- data/tests/googletest/.travis.yml +68 -29
- data/tests/googletest/BUILD.bazel +179 -0
- data/tests/googletest/CMakeLists.txt +21 -4
- data/tests/googletest/CONTRIBUTING.md +161 -0
- data/tests/googletest/LICENSE +28 -0
- data/tests/googletest/Makefile.am +12 -0
- data/tests/googletest/README.md +28 -41
- data/tests/googletest/WORKSPACE +10 -0
- data/tests/googletest/appveyor.yml +118 -35
- data/tests/googletest/ci/build-linux-autotools.sh +44 -0
- data/tests/googletest/ci/build-linux-bazel.sh +36 -0
- data/tests/googletest/ci/build-platformio.sh +2 -0
- data/tests/googletest/ci/env-linux.sh +41 -0
- data/tests/googletest/ci/env-osx.sh +47 -0
- data/tests/googletest/ci/get-nprocessors.sh +48 -0
- data/tests/googletest/ci/install-linux.sh +49 -0
- data/tests/googletest/ci/install-osx.sh +40 -0
- data/tests/googletest/ci/install-platformio.sh +5 -0
- data/tests/googletest/ci/log-config.sh +51 -0
- data/tests/googletest/ci/travis.sh +44 -0
- data/tests/googletest/configure.ac +16 -0
- data/tests/googletest/googlemock/CMakeLists.txt +78 -55
- data/tests/googletest/googlemock/Makefile.am +6 -8
- data/tests/googletest/googlemock/README.md +33 -73
- data/tests/googletest/googlemock/cmake/gmock.pc.in +11 -0
- data/tests/googletest/googlemock/cmake/gmock_main.pc.in +11 -0
- data/tests/googletest/googlemock/configure.ac +6 -18
- data/tests/googletest/googlemock/docs/CheatSheet.md +126 -99
- data/tests/googletest/googlemock/docs/CookBook.md +271 -286
- data/tests/googletest/googlemock/docs/DesignDoc.md +29 -27
- data/tests/googletest/googlemock/docs/Documentation.md +7 -4
- data/tests/googletest/googlemock/docs/ForDummies.md +41 -33
- data/tests/googletest/googlemock/docs/FrequentlyAskedQuestions.md +28 -29
- data/tests/googletest/googlemock/include/gmock/gmock-actions.h +232 -240
- data/tests/googletest/googlemock/include/gmock/gmock-cardinalities.h +12 -6
- data/tests/googletest/googlemock/include/gmock/gmock-function-mocker.h +218 -0
- data/tests/googletest/googlemock/include/gmock/gmock-generated-actions.h +304 -796
- data/tests/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +18 -184
- data/tests/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h +330 -673
- data/tests/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +77 -141
- data/tests/googletest/googlemock/include/gmock/gmock-generated-matchers.h +293 -1372
- data/tests/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump +22 -345
- data/tests/googletest/googlemock/include/gmock/gmock-matchers.h +1382 -1218
- data/tests/googletest/googlemock/include/gmock/gmock-more-actions.h +12 -96
- data/tests/googletest/googlemock/include/gmock/gmock-more-matchers.h +39 -5
- data/tests/googletest/googlemock/include/gmock/gmock-nice-strict.h +215 -0
- data/tests/googletest/googlemock/include/gmock/gmock-spec-builders.h +362 -228
- data/tests/googletest/googlemock/include/gmock/gmock.h +10 -3
- data/tests/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +2 -0
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +3 -1
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +5 -8
- data/tests/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +3 -10
- data/tests/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +114 -54
- data/tests/googletest/googlemock/include/gmock/internal/gmock-port.h +13 -17
- data/tests/googletest/googlemock/include/gmock/internal/gmock-pp.h +317 -0
- data/tests/googletest/googlemock/make/Makefile +23 -7
- data/tests/googletest/googlemock/msvc/2010/gmock.sln +14 -0
- data/tests/googletest/googlemock/msvc/2010/gmock.vcxproj +69 -6
- data/tests/googletest/googlemock/msvc/2010/gmock_config.props +2 -2
- data/tests/googletest/googlemock/msvc/2010/gmock_main.vcxproj +69 -6
- data/tests/googletest/googlemock/msvc/2010/gmock_test.vcxproj +83 -8
- data/tests/googletest/googlemock/msvc/2015/gmock.sln +14 -0
- data/tests/googletest/googlemock/msvc/2015/gmock.vcxproj +63 -2
- data/tests/googletest/googlemock/msvc/2015/gmock_main.vcxproj +63 -2
- data/tests/googletest/googlemock/msvc/2015/gmock_test.vcxproj +76 -3
- data/tests/googletest/googlemock/scripts/fuse_gmock_files.py +1 -1
- data/tests/googletest/googlemock/scripts/generator/README +4 -5
- data/tests/googletest/googlemock/scripts/generator/cpp/ast.py +6 -3
- data/tests/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +18 -0
- data/tests/googletest/googlemock/scripts/upload.py +4 -4
- data/tests/googletest/googlemock/src/gmock-all.cc +1 -2
- data/tests/googletest/googlemock/src/gmock-cardinalities.cc +7 -8
- data/tests/googletest/googlemock/src/gmock-internal-utils.cc +38 -12
- data/tests/googletest/googlemock/src/gmock-matchers.cc +127 -163
- data/tests/googletest/googlemock/src/gmock-spec-builders.cc +150 -86
- data/tests/googletest/googlemock/src/gmock.cc +41 -11
- data/tests/googletest/googlemock/src/gmock_main.cc +14 -3
- data/tests/googletest/googlemock/test/BUILD.bazel +106 -0
- data/tests/googletest/googlemock/test/gmock-actions_test.cc +370 -328
- data/tests/googletest/googlemock/test/gmock-cardinalities_test.cc +5 -6
- data/tests/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
- data/tests/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
- data/tests/googletest/googlemock/test/gmock-function-mocker_test.cc +660 -0
- data/tests/googletest/googlemock/test/gmock-generated-actions_test.cc +137 -301
- data/tests/googletest/googlemock/test/gmock-generated-function-mockers_test.cc +80 -43
- data/tests/googletest/googlemock/test/gmock-generated-matchers_test.cc +239 -201
- data/tests/googletest/googlemock/test/gmock-internal-utils_test.cc +126 -68
- data/tests/googletest/googlemock/test/gmock-matchers_test.cc +1811 -674
- data/tests/googletest/googlemock/test/gmock-more-actions_test.cc +162 -171
- data/tests/googletest/googlemock/test/gmock-nice-strict_test.cc +121 -45
- data/tests/googletest/googlemock/test/gmock-port_test.cc +1 -2
- data/tests/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
- data/tests/googletest/googlemock/test/gmock-pp_test.cc +73 -0
- data/tests/googletest/googlemock/test/gmock-spec-builders_test.cc +152 -23
- data/tests/googletest/googlemock/test/gmock_all_test.cc +1 -3
- data/tests/googletest/googlemock/test/gmock_ex_test.cc +4 -5
- data/tests/googletest/googlemock/test/gmock_leak_test.py +0 -4
- data/tests/googletest/googlemock/test/gmock_leak_test_.cc +1 -2
- data/tests/googletest/googlemock/test/gmock_link2_test.cc +2 -3
- data/tests/googletest/googlemock/test/gmock_link_test.cc +2 -3
- data/tests/googletest/googlemock/test/gmock_link_test.h +45 -24
- data/tests/googletest/googlemock/test/gmock_output_test.py +10 -9
- data/tests/googletest/googlemock/test/gmock_output_test_.cc +21 -3
- data/tests/googletest/googlemock/test/gmock_output_test_golden.txt +8 -1
- data/tests/googletest/googlemock/test/gmock_stress_test.cc +7 -89
- data/tests/googletest/googlemock/test/gmock_test.cc +57 -96
- data/tests/googletest/googlemock/test/gmock_test_utils.py +5 -9
- data/tests/googletest/googletest/CMakeLists.txt +122 -83
- data/tests/googletest/googletest/Makefile.am +103 -75
- data/tests/googletest/googletest/README.md +236 -189
- data/tests/googletest/googletest/cmake/Config.cmake.in +9 -0
- data/tests/googletest/googletest/cmake/gtest.pc.in +10 -0
- data/tests/googletest/googletest/cmake/gtest_main.pc.in +11 -0
- data/tests/googletest/googletest/cmake/internal_utils.cmake +158 -58
- data/tests/googletest/googletest/cmake/libgtest.la.in +21 -0
- data/tests/googletest/googletest/configure.ac +2 -2
- data/tests/googletest/googletest/docs/Pkgconfig.md +146 -0
- data/tests/googletest/googletest/docs/PumpManual.md +5 -5
- data/tests/googletest/googletest/docs/XcodeGuide.md +9 -9
- data/tests/googletest/googletest/docs/advanced.md +2523 -0
- data/tests/googletest/googletest/docs/faq.md +770 -0
- data/tests/googletest/googletest/docs/primer.md +564 -0
- data/tests/googletest/googletest/docs/samples.md +22 -0
- data/tests/googletest/googletest/include/gtest/gtest-death-test.h +60 -11
- data/tests/googletest/googletest/include/gtest/gtest-matchers.h +741 -0
- data/tests/googletest/googletest/include/gtest/gtest-message.h +12 -44
- data/tests/googletest/googletest/include/gtest/gtest-param-test.h +139 -1080
- data/tests/googletest/googletest/include/gtest/gtest-printers.h +202 -268
- data/tests/googletest/googletest/include/gtest/gtest-spi.h +13 -7
- data/tests/googletest/googletest/include/gtest/gtest-test-part.h +21 -16
- data/tests/googletest/googletest/include/gtest/gtest-typed-test.h +157 -84
- data/tests/googletest/googletest/include/gtest/gtest.h +494 -277
- data/tests/googletest/googletest/include/gtest/gtest_pred_impl.h +41 -40
- data/tests/googletest/googletest/include/gtest/gtest_prod.h +10 -7
- data/tests/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
- data/tests/googletest/googletest/include/gtest/internal/custom/gtest-port.h +1 -33
- data/tests/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +2 -2
- data/tests/googletest/googletest/include/gtest/internal/custom/gtest.h +1 -5
- data/tests/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +80 -95
- data/tests/googletest/googletest/include/gtest/internal/gtest-filepath.h +8 -3
- data/tests/googletest/googletest/include/gtest/internal/gtest-internal.h +415 -231
- data/tests/googletest/googletest/include/gtest/internal/gtest-param-util.h +323 -174
- data/tests/googletest/googletest/include/gtest/internal/gtest-port-arch.h +19 -5
- data/tests/googletest/googletest/include/gtest/internal/gtest-port.h +289 -549
- data/tests/googletest/googletest/include/gtest/internal/gtest-string.h +4 -4
- data/tests/googletest/googletest/include/gtest/internal/gtest-type-util.h +23 -7
- data/tests/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump +24 -7
- data/tests/googletest/googletest/make/Makefile +13 -7
- data/tests/googletest/googletest/msvc/2010/gtest-md.sln +55 -0
- data/tests/googletest/googletest/msvc/2010/gtest-md.vcxproj +149 -0
- data/tests/googletest/googletest/msvc/2010/gtest-md.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest.sln +55 -0
- data/tests/googletest/googletest/msvc/2010/gtest.vcxproj +149 -0
- data/tests/googletest/googletest/msvc/2010/gtest.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main-md.vcxproj +154 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main-md.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main.vcxproj +162 -0
- data/tests/googletest/googletest/msvc/2010/gtest_main.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj +199 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters +26 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj +191 -0
- data/tests/googletest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters +26 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj +188 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters +18 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest.vcxproj +180 -0
- data/tests/googletest/googletest/msvc/2010/gtest_unittest.vcxproj.filters +18 -0
- data/tests/googletest/googletest/samples/prime_tables.h +13 -10
- data/tests/googletest/googletest/samples/sample1.cc +1 -3
- data/tests/googletest/googletest/samples/sample1.h +0 -2
- data/tests/googletest/googletest/samples/sample10_unittest.cc +4 -9
- data/tests/googletest/googletest/samples/sample1_unittest.cc +2 -4
- data/tests/googletest/googletest/samples/sample2.cc +1 -3
- data/tests/googletest/googletest/samples/sample2.h +4 -8
- data/tests/googletest/googletest/samples/sample2_unittest.cc +5 -7
- data/tests/googletest/googletest/samples/sample3-inl.h +9 -9
- data/tests/googletest/googletest/samples/sample3_unittest.cc +13 -15
- data/tests/googletest/googletest/samples/sample4.cc +10 -2
- data/tests/googletest/googletest/samples/sample4.h +3 -3
- data/tests/googletest/googletest/samples/sample4_unittest.cc +11 -3
- data/tests/googletest/googletest/samples/sample5_unittest.cc +11 -14
- data/tests/googletest/googletest/samples/sample6_unittest.cc +12 -12
- data/tests/googletest/googletest/samples/sample7_unittest.cc +14 -27
- data/tests/googletest/googletest/samples/sample8_unittest.cc +20 -39
- data/tests/googletest/googletest/samples/sample9_unittest.cc +6 -10
- data/tests/googletest/googletest/scripts/fuse_gtest_files.py +1 -1
- data/tests/googletest/googletest/scripts/gen_gtest_pred_impl.py +10 -10
- data/tests/googletest/googletest/scripts/upload.py +5 -5
- data/tests/googletest/googletest/src/gtest-all.cc +3 -3
- data/tests/googletest/googletest/src/gtest-death-test.cc +417 -121
- data/tests/googletest/googletest/src/gtest-filepath.cc +15 -23
- data/tests/googletest/googletest/src/gtest-internal-inl.h +145 -122
- data/tests/googletest/googletest/src/gtest-matchers.cc +97 -0
- data/tests/googletest/googletest/src/gtest-port.cc +263 -129
- data/tests/googletest/googletest/src/gtest-printers.cc +92 -24
- data/tests/googletest/googletest/src/gtest-test-part.cc +13 -19
- data/tests/googletest/googletest/src/gtest-typed-test.cc +5 -5
- data/tests/googletest/googletest/src/gtest.cc +1469 -742
- data/tests/googletest/googletest/src/gtest_main.cc +12 -3
- data/tests/googletest/googletest/test/BUILD.bazel +518 -0
- data/tests/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
- data/tests/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
- data/tests/googletest/googletest/test/googletest-catch-exceptions-test.py +231 -0
- data/tests/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
- data/tests/googletest/googletest/test/googletest-color-test.py +127 -0
- data/tests/googletest/googletest/test/googletest-color-test_.cc +62 -0
- data/tests/googletest/googletest/test/googletest-death-test-test.cc +1458 -0
- data/tests/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
- data/tests/googletest/googletest/test/googletest-env-var-test.py +117 -0
- data/tests/googletest/googletest/test/googletest-env-var-test_.cc +122 -0
- data/tests/googletest/googletest/test/googletest-filepath-test.cc +649 -0
- data/tests/googletest/googletest/test/googletest-filter-unittest.py +639 -0
- data/tests/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
- data/tests/googletest/googletest/test/googletest-json-outfiles-test.py +185 -0
- data/tests/googletest/googletest/test/googletest-json-output-unittest.py +758 -0
- data/tests/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
- data/tests/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
- data/tests/googletest/googletest/test/googletest-listener-test.cc +407 -0
- data/tests/googletest/googletest/test/googletest-message-test.cc +158 -0
- data/tests/googletest/googletest/test/googletest-options-test.cc +216 -0
- data/tests/googletest/googletest/test/googletest-output-test-golden-lin.txt +1128 -0
- data/tests/googletest/googletest/test/googletest-output-test.py +346 -0
- data/tests/googletest/googletest/test/googletest-output-test_.cc +1145 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
- data/tests/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
- data/tests/googletest/googletest/test/googletest-param-test-test.cc +1055 -0
- data/tests/googletest/googletest/test/googletest-param-test-test.h +51 -0
- data/tests/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
- data/tests/googletest/googletest/test/googletest-port-test.cc +1290 -0
- data/tests/googletest/googletest/test/googletest-printers-test.cc +1561 -0
- data/tests/googletest/googletest/test/googletest-shuffle-test.py +323 -0
- data/tests/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
- data/tests/googletest/googletest/test/googletest-test-part-test.cc +230 -0
- data/tests/googletest/googletest/test/googletest-test2_test.cc +61 -0
- data/tests/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
- data/tests/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
- data/tests/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
- data/tests/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
- data/tests/googletest/googletest/test/gtest-typed-test2_test.cc +3 -4
- data/tests/googletest/googletest/test/gtest-typed-test_test.cc +144 -63
- data/tests/googletest/googletest/test/gtest-typed-test_test.h +4 -5
- data/tests/googletest/googletest/test/gtest-unittest-api_test.cc +122 -123
- data/tests/googletest/googletest/test/gtest_all_test.cc +10 -11
- data/tests/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
- data/tests/googletest/googletest/test/gtest_environment_test.cc +3 -7
- data/tests/googletest/googletest/test/gtest_help_test.py +1 -3
- data/tests/googletest/googletest/test/gtest_help_test_.cc +1 -2
- data/tests/googletest/googletest/test/gtest_json_test_utils.py +60 -0
- data/tests/googletest/googletest/test/gtest_list_output_unittest.py +141 -0
- data/tests/googletest/googletest/test/gtest_list_output_unittest_.cc +51 -0
- data/tests/googletest/googletest/test/gtest_main_unittest.cc +3 -4
- data/tests/googletest/googletest/test/gtest_no_test_unittest.cc +0 -2
- data/tests/googletest/googletest/test/gtest_pred_impl_unittest.cc +11 -11
- data/tests/googletest/googletest/test/gtest_premature_exit_test.cc +3 -4
- data/tests/googletest/googletest/test/gtest_prod_test.cc +3 -4
- data/tests/googletest/googletest/test/gtest_repeat_test.cc +8 -28
- data/tests/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
- data/tests/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
- data/tests/googletest/googletest/test/gtest_skip_test.cc +55 -0
- data/tests/googletest/googletest/test/gtest_sole_header_test.cc +1 -2
- data/tests/googletest/googletest/test/gtest_stress_test.cc +3 -11
- data/tests/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
- data/tests/googletest/googletest/test/gtest_test_utils.py +15 -22
- data/tests/googletest/googletest/test/gtest_testbridge_test.py +63 -0
- data/tests/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
- data/tests/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +2 -4
- data/tests/googletest/googletest/test/gtest_unittest.cc +770 -924
- data/tests/googletest/googletest/test/gtest_xml_outfile1_test_.cc +2 -8
- data/tests/googletest/googletest/test/gtest_xml_outfile2_test_.cc +2 -8
- data/tests/googletest/googletest/test/gtest_xml_outfiles_test.py +14 -11
- data/tests/googletest/googletest/test/gtest_xml_output_unittest.py +132 -51
- data/tests/googletest/googletest/test/gtest_xml_output_unittest_.cc +21 -14
- data/tests/googletest/googletest/test/gtest_xml_test_utils.py +24 -22
- data/tests/googletest/googletest/test/production.cc +2 -3
- data/tests/googletest/googletest/test/production.h +2 -3
- data/tests/googletest/googletest/xcode/Config/DebugProject.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Config/General.xcconfig +3 -3
- data/tests/googletest/googletest/xcode/Config/ReleaseProject.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +1 -1
- data/tests/googletest/googletest/xcode/Scripts/versiongenerate.py +4 -4
- data/tests/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj +51 -16
- data/tests/googletest/library.json +59 -0
- data/tests/googletest/platformio.ini +31 -0
- metadata +1391 -137
- data/ext/enterprise_script_service/libseccomp/README +0 -65
- data/ext/enterprise_script_service/libseccomp/SUBMITTING_PATCHES +0 -123
- data/ext/enterprise_script_service/mruby/MITL +0 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +0 -30
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/gc_filedes.sh +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/init_mrbtest.c +0 -38
- data/ext/enterprise_script_service/mruby/mrblib/float.rb +0 -9
- data/ext/enterprise_script_service/mruby/src/ext/.gitkeep +0 -0
- data/ext/enterprise_script_service/mruby/test/report.rb +0 -4
- data/spec/dummy/app/models/fields/options/boolean_field.rb +0 -6
- data/spec/dummy/app/models/fields/options/multiple_nested_form_field.rb +0 -6
- data/spec/dummy/app/models/fields/options/nested_form_field.rb +0 -6
- data/tests/googletest/googlemock/CHANGES +0 -126
- data/tests/googletest/googlemock/docs/DevGuide.md +0 -132
- data/tests/googletest/googlemock/docs/v1_5/CheatSheet.md +0 -525
- data/tests/googletest/googlemock/docs/v1_5/CookBook.md +0 -3250
- data/tests/googletest/googlemock/docs/v1_5/Documentation.md +0 -11
- data/tests/googletest/googlemock/docs/v1_5/ForDummies.md +0 -439
- data/tests/googletest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +0 -624
- data/tests/googletest/googlemock/docs/v1_6/CheatSheet.md +0 -534
- data/tests/googletest/googlemock/docs/v1_6/CookBook.md +0 -3342
- data/tests/googletest/googlemock/docs/v1_6/Documentation.md +0 -12
- data/tests/googletest/googlemock/docs/v1_6/ForDummies.md +0 -439
- data/tests/googletest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +0 -628
- data/tests/googletest/googlemock/docs/v1_7/CheatSheet.md +0 -556
- data/tests/googletest/googlemock/docs/v1_7/CookBook.md +0 -3432
- data/tests/googletest/googlemock/docs/v1_7/Documentation.md +0 -12
- data/tests/googletest/googlemock/docs/v1_7/ForDummies.md +0 -439
- data/tests/googletest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +0 -628
- data/tests/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h +0 -397
- data/tests/googletest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +0 -161
- data/tests/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +0 -279
- data/tests/googletest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +0 -136
- data/tests/googletest/googlemock/test/gmock-generated-internal-utils_test.cc +0 -127
- data/tests/googletest/googletest/.gitignore +0 -2
- data/tests/googletest/googletest/CHANGES +0 -157
- data/tests/googletest/googletest/build-aux/.keep +0 -0
- data/tests/googletest/googletest/docs/AdvancedGuide.md +0 -2182
- data/tests/googletest/googletest/docs/DevGuide.md +0 -126
- data/tests/googletest/googletest/docs/Documentation.md +0 -14
- data/tests/googletest/googletest/docs/FAQ.md +0 -1087
- data/tests/googletest/googletest/docs/Primer.md +0 -502
- data/tests/googletest/googletest/docs/Samples.md +0 -14
- data/tests/googletest/googletest/docs/V1_5_AdvancedGuide.md +0 -2096
- data/tests/googletest/googletest/docs/V1_5_Documentation.md +0 -12
- data/tests/googletest/googletest/docs/V1_5_FAQ.md +0 -886
- data/tests/googletest/googletest/docs/V1_5_Primer.md +0 -497
- data/tests/googletest/googletest/docs/V1_5_PumpManual.md +0 -177
- data/tests/googletest/googletest/docs/V1_5_XcodeGuide.md +0 -93
- data/tests/googletest/googletest/docs/V1_6_AdvancedGuide.md +0 -2178
- data/tests/googletest/googletest/docs/V1_6_Documentation.md +0 -14
- data/tests/googletest/googletest/docs/V1_6_FAQ.md +0 -1038
- data/tests/googletest/googletest/docs/V1_6_Primer.md +0 -501
- data/tests/googletest/googletest/docs/V1_6_PumpManual.md +0 -177
- data/tests/googletest/googletest/docs/V1_6_Samples.md +0 -14
- data/tests/googletest/googletest/docs/V1_6_XcodeGuide.md +0 -93
- data/tests/googletest/googletest/docs/V1_7_AdvancedGuide.md +0 -2181
- data/tests/googletest/googletest/docs/V1_7_Documentation.md +0 -14
- data/tests/googletest/googletest/docs/V1_7_FAQ.md +0 -1082
- data/tests/googletest/googletest/docs/V1_7_Primer.md +0 -501
- data/tests/googletest/googletest/docs/V1_7_PumpManual.md +0 -177
- data/tests/googletest/googletest/docs/V1_7_Samples.md +0 -14
- data/tests/googletest/googletest/docs/V1_7_XcodeGuide.md +0 -93
- data/tests/googletest/googletest/include/gtest/gtest-param-test.h.pump +0 -510
- data/tests/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
- data/tests/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
- data/tests/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
- data/tests/googletest/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
- data/tests/googletest/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
- data/tests/googletest/googletest/msvc/gtest-md.sln +0 -45
- data/tests/googletest/googletest/msvc/gtest-md.vcproj +0 -126
- data/tests/googletest/googletest/msvc/gtest.sln +0 -45
- data/tests/googletest/googletest/msvc/gtest.vcproj +0 -126
- data/tests/googletest/googletest/msvc/gtest_main-md.vcproj +0 -129
- data/tests/googletest/googletest/msvc/gtest_main.vcproj +0 -129
- data/tests/googletest/googletest/msvc/gtest_prod_test-md.vcproj +0 -164
- data/tests/googletest/googletest/msvc/gtest_prod_test.vcproj +0 -164
- data/tests/googletest/googletest/msvc/gtest_unittest-md.vcproj +0 -147
- data/tests/googletest/googletest/msvc/gtest_unittest.vcproj +0 -147
- data/tests/googletest/googletest/test/gtest-death-test_ex_test.cc +0 -93
- data/tests/googletest/googletest/test/gtest-death-test_test.cc +0 -1427
- data/tests/googletest/googletest/test/gtest-filepath_test.cc +0 -662
- data/tests/googletest/googletest/test/gtest-linked_ptr_test.cc +0 -154
- data/tests/googletest/googletest/test/gtest-listener_test.cc +0 -311
- data/tests/googletest/googletest/test/gtest-message_test.cc +0 -159
- data/tests/googletest/googletest/test/gtest-options_test.cc +0 -215
- data/tests/googletest/googletest/test/gtest-param-test2_test.cc +0 -65
- data/tests/googletest/googletest/test/gtest-param-test_test.cc +0 -1055
- data/tests/googletest/googletest/test/gtest-param-test_test.h +0 -57
- data/tests/googletest/googletest/test/gtest-port_test.cc +0 -1304
- data/tests/googletest/googletest/test/gtest-printers_test.cc +0 -1635
- data/tests/googletest/googletest/test/gtest-test-part_test.cc +0 -208
- data/tests/googletest/googletest/test/gtest-tuple_test.cc +0 -320
- data/tests/googletest/googletest/test/gtest_break_on_failure_unittest.py +0 -212
- data/tests/googletest/googletest/test/gtest_break_on_failure_unittest_.cc +0 -88
- data/tests/googletest/googletest/test/gtest_catch_exceptions_test.py +0 -237
- data/tests/googletest/googletest/test/gtest_catch_exceptions_test_.cc +0 -311
- data/tests/googletest/googletest/test/gtest_color_test.py +0 -130
- data/tests/googletest/googletest/test/gtest_color_test_.cc +0 -71
- data/tests/googletest/googletest/test/gtest_env_var_test.py +0 -117
- data/tests/googletest/googletest/test/gtest_env_var_test_.cc +0 -126
- data/tests/googletest/googletest/test/gtest_filter_unittest.py +0 -636
- data/tests/googletest/googletest/test/gtest_filter_unittest_.cc +0 -140
- data/tests/googletest/googletest/test/gtest_list_tests_unittest.py +0 -207
- data/tests/googletest/googletest/test/gtest_list_tests_unittest_.cc +0 -157
- data/tests/googletest/googletest/test/gtest_output_test.py +0 -340
- data/tests/googletest/googletest/test/gtest_output_test_.cc +0 -1062
- data/tests/googletest/googletest/test/gtest_output_test_golden_lin.txt +0 -743
- data/tests/googletest/googletest/test/gtest_shuffle_test.py +0 -325
- data/tests/googletest/googletest/test/gtest_shuffle_test_.cc +0 -103
- data/tests/googletest/googletest/test/gtest_throw_on_failure_test.py +0 -171
- data/tests/googletest/googletest/test/gtest_throw_on_failure_test_.cc +0 -72
- data/tests/googletest/googletest/test/gtest_uninitialized_test.py +0 -70
- data/tests/googletest/googletest/test/gtest_uninitialized_test_.cc +0 -43
- data/tests/googletest/travis.sh +0 -15
@@ -26,10 +26,9 @@
|
|
26
26
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
27
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
28
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
//
|
30
|
-
// Author: wan@google.com (Zhanyong Wan)
|
31
29
|
|
32
|
-
|
30
|
+
|
31
|
+
// Google Test - The Google C++ Testing and Mocking Framework
|
33
32
|
//
|
34
33
|
// This file implements a universal value printer that can print a
|
35
34
|
// value of any type T:
|
@@ -43,12 +42,13 @@
|
|
43
42
|
// defines Foo.
|
44
43
|
|
45
44
|
#include "gtest/gtest-printers.h"
|
46
|
-
#include <ctype.h>
|
47
45
|
#include <stdio.h>
|
46
|
+
#include <cctype>
|
48
47
|
#include <cwchar>
|
49
48
|
#include <ostream> // NOLINT
|
50
49
|
#include <string>
|
51
50
|
#include "gtest/internal/gtest-port.h"
|
51
|
+
#include "src/gtest-internal-inl.h"
|
52
52
|
|
53
53
|
namespace testing {
|
54
54
|
|
@@ -59,6 +59,7 @@ using ::std::ostream;
|
|
59
59
|
// Prints a segment of bytes in the given object.
|
60
60
|
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
61
61
|
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
62
|
+
GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
|
62
63
|
GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
63
64
|
void PrintByteSegmentInObjectTo(const unsigned char* obj_bytes, size_t start,
|
64
65
|
size_t count, ostream* os) {
|
@@ -89,7 +90,6 @@ void PrintBytesInObjectToImpl(const unsigned char* obj_bytes, size_t count,
|
|
89
90
|
// If the object size is bigger than kThreshold, we'll have to omit
|
90
91
|
// some details by printing only the first and the last kChunkSize
|
91
92
|
// bytes.
|
92
|
-
// TODO(wan): let the user control the threshold using a flag.
|
93
93
|
if (count < kThreshold) {
|
94
94
|
PrintByteSegmentInObjectTo(obj_bytes, 0, count, os);
|
95
95
|
} else {
|
@@ -123,7 +123,7 @@ namespace internal {
|
|
123
123
|
// Depending on the value of a char (or wchar_t), we print it in one
|
124
124
|
// of three formats:
|
125
125
|
// - as is if it's a printable ASCII (e.g. 'a', '2', ' '),
|
126
|
-
// - as a
|
126
|
+
// - as a hexadecimal escape sequence (e.g. '\x7F'), or
|
127
127
|
// - as a special escape sequence (e.g. '\r', '\n').
|
128
128
|
enum CharFormat {
|
129
129
|
kAsIs,
|
@@ -180,7 +180,10 @@ static CharFormat PrintAsCharLiteralTo(Char c, ostream* os) {
|
|
180
180
|
*os << static_cast<char>(c);
|
181
181
|
return kAsIs;
|
182
182
|
} else {
|
183
|
-
|
183
|
+
ostream::fmtflags flags = os->flags();
|
184
|
+
*os << "\\x" << std::hex << std::uppercase
|
185
|
+
<< static_cast<int>(static_cast<UnsignedChar>(c));
|
186
|
+
os->flags(flags);
|
184
187
|
return kHexEscape;
|
185
188
|
}
|
186
189
|
}
|
@@ -227,7 +230,7 @@ void PrintCharAndCodeTo(Char c, ostream* os) {
|
|
227
230
|
return;
|
228
231
|
*os << " (" << static_cast<int>(c);
|
229
232
|
|
230
|
-
// For more convenience, we print c's code again in
|
233
|
+
// For more convenience, we print c's code again in hexadecimal,
|
231
234
|
// unless c was already printed in the form '\x##' or the code is in
|
232
235
|
// [1, 9].
|
233
236
|
if (format == kHexEscape || (1 <= c && c <= 9)) {
|
@@ -258,12 +261,14 @@ void PrintTo(wchar_t wc, ostream* os) {
|
|
258
261
|
template <typename CharType>
|
259
262
|
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
260
263
|
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
264
|
+
GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
|
261
265
|
GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
262
|
-
static
|
266
|
+
static CharFormat PrintCharsAsStringTo(
|
263
267
|
const CharType* begin, size_t len, ostream* os) {
|
264
268
|
const char* const kQuoteBegin = sizeof(CharType) == 1 ? "\"" : "L\"";
|
265
269
|
*os << kQuoteBegin;
|
266
270
|
bool is_previous_hex = false;
|
271
|
+
CharFormat print_format = kAsIs;
|
267
272
|
for (size_t index = 0; index < len; ++index) {
|
268
273
|
const CharType cur = begin[index];
|
269
274
|
if (is_previous_hex && IsXDigit(cur)) {
|
@@ -273,8 +278,13 @@ static void PrintCharsAsStringTo(
|
|
273
278
|
*os << "\" " << kQuoteBegin;
|
274
279
|
}
|
275
280
|
is_previous_hex = PrintAsStringLiteralTo(cur, os) == kHexEscape;
|
281
|
+
// Remember if any characters required hex escaping.
|
282
|
+
if (is_previous_hex) {
|
283
|
+
print_format = kHexEscape;
|
284
|
+
}
|
276
285
|
}
|
277
286
|
*os << "\"";
|
287
|
+
return print_format;
|
278
288
|
}
|
279
289
|
|
280
290
|
// Prints a (const) char/wchar_t array of 'len' elements, starting at address
|
@@ -282,6 +292,7 @@ static void PrintCharsAsStringTo(
|
|
282
292
|
template <typename CharType>
|
283
293
|
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
284
294
|
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
295
|
+
GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
|
285
296
|
GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
286
297
|
static void UniversalPrintCharArray(
|
287
298
|
const CharType* begin, size_t len, ostream* os) {
|
@@ -318,7 +329,7 @@ void UniversalPrintArray(const wchar_t* begin, size_t len, ostream* os) {
|
|
318
329
|
|
319
330
|
// Prints the given C string to the ostream.
|
320
331
|
void PrintTo(const char* s, ostream* os) {
|
321
|
-
if (s ==
|
332
|
+
if (s == nullptr) {
|
322
333
|
*os << "NULL";
|
323
334
|
} else {
|
324
335
|
*os << ImplicitCast_<const void*>(s) << " pointing to ";
|
@@ -335,32 +346,89 @@ void PrintTo(const char* s, ostream* os) {
|
|
335
346
|
#if !defined(_MSC_VER) || defined(_NATIVE_WCHAR_T_DEFINED)
|
336
347
|
// Prints the given wide C string to the ostream.
|
337
348
|
void PrintTo(const wchar_t* s, ostream* os) {
|
338
|
-
if (s ==
|
349
|
+
if (s == nullptr) {
|
339
350
|
*os << "NULL";
|
340
351
|
} else {
|
341
352
|
*os << ImplicitCast_<const void*>(s) << " pointing to ";
|
342
|
-
PrintCharsAsStringTo(s,
|
353
|
+
PrintCharsAsStringTo(s, wcslen(s), os);
|
343
354
|
}
|
344
355
|
}
|
345
356
|
#endif // wchar_t is native
|
346
357
|
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
358
|
+
namespace {
|
359
|
+
|
360
|
+
bool ContainsUnprintableControlCodes(const char* str, size_t length) {
|
361
|
+
const unsigned char *s = reinterpret_cast<const unsigned char *>(str);
|
362
|
+
|
363
|
+
for (size_t i = 0; i < length; i++) {
|
364
|
+
unsigned char ch = *s++;
|
365
|
+
if (std::iscntrl(ch)) {
|
366
|
+
switch (ch) {
|
367
|
+
case '\t':
|
368
|
+
case '\n':
|
369
|
+
case '\r':
|
370
|
+
break;
|
371
|
+
default:
|
372
|
+
return true;
|
373
|
+
}
|
374
|
+
}
|
375
|
+
}
|
376
|
+
return false;
|
351
377
|
}
|
352
|
-
#endif // GTEST_HAS_GLOBAL_STRING
|
353
378
|
|
354
|
-
|
355
|
-
|
379
|
+
bool IsUTF8TrailByte(unsigned char t) { return 0x80 <= t && t<= 0xbf; }
|
380
|
+
|
381
|
+
bool IsValidUTF8(const char* str, size_t length) {
|
382
|
+
const unsigned char *s = reinterpret_cast<const unsigned char *>(str);
|
383
|
+
|
384
|
+
for (size_t i = 0; i < length;) {
|
385
|
+
unsigned char lead = s[i++];
|
386
|
+
|
387
|
+
if (lead <= 0x7f) {
|
388
|
+
continue; // single-byte character (ASCII) 0..7F
|
389
|
+
}
|
390
|
+
if (lead < 0xc2) {
|
391
|
+
return false; // trail byte or non-shortest form
|
392
|
+
} else if (lead <= 0xdf && (i + 1) <= length && IsUTF8TrailByte(s[i])) {
|
393
|
+
++i; // 2-byte character
|
394
|
+
} else if (0xe0 <= lead && lead <= 0xef && (i + 2) <= length &&
|
395
|
+
IsUTF8TrailByte(s[i]) &&
|
396
|
+
IsUTF8TrailByte(s[i + 1]) &&
|
397
|
+
// check for non-shortest form and surrogate
|
398
|
+
(lead != 0xe0 || s[i] >= 0xa0) &&
|
399
|
+
(lead != 0xed || s[i] < 0xa0)) {
|
400
|
+
i += 2; // 3-byte character
|
401
|
+
} else if (0xf0 <= lead && lead <= 0xf4 && (i + 3) <= length &&
|
402
|
+
IsUTF8TrailByte(s[i]) &&
|
403
|
+
IsUTF8TrailByte(s[i + 1]) &&
|
404
|
+
IsUTF8TrailByte(s[i + 2]) &&
|
405
|
+
// check for non-shortest form
|
406
|
+
(lead != 0xf0 || s[i] >= 0x90) &&
|
407
|
+
(lead != 0xf4 || s[i] < 0x90)) {
|
408
|
+
i += 3; // 4-byte character
|
409
|
+
} else {
|
410
|
+
return false;
|
411
|
+
}
|
412
|
+
}
|
413
|
+
return true;
|
356
414
|
}
|
357
415
|
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
416
|
+
void ConditionalPrintAsText(const char* str, size_t length, ostream* os) {
|
417
|
+
if (!ContainsUnprintableControlCodes(str, length) &&
|
418
|
+
IsValidUTF8(str, length)) {
|
419
|
+
*os << "\n As Text: \"" << str << "\"";
|
420
|
+
}
|
421
|
+
}
|
422
|
+
|
423
|
+
} // anonymous namespace
|
424
|
+
|
425
|
+
void PrintStringTo(const ::std::string& s, ostream* os) {
|
426
|
+
if (PrintCharsAsStringTo(s.data(), s.size(), os) == kHexEscape) {
|
427
|
+
if (GTEST_FLAG(print_utf8)) {
|
428
|
+
ConditionalPrintAsText(s.data(), s.size(), os);
|
429
|
+
}
|
430
|
+
}
|
362
431
|
}
|
363
|
-
#endif // GTEST_HAS_GLOBAL_WSTRING
|
364
432
|
|
365
433
|
#if GTEST_HAS_STD_WSTRING
|
366
434
|
void PrintWideStringTo(const ::std::wstring& s, ostream* os) {
|
@@ -26,21 +26,12 @@
|
|
26
26
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
27
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
28
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
|
29
30
|
//
|
30
|
-
//
|
31
|
-
//
|
32
|
-
// The Google C++ Testing Framework (Google Test)
|
31
|
+
// The Google C++ Testing and Mocking Framework (Google Test)
|
33
32
|
|
34
33
|
#include "gtest/gtest-test-part.h"
|
35
|
-
|
36
|
-
// Indicates that this translation unit is part of Google Test's
|
37
|
-
// implementation. It must come before gtest-internal-inl.h is
|
38
|
-
// included, or there will be a compiler error. This trick exists to
|
39
|
-
// prevent the accidental inclusion of gtest-internal-inl.h in the
|
40
|
-
// user's code.
|
41
|
-
#define GTEST_IMPLEMENTATION_ 1
|
42
34
|
#include "src/gtest-internal-inl.h"
|
43
|
-
#undef GTEST_IMPLEMENTATION_
|
44
35
|
|
45
36
|
namespace testing {
|
46
37
|
|
@@ -50,18 +41,21 @@ using internal::GetUnitTestImpl;
|
|
50
41
|
// in it.
|
51
42
|
std::string TestPartResult::ExtractSummary(const char* message) {
|
52
43
|
const char* const stack_trace = strstr(message, internal::kStackTraceMarker);
|
53
|
-
return stack_trace ==
|
54
|
-
std::string(message, stack_trace);
|
44
|
+
return stack_trace == nullptr ? message : std::string(message, stack_trace);
|
55
45
|
}
|
56
46
|
|
57
47
|
// Prints a TestPartResult object.
|
58
48
|
std::ostream& operator<<(std::ostream& os, const TestPartResult& result) {
|
59
|
-
return os
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
49
|
+
return os << result.file_name() << ":" << result.line_number() << ": "
|
50
|
+
<< (result.type() == TestPartResult::kSuccess
|
51
|
+
? "Success"
|
52
|
+
: result.type() == TestPartResult::kSkip
|
53
|
+
? "Skipped"
|
54
|
+
: result.type() == TestPartResult::kFatalFailure
|
55
|
+
? "Fatal failure"
|
56
|
+
: "Non-fatal failure")
|
57
|
+
<< ":\n"
|
58
|
+
<< result.message() << std::endl;
|
65
59
|
}
|
66
60
|
|
67
61
|
// Appends a TestPartResult to the array.
|
@@ -26,10 +26,10 @@
|
|
26
26
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
27
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
28
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
|
30
|
-
// Author: wan@google.com (Zhanyong Wan)
|
29
|
+
|
31
30
|
|
32
31
|
#include "gtest/gtest-typed-test.h"
|
32
|
+
|
33
33
|
#include "gtest/gtest.h"
|
34
34
|
|
35
35
|
namespace testing {
|
@@ -48,7 +48,7 @@ static const char* SkipSpaces(const char* str) {
|
|
48
48
|
static std::vector<std::string> SplitIntoTestNames(const char* src) {
|
49
49
|
std::vector<std::string> name_vec;
|
50
50
|
src = SkipSpaces(src);
|
51
|
-
for (; src !=
|
51
|
+
for (; src != nullptr; src = SkipComma(src)) {
|
52
52
|
name_vec.push_back(StripTrailingSpaces(GetPrefixUntilComma(src)));
|
53
53
|
}
|
54
54
|
return name_vec;
|
@@ -57,7 +57,7 @@ static std::vector<std::string> SplitIntoTestNames(const char* src) {
|
|
57
57
|
// Verifies that registered_tests match the test names in
|
58
58
|
// registered_tests_; returns registered_tests if successful, or
|
59
59
|
// aborts the program otherwise.
|
60
|
-
const char*
|
60
|
+
const char* TypedTestSuitePState::VerifyRegisteredTestNames(
|
61
61
|
const char* file, int line, const char* registered_tests) {
|
62
62
|
typedef RegisteredTestsMap::const_iterator RegisteredTestIter;
|
63
63
|
registered_ = true;
|
@@ -89,7 +89,7 @@ const char* TypedTestCasePState::VerifyRegisteredTestNames(
|
|
89
89
|
tests.insert(name);
|
90
90
|
} else {
|
91
91
|
errors << "No test named " << name
|
92
|
-
<< " can be found in this test
|
92
|
+
<< " can be found in this test suite.\n";
|
93
93
|
}
|
94
94
|
}
|
95
95
|
|
@@ -26,10 +26,9 @@
|
|
26
26
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
27
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
28
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
|
29
30
|
//
|
30
|
-
//
|
31
|
-
//
|
32
|
-
// The Google C++ Testing Framework (Google Test)
|
31
|
+
// The Google C++ Testing and Mocking Framework (Google Test)
|
33
32
|
|
34
33
|
#include "gtest/gtest.h"
|
35
34
|
#include "gtest/internal/custom/gtest.h"
|
@@ -55,8 +54,6 @@
|
|
55
54
|
|
56
55
|
#if GTEST_OS_LINUX
|
57
56
|
|
58
|
-
// TODO(kenton@google.com): Use autoconf to detect availability of
|
59
|
-
// gettimeofday().
|
60
57
|
# define GTEST_HAS_GETTIMEOFDAY_ 1
|
61
58
|
|
62
59
|
# include <fcntl.h> // NOLINT
|
@@ -69,10 +66,6 @@
|
|
69
66
|
# include <unistd.h> // NOLINT
|
70
67
|
# include <string>
|
71
68
|
|
72
|
-
#elif GTEST_OS_SYMBIAN
|
73
|
-
# define GTEST_HAS_GETTIMEOFDAY_ 1
|
74
|
-
# include <sys/time.h> // NOLINT
|
75
|
-
|
76
69
|
#elif GTEST_OS_ZOS
|
77
70
|
# define GTEST_HAS_GETTIMEOFDAY_ 1
|
78
71
|
# include <sys/time.h> // NOLINT
|
@@ -94,11 +87,6 @@
|
|
94
87
|
|
95
88
|
# if GTEST_OS_WINDOWS_MINGW
|
96
89
|
// MinGW has gettimeofday() but not _ftime64().
|
97
|
-
// TODO(kenton@google.com): Use autoconf to detect availability of
|
98
|
-
// gettimeofday().
|
99
|
-
// TODO(kenton@google.com): There are other ways to get the time on
|
100
|
-
// Windows, like GetTickCount() or GetSystemTimeAsFileTime(). MinGW
|
101
|
-
// supports these. consider using them instead.
|
102
90
|
# define GTEST_HAS_GETTIMEOFDAY_ 1
|
103
91
|
# include <sys/time.h> // NOLINT
|
104
92
|
# endif // GTEST_OS_WINDOWS_MINGW
|
@@ -111,8 +99,6 @@
|
|
111
99
|
#else
|
112
100
|
|
113
101
|
// Assume other platforms have gettimeofday().
|
114
|
-
// TODO(kenton@google.com): Use autoconf to detect availability of
|
115
|
-
// gettimeofday().
|
116
102
|
# define GTEST_HAS_GETTIMEOFDAY_ 1
|
117
103
|
|
118
104
|
// cpplint thinks that the header is already included, so we want to
|
@@ -133,19 +119,25 @@
|
|
133
119
|
# include <sys/types.h> // NOLINT
|
134
120
|
#endif
|
135
121
|
|
136
|
-
// Indicates that this translation unit is part of Google Test's
|
137
|
-
// implementation. It must come before gtest-internal-inl.h is
|
138
|
-
// included, or there will be a compiler error. This trick is to
|
139
|
-
// prevent a user from accidentally including gtest-internal-inl.h in
|
140
|
-
// his code.
|
141
|
-
#define GTEST_IMPLEMENTATION_ 1
|
142
122
|
#include "src/gtest-internal-inl.h"
|
143
|
-
#undef GTEST_IMPLEMENTATION_
|
144
123
|
|
145
124
|
#if GTEST_OS_WINDOWS
|
146
125
|
# define vsnprintf _vsnprintf
|
147
126
|
#endif // GTEST_OS_WINDOWS
|
148
127
|
|
128
|
+
#if GTEST_OS_MAC
|
129
|
+
#ifndef GTEST_OS_IOS
|
130
|
+
#include <crt_externs.h>
|
131
|
+
#endif
|
132
|
+
#endif
|
133
|
+
|
134
|
+
#if GTEST_HAS_ABSL
|
135
|
+
#include "absl/debugging/failure_signal_handler.h"
|
136
|
+
#include "absl/debugging/stacktrace.h"
|
137
|
+
#include "absl/debugging/symbolize.h"
|
138
|
+
#include "absl/strings/str_cat.h"
|
139
|
+
#endif // GTEST_HAS_ABSL
|
140
|
+
|
149
141
|
namespace testing {
|
150
142
|
|
151
143
|
using internal::CountIf;
|
@@ -155,20 +147,22 @@ using internal::Shuffle;
|
|
155
147
|
|
156
148
|
// Constants.
|
157
149
|
|
158
|
-
// A test whose test
|
150
|
+
// A test whose test suite name or test name matches this filter is
|
159
151
|
// disabled and not run.
|
160
152
|
static const char kDisableTestFilter[] = "DISABLED_*:*/DISABLED_*";
|
161
153
|
|
162
|
-
// A test
|
163
|
-
// test
|
154
|
+
// A test suite whose name matches this filter is considered a death
|
155
|
+
// test suite and will be run before test suites whose name doesn't
|
164
156
|
// match this filter.
|
165
|
-
static const char
|
157
|
+
static const char kDeathTestSuiteFilter[] = "*DeathTest:*DeathTest/*";
|
166
158
|
|
167
159
|
// A test filter that matches everything.
|
168
160
|
static const char kUniversalFilter[] = "*";
|
169
161
|
|
170
|
-
// The default output
|
171
|
-
static const char
|
162
|
+
// The default output format.
|
163
|
+
static const char kDefaultOutputFormat[] = "xml";
|
164
|
+
// The default output file.
|
165
|
+
static const char kDefaultOutputFile[] = "test_detail";
|
172
166
|
|
173
167
|
// The environment variable name for the test shard index.
|
174
168
|
static const char kTestShardIndex[] = "GTEST_SHARD_INDEX";
|
@@ -187,15 +181,31 @@ const char kStackTraceMarker[] = "\nStack trace:\n";
|
|
187
181
|
// specified on the command line.
|
188
182
|
bool g_help_flag = false;
|
189
183
|
|
184
|
+
// Utilty function to Open File for Writing
|
185
|
+
static FILE* OpenFileForWriting(const std::string& output_file) {
|
186
|
+
FILE* fileout = nullptr;
|
187
|
+
FilePath output_file_path(output_file);
|
188
|
+
FilePath output_dir(output_file_path.RemoveFileName());
|
189
|
+
|
190
|
+
if (output_dir.CreateDirectoriesRecursively()) {
|
191
|
+
fileout = posix::FOpen(output_file.c_str(), "w");
|
192
|
+
}
|
193
|
+
if (fileout == nullptr) {
|
194
|
+
GTEST_LOG_(FATAL) << "Unable to open file \"" << output_file << "\"";
|
195
|
+
}
|
196
|
+
return fileout;
|
197
|
+
}
|
198
|
+
|
190
199
|
} // namespace internal
|
191
200
|
|
201
|
+
// Bazel passes in the argument to '--test_filter' via the TESTBRIDGE_TEST_ONLY
|
202
|
+
// environment variable.
|
192
203
|
static const char* GetDefaultFilter() {
|
193
|
-
|
194
|
-
|
195
|
-
if (testbridge_test_only !=
|
204
|
+
const char* const testbridge_test_only =
|
205
|
+
internal::posix::GetEnv("TESTBRIDGE_TEST_ONLY");
|
206
|
+
if (testbridge_test_only != nullptr) {
|
196
207
|
return testbridge_test_only;
|
197
208
|
}
|
198
|
-
#endif // GTEST_TEST_FILTER_ENV_VAR_
|
199
209
|
return kUniversalFilter;
|
200
210
|
}
|
201
211
|
|
@@ -232,15 +242,28 @@ GTEST_DEFINE_string_(
|
|
232
242
|
"exclude). A test is run if it matches one of the positive "
|
233
243
|
"patterns and does not match any of the negative patterns.");
|
234
244
|
|
245
|
+
GTEST_DEFINE_bool_(
|
246
|
+
install_failure_signal_handler,
|
247
|
+
internal::BoolFromGTestEnv("install_failure_signal_handler", false),
|
248
|
+
"If true and supported on the current platform, " GTEST_NAME_ " should "
|
249
|
+
"install a signal handler that dumps debugging information when fatal "
|
250
|
+
"signals are raised.");
|
251
|
+
|
235
252
|
GTEST_DEFINE_bool_(list_tests, false,
|
236
253
|
"List all tests without running them.");
|
237
254
|
|
255
|
+
// The net priority order after flag processing is thus:
|
256
|
+
// --gtest_output command line flag
|
257
|
+
// GTEST_OUTPUT environment variable
|
258
|
+
// XML_OUTPUT_FILE environment variable
|
259
|
+
// ''
|
238
260
|
GTEST_DEFINE_string_(
|
239
261
|
output,
|
240
|
-
internal::StringFromGTestEnv("output",
|
241
|
-
|
242
|
-
"
|
243
|
-
"
|
262
|
+
internal::StringFromGTestEnv("output",
|
263
|
+
internal::OutputFlagAlsoCheckEnvVar().c_str()),
|
264
|
+
"A format (defaults to \"xml\" but can be specified to be \"json\"), "
|
265
|
+
"optionally followed by a colon and an output file name or directory. "
|
266
|
+
"A directory is indicated by a trailing pathname separator. "
|
244
267
|
"Examples: \"xml:filename.xml\", \"xml::directoryname/\". "
|
245
268
|
"If a directory is specified, output files will be created "
|
246
269
|
"within that directory, with file-names based on the test "
|
@@ -253,6 +276,12 @@ GTEST_DEFINE_bool_(
|
|
253
276
|
"True iff " GTEST_NAME_
|
254
277
|
" should display elapsed time in text output.");
|
255
278
|
|
279
|
+
GTEST_DEFINE_bool_(
|
280
|
+
print_utf8,
|
281
|
+
internal::BoolFromGTestEnv("print_utf8", true),
|
282
|
+
"True iff " GTEST_NAME_
|
283
|
+
" prints UTF8 characters as text.");
|
284
|
+
|
256
285
|
GTEST_DEFINE_int32_(
|
257
286
|
random_seed,
|
258
287
|
internal::Int32FromGTestEnv("random_seed", 0),
|
@@ -294,7 +323,7 @@ GTEST_DEFINE_bool_(
|
|
294
323
|
internal::BoolFromGTestEnv("throw_on_failure", false),
|
295
324
|
"When this flag is specified, a failed assertion will throw an exception "
|
296
325
|
"if exceptions are enabled or exit the program with a non-zero code "
|
297
|
-
"otherwise.");
|
326
|
+
"otherwise. For use with an external test framework.");
|
298
327
|
|
299
328
|
#if GTEST_USE_OWN_FLAGFILE_FLAG_
|
300
329
|
GTEST_DEFINE_string_(
|
@@ -310,7 +339,8 @@ namespace internal {
|
|
310
339
|
// than kMaxRange.
|
311
340
|
UInt32 Random::Generate(UInt32 range) {
|
312
341
|
// These constants are the same as are used in glibc's rand(3).
|
313
|
-
|
342
|
+
// Use wider types than necessary to prevent unsigned overflow diagnostics.
|
343
|
+
state_ = static_cast<UInt32>(1103515245ULL*state_ + 12345U) % kMaxRange;
|
314
344
|
|
315
345
|
GTEST_CHECK_(range > 0)
|
316
346
|
<< "Cannot generate a number in the range [0, 0).";
|
@@ -329,11 +359,11 @@ UInt32 Random::Generate(UInt32 range) {
|
|
329
359
|
// Google Test before calling RUN_ALL_TESTS().
|
330
360
|
static bool GTestIsInitialized() { return GetArgvs().size() > 0; }
|
331
361
|
|
332
|
-
// Iterates over a vector of
|
362
|
+
// Iterates over a vector of TestSuites, keeping a running sum of the
|
333
363
|
// results of calling a given int-returning method on each.
|
334
364
|
// Returns the sum.
|
335
|
-
static int
|
336
|
-
|
365
|
+
static int SumOverTestSuiteList(const std::vector<TestSuite*>& case_list,
|
366
|
+
int (TestSuite::*method)() const) {
|
337
367
|
int sum = 0;
|
338
368
|
for (size_t i = 0; i < case_list.size(); i++) {
|
339
369
|
sum += (case_list[i]->*method)();
|
@@ -341,20 +371,20 @@ static int SumOverTestCaseList(const std::vector<TestCase*>& case_list,
|
|
341
371
|
return sum;
|
342
372
|
}
|
343
373
|
|
344
|
-
// Returns true iff the test
|
345
|
-
static bool
|
346
|
-
return
|
374
|
+
// Returns true iff the test suite passed.
|
375
|
+
static bool TestSuitePassed(const TestSuite* test_suite) {
|
376
|
+
return test_suite->should_run() && test_suite->Passed();
|
347
377
|
}
|
348
378
|
|
349
|
-
// Returns true iff the test
|
350
|
-
static bool
|
351
|
-
return
|
379
|
+
// Returns true iff the test suite failed.
|
380
|
+
static bool TestSuiteFailed(const TestSuite* test_suite) {
|
381
|
+
return test_suite->should_run() && test_suite->Failed();
|
352
382
|
}
|
353
383
|
|
354
|
-
// Returns true iff
|
384
|
+
// Returns true iff test_suite contains at least one test that should
|
355
385
|
// run.
|
356
|
-
static bool
|
357
|
-
return
|
386
|
+
static bool ShouldRunTestSuite(const TestSuite* test_suite) {
|
387
|
+
return test_suite->should_run();
|
358
388
|
}
|
359
389
|
|
360
390
|
// AssertHelper constructor.
|
@@ -380,16 +410,16 @@ void AssertHelper::operator=(const Message& message) const {
|
|
380
410
|
); // NOLINT
|
381
411
|
}
|
382
412
|
|
383
|
-
// Mutex for linked pointers.
|
384
|
-
GTEST_API_ GTEST_DEFINE_STATIC_MUTEX_(g_linked_ptr_mutex);
|
385
|
-
|
386
413
|
// A copy of all command line arguments. Set by InitGoogleTest().
|
387
|
-
::std::vector<
|
414
|
+
static ::std::vector<std::string> g_argvs;
|
388
415
|
|
389
|
-
|
416
|
+
::std::vector<std::string> GetArgvs() {
|
390
417
|
#if defined(GTEST_CUSTOM_GET_ARGVS_)
|
391
|
-
|
392
|
-
|
418
|
+
// GTEST_CUSTOM_GET_ARGVS_() may return a container of std::string or
|
419
|
+
// ::string. This code converts it to the appropriate type.
|
420
|
+
const auto& custom = GTEST_CUSTOM_GET_ARGVS_();
|
421
|
+
return ::std::vector<std::string>(custom.begin(), custom.end());
|
422
|
+
#else // defined(GTEST_CUSTOM_GET_ARGVS_)
|
393
423
|
return g_argvs;
|
394
424
|
#endif // defined(GTEST_CUSTOM_GET_ARGVS_)
|
395
425
|
}
|
@@ -399,7 +429,7 @@ const ::std::vector<testing::internal::string>& GetArgvs() {
|
|
399
429
|
FilePath GetCurrentExecutableName() {
|
400
430
|
FilePath result;
|
401
431
|
|
402
|
-
#if GTEST_OS_WINDOWS
|
432
|
+
#if GTEST_OS_WINDOWS || GTEST_OS_OS2
|
403
433
|
result.Set(FilePath(GetArgvs()[0]).RemoveExtension("exe"));
|
404
434
|
#else
|
405
435
|
result.Set(FilePath(GetArgvs()[0]));
|
@@ -413,34 +443,31 @@ FilePath GetCurrentExecutableName() {
|
|
413
443
|
// Returns the output format, or "" for normal printed output.
|
414
444
|
std::string UnitTestOptions::GetOutputFormat() {
|
415
445
|
const char* const gtest_output_flag = GTEST_FLAG(output).c_str();
|
416
|
-
if (gtest_output_flag == NULL) return std::string("");
|
417
|
-
|
418
446
|
const char* const colon = strchr(gtest_output_flag, ':');
|
419
|
-
return (colon ==
|
420
|
-
|
421
|
-
|
447
|
+
return (colon == nullptr)
|
448
|
+
? std::string(gtest_output_flag)
|
449
|
+
: std::string(gtest_output_flag, colon - gtest_output_flag);
|
422
450
|
}
|
423
451
|
|
424
452
|
// Returns the name of the requested output file, or the default if none
|
425
453
|
// was explicitly specified.
|
426
454
|
std::string UnitTestOptions::GetAbsolutePathToOutputFile() {
|
427
455
|
const char* const gtest_output_flag = GTEST_FLAG(output).c_str();
|
428
|
-
|
429
|
-
|
456
|
+
|
457
|
+
std::string format = GetOutputFormat();
|
458
|
+
if (format.empty())
|
459
|
+
format = std::string(kDefaultOutputFormat);
|
430
460
|
|
431
461
|
const char* const colon = strchr(gtest_output_flag, ':');
|
432
|
-
if (colon ==
|
433
|
-
return internal::FilePath::
|
462
|
+
if (colon == nullptr)
|
463
|
+
return internal::FilePath::MakeFileName(
|
434
464
|
internal::FilePath(
|
435
465
|
UnitTest::GetInstance()->original_working_dir()),
|
436
|
-
internal::FilePath(kDefaultOutputFile)
|
466
|
+
internal::FilePath(kDefaultOutputFile), 0,
|
467
|
+
format.c_str()).string();
|
437
468
|
|
438
469
|
internal::FilePath output_name(colon + 1);
|
439
470
|
if (!output_name.IsAbsolutePath())
|
440
|
-
// TODO(wan@google.com): on Windows \some\path is not an absolute
|
441
|
-
// path (as its meaning depends on the current drive), yet the
|
442
|
-
// following logic for turning it into an absolute path is wrong.
|
443
|
-
// Fix it.
|
444
471
|
output_name = internal::FilePath::ConcatPaths(
|
445
472
|
internal::FilePath(UnitTest::GetInstance()->original_working_dir()),
|
446
473
|
internal::FilePath(colon + 1));
|
@@ -488,7 +515,7 @@ bool UnitTestOptions::MatchesFilter(
|
|
488
515
|
cur_pattern = strchr(cur_pattern, ':');
|
489
516
|
|
490
517
|
// Returns if no more pattern can be found.
|
491
|
-
if (cur_pattern ==
|
518
|
+
if (cur_pattern == nullptr) {
|
492
519
|
return false;
|
493
520
|
}
|
494
521
|
|
@@ -497,11 +524,11 @@ bool UnitTestOptions::MatchesFilter(
|
|
497
524
|
}
|
498
525
|
}
|
499
526
|
|
500
|
-
// Returns true iff the user-specified filter matches the test
|
527
|
+
// Returns true iff the user-specified filter matches the test suite
|
501
528
|
// name and the test name.
|
502
|
-
bool UnitTestOptions::FilterMatchesTest(const std::string
|
503
|
-
const std::string
|
504
|
-
const std::string& full_name =
|
529
|
+
bool UnitTestOptions::FilterMatchesTest(const std::string& test_suite_name,
|
530
|
+
const std::string& test_name) {
|
531
|
+
const std::string& full_name = test_suite_name + "." + test_name.c_str();
|
505
532
|
|
506
533
|
// Split --gtest_filter at '-', if there is one, to separate into
|
507
534
|
// positive filter and negative filter portions
|
@@ -509,7 +536,7 @@ bool UnitTestOptions::FilterMatchesTest(const std::string &test_case_name,
|
|
509
536
|
const char* const dash = strchr(p, '-');
|
510
537
|
std::string positive;
|
511
538
|
std::string negative;
|
512
|
-
if (dash ==
|
539
|
+
if (dash == nullptr) {
|
513
540
|
positive = GTEST_FLAG(filter).c_str(); // Whole string is a positive filter
|
514
541
|
negative = "";
|
515
542
|
} else {
|
@@ -628,12 +655,12 @@ extern const TypeId kTestTypeIdInGoogleTest = GetTestTypeId();
|
|
628
655
|
// This predicate-formatter checks that 'results' contains a test part
|
629
656
|
// failure of the given type and that the failure message contains the
|
630
657
|
// given substring.
|
631
|
-
AssertionResult HasOneFailure(const char* /* results_expr */,
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
658
|
+
static AssertionResult HasOneFailure(const char* /* results_expr */,
|
659
|
+
const char* /* type_expr */,
|
660
|
+
const char* /* substr_expr */,
|
661
|
+
const TestPartResultArray& results,
|
662
|
+
TestPartResult::Type type,
|
663
|
+
const std::string& substr) {
|
637
664
|
const std::string expected(type == TestPartResult::kFatalFailure ?
|
638
665
|
"1 fatal failure" :
|
639
666
|
"1 non-fatal failure");
|
@@ -654,7 +681,7 @@ AssertionResult HasOneFailure(const char* /* results_expr */,
|
|
654
681
|
<< r;
|
655
682
|
}
|
656
683
|
|
657
|
-
if (strstr(r.message(), substr.c_str()) ==
|
684
|
+
if (strstr(r.message(), substr.c_str()) == nullptr) {
|
658
685
|
return AssertionFailure() << "Expected: " << expected << " containing \""
|
659
686
|
<< substr << "\"\n"
|
660
687
|
<< " Actual:\n"
|
@@ -667,13 +694,10 @@ AssertionResult HasOneFailure(const char* /* results_expr */,
|
|
667
694
|
// The constructor of SingleFailureChecker remembers where to look up
|
668
695
|
// test part results, what type of failure we expect, and what
|
669
696
|
// substring the failure message should contain.
|
670
|
-
SingleFailureChecker::
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
: results_(results),
|
675
|
-
type_(type),
|
676
|
-
substr_(substr) {}
|
697
|
+
SingleFailureChecker::SingleFailureChecker(const TestPartResultArray* results,
|
698
|
+
TestPartResult::Type type,
|
699
|
+
const std::string& substr)
|
700
|
+
: results_(results), type_(type), substr_(substr) {}
|
677
701
|
|
678
702
|
// The destructor of SingleFailureChecker verifies that the given
|
679
703
|
// TestPartResultArray contains exactly one failure that has the given
|
@@ -726,61 +750,66 @@ void UnitTestImpl::SetTestPartResultReporterForCurrentThread(
|
|
726
750
|
per_thread_test_part_result_reporter_.set(reporter);
|
727
751
|
}
|
728
752
|
|
729
|
-
// Gets the number of successful test
|
730
|
-
int UnitTestImpl::
|
731
|
-
return CountIf(
|
753
|
+
// Gets the number of successful test suites.
|
754
|
+
int UnitTestImpl::successful_test_suite_count() const {
|
755
|
+
return CountIf(test_suites_, TestSuitePassed);
|
732
756
|
}
|
733
757
|
|
734
|
-
// Gets the number of failed test
|
735
|
-
int UnitTestImpl::
|
736
|
-
return CountIf(
|
758
|
+
// Gets the number of failed test suites.
|
759
|
+
int UnitTestImpl::failed_test_suite_count() const {
|
760
|
+
return CountIf(test_suites_, TestSuiteFailed);
|
737
761
|
}
|
738
762
|
|
739
|
-
// Gets the number of all test
|
740
|
-
int UnitTestImpl::
|
741
|
-
return static_cast<int>(
|
763
|
+
// Gets the number of all test suites.
|
764
|
+
int UnitTestImpl::total_test_suite_count() const {
|
765
|
+
return static_cast<int>(test_suites_.size());
|
742
766
|
}
|
743
767
|
|
744
|
-
// Gets the number of all test
|
768
|
+
// Gets the number of all test suites that contain at least one test
|
745
769
|
// that should run.
|
746
|
-
int UnitTestImpl::
|
747
|
-
return CountIf(
|
770
|
+
int UnitTestImpl::test_suite_to_run_count() const {
|
771
|
+
return CountIf(test_suites_, ShouldRunTestSuite);
|
748
772
|
}
|
749
773
|
|
750
774
|
// Gets the number of successful tests.
|
751
775
|
int UnitTestImpl::successful_test_count() const {
|
752
|
-
return
|
776
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::successful_test_count);
|
777
|
+
}
|
778
|
+
|
779
|
+
// Gets the number of skipped tests.
|
780
|
+
int UnitTestImpl::skipped_test_count() const {
|
781
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::skipped_test_count);
|
753
782
|
}
|
754
783
|
|
755
784
|
// Gets the number of failed tests.
|
756
785
|
int UnitTestImpl::failed_test_count() const {
|
757
|
-
return
|
786
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::failed_test_count);
|
758
787
|
}
|
759
788
|
|
760
789
|
// Gets the number of disabled tests that will be reported in the XML report.
|
761
790
|
int UnitTestImpl::reportable_disabled_test_count() const {
|
762
|
-
return
|
763
|
-
|
791
|
+
return SumOverTestSuiteList(test_suites_,
|
792
|
+
&TestSuite::reportable_disabled_test_count);
|
764
793
|
}
|
765
794
|
|
766
795
|
// Gets the number of disabled tests.
|
767
796
|
int UnitTestImpl::disabled_test_count() const {
|
768
|
-
return
|
797
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::disabled_test_count);
|
769
798
|
}
|
770
799
|
|
771
800
|
// Gets the number of tests to be printed in the XML report.
|
772
801
|
int UnitTestImpl::reportable_test_count() const {
|
773
|
-
return
|
802
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::reportable_test_count);
|
774
803
|
}
|
775
804
|
|
776
805
|
// Gets the number of all tests.
|
777
806
|
int UnitTestImpl::total_test_count() const {
|
778
|
-
return
|
807
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::total_test_count);
|
779
808
|
}
|
780
809
|
|
781
810
|
// Gets the number of tests that should run.
|
782
811
|
int UnitTestImpl::test_to_run_count() const {
|
783
|
-
return
|
812
|
+
return SumOverTestSuiteList(test_suites_, &TestSuite::test_to_run_count);
|
784
813
|
}
|
785
814
|
|
786
815
|
// Returns the current OS stack trace as an std::string.
|
@@ -814,8 +843,6 @@ TimeInMillis GetTimeInMillis() {
|
|
814
843
|
SYSTEMTIME now_systime;
|
815
844
|
FILETIME now_filetime;
|
816
845
|
ULARGE_INTEGER now_int64;
|
817
|
-
// TODO(kenton@google.com): Shouldn't this just use
|
818
|
-
// GetSystemTimeAsFileTime()?
|
819
846
|
GetSystemTime(&now_systime);
|
820
847
|
if (SystemTimeToFileTime(&now_systime, &now_filetime)) {
|
821
848
|
now_int64.LowPart = now_filetime.dwLowDateTime;
|
@@ -830,16 +857,14 @@ TimeInMillis GetTimeInMillis() {
|
|
830
857
|
|
831
858
|
// MSVC 8 deprecates _ftime64(), so we want to suppress warning 4996
|
832
859
|
// (deprecated function) there.
|
833
|
-
|
834
|
-
// SystemTimeToFileTime()
|
835
|
-
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4996)
|
860
|
+
GTEST_DISABLE_MSC_DEPRECATED_PUSH_()
|
836
861
|
_ftime64(&now);
|
837
|
-
|
862
|
+
GTEST_DISABLE_MSC_DEPRECATED_POP_()
|
838
863
|
|
839
864
|
return static_cast<TimeInMillis>(now.time) * 1000 + now.millitm;
|
840
865
|
#elif GTEST_HAS_GETTIMEOFDAY_
|
841
866
|
struct timeval now;
|
842
|
-
gettimeofday(&now,
|
867
|
+
gettimeofday(&now, nullptr);
|
843
868
|
return static_cast<TimeInMillis>(now.tv_sec) * 1000 + now.tv_usec / 1000;
|
844
869
|
#else
|
845
870
|
# error "Don't know how to get the current time on your system."
|
@@ -856,11 +881,10 @@ TimeInMillis GetTimeInMillis() {
|
|
856
881
|
// value using delete[]. Returns the wide string, or NULL if the
|
857
882
|
// input is NULL.
|
858
883
|
LPCWSTR String::AnsiToUtf16(const char* ansi) {
|
859
|
-
if (!ansi) return
|
884
|
+
if (!ansi) return nullptr;
|
860
885
|
const int length = strlen(ansi);
|
861
886
|
const int unicode_length =
|
862
|
-
MultiByteToWideChar(CP_ACP, 0, ansi, length,
|
863
|
-
NULL, 0);
|
887
|
+
MultiByteToWideChar(CP_ACP, 0, ansi, length, nullptr, 0);
|
864
888
|
WCHAR* unicode = new WCHAR[unicode_length + 1];
|
865
889
|
MultiByteToWideChar(CP_ACP, 0, ansi, length,
|
866
890
|
unicode, unicode_length);
|
@@ -873,13 +897,12 @@ LPCWSTR String::AnsiToUtf16(const char* ansi) {
|
|
873
897
|
// value using delete[]. Returns the ANSI string, or NULL if the
|
874
898
|
// input is NULL.
|
875
899
|
const char* String::Utf16ToAnsi(LPCWSTR utf16_str) {
|
876
|
-
if (!utf16_str) return
|
877
|
-
const int ansi_length =
|
878
|
-
|
879
|
-
NULL, 0, NULL, NULL);
|
900
|
+
if (!utf16_str) return nullptr;
|
901
|
+
const int ansi_length = WideCharToMultiByte(CP_ACP, 0, utf16_str, -1, nullptr,
|
902
|
+
0, nullptr, nullptr);
|
880
903
|
char* ansi = new char[ansi_length + 1];
|
881
|
-
WideCharToMultiByte(CP_ACP, 0, utf16_str, -1,
|
882
|
-
|
904
|
+
WideCharToMultiByte(CP_ACP, 0, utf16_str, -1, ansi, ansi_length, nullptr,
|
905
|
+
nullptr);
|
883
906
|
ansi[ansi_length] = 0;
|
884
907
|
return ansi;
|
885
908
|
}
|
@@ -892,14 +915,14 @@ const char* String::Utf16ToAnsi(LPCWSTR utf16_str) {
|
|
892
915
|
// C string is considered different to any non-NULL C string,
|
893
916
|
// including the empty string.
|
894
917
|
bool String::CStringEquals(const char * lhs, const char * rhs) {
|
895
|
-
if (
|
918
|
+
if (lhs == nullptr) return rhs == nullptr;
|
896
919
|
|
897
|
-
if (
|
920
|
+
if (rhs == nullptr) return false;
|
898
921
|
|
899
922
|
return strcmp(lhs, rhs) == 0;
|
900
923
|
}
|
901
924
|
|
902
|
-
#if GTEST_HAS_STD_WSTRING
|
925
|
+
#if GTEST_HAS_STD_WSTRING
|
903
926
|
|
904
927
|
// Converts an array of wide chars to a narrow string using the UTF-8
|
905
928
|
// encoding, and streams the result to the given Message object.
|
@@ -917,7 +940,7 @@ static void StreamWideCharsToMessage(const wchar_t* wstr, size_t length,
|
|
917
940
|
}
|
918
941
|
}
|
919
942
|
|
920
|
-
#endif // GTEST_HAS_STD_WSTRING
|
943
|
+
#endif // GTEST_HAS_STD_WSTRING
|
921
944
|
|
922
945
|
void SplitString(const ::std::string& str, char delimiter,
|
923
946
|
::std::vector< ::std::string>* dest) {
|
@@ -967,15 +990,6 @@ Message& Message::operator <<(const ::std::wstring& wstr) {
|
|
967
990
|
}
|
968
991
|
#endif // GTEST_HAS_STD_WSTRING
|
969
992
|
|
970
|
-
#if GTEST_HAS_GLOBAL_WSTRING
|
971
|
-
// Converts the given wide string to a narrow string using the UTF-8
|
972
|
-
// encoding, and streams the result to this Message object.
|
973
|
-
Message& Message::operator <<(const ::wstring& wstr) {
|
974
|
-
internal::StreamWideCharsToMessage(wstr.c_str(), wstr.length(), this);
|
975
|
-
return *this;
|
976
|
-
}
|
977
|
-
#endif // GTEST_HAS_GLOBAL_WSTRING
|
978
|
-
|
979
993
|
// Gets the text streamed to this object so far as an std::string.
|
980
994
|
// Each '\0' character in the buffer is replaced with "\\0".
|
981
995
|
std::string Message::GetString() const {
|
@@ -986,10 +1000,9 @@ std::string Message::GetString() const {
|
|
986
1000
|
// Used in EXPECT_TRUE/FALSE(assertion_result).
|
987
1001
|
AssertionResult::AssertionResult(const AssertionResult& other)
|
988
1002
|
: success_(other.success_),
|
989
|
-
message_(other.message_.get() !=
|
990
|
-
|
991
|
-
|
992
|
-
}
|
1003
|
+
message_(other.message_.get() != nullptr
|
1004
|
+
? new ::std::string(*other.message_)
|
1005
|
+
: static_cast< ::std::string*>(nullptr)) {}
|
993
1006
|
|
994
1007
|
// Swaps two AssertionResults.
|
995
1008
|
void AssertionResult::swap(AssertionResult& other) {
|
@@ -1001,8 +1014,7 @@ void AssertionResult::swap(AssertionResult& other) {
|
|
1001
1014
|
// Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE.
|
1002
1015
|
AssertionResult AssertionResult::operator!() const {
|
1003
1016
|
AssertionResult negation(!success_);
|
1004
|
-
if (message_.get() !=
|
1005
|
-
negation << *message_;
|
1017
|
+
if (message_.get() != nullptr) negation << *message_;
|
1006
1018
|
return negation;
|
1007
1019
|
}
|
1008
1020
|
|
@@ -1171,7 +1183,7 @@ class Hunk {
|
|
1171
1183
|
// Print a unified diff header for one hunk.
|
1172
1184
|
// The format is
|
1173
1185
|
// "@@ -<left_start>,<left_length> +<right_start>,<right_length> @@"
|
1174
|
-
// where the left/right parts are
|
1186
|
+
// where the left/right parts are omitted if unnecessary.
|
1175
1187
|
void PrintHeader(std::ostream* ss) const {
|
1176
1188
|
*ss << "@@ ";
|
1177
1189
|
if (removes_) {
|
@@ -1315,13 +1327,14 @@ AssertionResult EqFailure(const char* lhs_expression,
|
|
1315
1327
|
const std::string& rhs_value,
|
1316
1328
|
bool ignoring_case) {
|
1317
1329
|
Message msg;
|
1318
|
-
msg << "
|
1330
|
+
msg << "Expected equality of these values:";
|
1331
|
+
msg << "\n " << lhs_expression;
|
1319
1332
|
if (lhs_value != lhs_expression) {
|
1320
|
-
msg << "\n
|
1333
|
+
msg << "\n Which is: " << lhs_value;
|
1321
1334
|
}
|
1322
|
-
msg << "\
|
1335
|
+
msg << "\n " << rhs_expression;
|
1323
1336
|
if (rhs_value != rhs_expression) {
|
1324
|
-
msg << "\n
|
1337
|
+
msg << "\n Which is: " << rhs_value;
|
1325
1338
|
}
|
1326
1339
|
|
1327
1340
|
if (ignoring_case) {
|
@@ -1368,8 +1381,6 @@ AssertionResult DoubleNearPredFormat(const char* expr1,
|
|
1368
1381
|
const double diff = fabs(val1 - val2);
|
1369
1382
|
if (diff <= abs_error) return AssertionSuccess();
|
1370
1383
|
|
1371
|
-
// TODO(wan): do not print the value of an expression if it's
|
1372
|
-
// already a literal.
|
1373
1384
|
return AssertionFailure()
|
1374
1385
|
<< "The difference between " << expr1 << " and " << expr2
|
1375
1386
|
<< " is " << diff << ", which exceeds " << abs_error_expr << ", where\n"
|
@@ -1555,17 +1566,15 @@ namespace {
|
|
1555
1566
|
// only.
|
1556
1567
|
|
1557
1568
|
bool IsSubstringPred(const char* needle, const char* haystack) {
|
1558
|
-
if (needle ==
|
1559
|
-
return needle == haystack;
|
1569
|
+
if (needle == nullptr || haystack == nullptr) return needle == haystack;
|
1560
1570
|
|
1561
|
-
return strstr(haystack, needle) !=
|
1571
|
+
return strstr(haystack, needle) != nullptr;
|
1562
1572
|
}
|
1563
1573
|
|
1564
1574
|
bool IsSubstringPred(const wchar_t* needle, const wchar_t* haystack) {
|
1565
|
-
if (needle ==
|
1566
|
-
return needle == haystack;
|
1575
|
+
if (needle == nullptr || haystack == nullptr) return needle == haystack;
|
1567
1576
|
|
1568
|
-
return wcsstr(haystack, needle) !=
|
1577
|
+
return wcsstr(haystack, needle) != nullptr;
|
1569
1578
|
}
|
1570
1579
|
|
1571
1580
|
// StringType here can be either ::std::string or ::std::wstring.
|
@@ -1663,7 +1672,7 @@ namespace {
|
|
1663
1672
|
AssertionResult HRESULTFailureHelper(const char* expr,
|
1664
1673
|
const char* expected,
|
1665
1674
|
long hr) { // NOLINT
|
1666
|
-
# if GTEST_OS_WINDOWS_MOBILE
|
1675
|
+
# if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_TV_TITLE
|
1667
1676
|
|
1668
1677
|
// Windows CE doesn't support FormatMessage.
|
1669
1678
|
const char error_text[] = "";
|
@@ -1679,12 +1688,12 @@ AssertionResult HRESULTFailureHelper(const char* expr,
|
|
1679
1688
|
// Gets the system's human readable message string for this HRESULT.
|
1680
1689
|
char error_text[kBufSize] = { '\0' };
|
1681
1690
|
DWORD message_length = ::FormatMessageA(kFlags,
|
1682
|
-
0,
|
1691
|
+
0, // no source, we're asking system
|
1683
1692
|
hr, // the error
|
1684
|
-
0,
|
1693
|
+
0, // no line width restrictions
|
1685
1694
|
error_text, // output buffer
|
1686
|
-
kBufSize,
|
1687
|
-
|
1695
|
+
kBufSize, // buf size
|
1696
|
+
nullptr); // no arguments for inserts
|
1688
1697
|
// Trims tailing white space (FormatMessage leaves a trailing CR-LF)
|
1689
1698
|
for (; message_length && IsSpace(error_text[message_length - 1]);
|
1690
1699
|
--message_length) {
|
@@ -1720,7 +1729,7 @@ AssertionResult IsHRESULTFailure(const char* expr, long hr) { // NOLINT
|
|
1720
1729
|
// Utility functions for encoding Unicode text (wide strings) in
|
1721
1730
|
// UTF-8.
|
1722
1731
|
|
1723
|
-
// A Unicode code-point can have
|
1732
|
+
// A Unicode code-point can have up to 21 bits, and is encoded in UTF-8
|
1724
1733
|
// like this:
|
1725
1734
|
//
|
1726
1735
|
// Code-point length Encoding
|
@@ -1784,9 +1793,9 @@ std::string CodePointToUtf8(UInt32 code_point) {
|
|
1784
1793
|
return str;
|
1785
1794
|
}
|
1786
1795
|
|
1787
|
-
// The following two functions only make sense if the
|
1796
|
+
// The following two functions only make sense if the system
|
1788
1797
|
// uses UTF-16 for wide string encoding. All supported systems
|
1789
|
-
// with 16 bit wchar_t (Windows, Cygwin
|
1798
|
+
// with 16 bit wchar_t (Windows, Cygwin) do use UTF-16.
|
1790
1799
|
|
1791
1800
|
// Determines if the arguments constitute UTF-16 surrogate pair
|
1792
1801
|
// and thus should be combined into a single Unicode code point
|
@@ -1809,7 +1818,7 @@ inline UInt32 CreateCodePointFromUtf16SurrogatePair(wchar_t first,
|
|
1809
1818
|
|
1810
1819
|
// Converts a wide string to a narrow string in UTF-8 encoding.
|
1811
1820
|
// The wide string is assumed to have the following encoding:
|
1812
|
-
// UTF-16 if sizeof(wchar_t) == 2 (on Windows, Cygwin
|
1821
|
+
// UTF-16 if sizeof(wchar_t) == 2 (on Windows, Cygwin)
|
1813
1822
|
// UTF-32 if sizeof(wchar_t) == 4 (on Linux)
|
1814
1823
|
// Parameter str points to a null-terminated wide string.
|
1815
1824
|
// Parameter num_chars may additionally limit the number
|
@@ -1846,7 +1855,7 @@ std::string WideStringToUtf8(const wchar_t* str, int num_chars) {
|
|
1846
1855
|
// Converts a wide C string to an std::string using the UTF-8 encoding.
|
1847
1856
|
// NULL will be converted to "(null)".
|
1848
1857
|
std::string String::ShowWideCString(const wchar_t * wide_c_str) {
|
1849
|
-
if (wide_c_str ==
|
1858
|
+
if (wide_c_str == nullptr) return "(null)";
|
1850
1859
|
|
1851
1860
|
return internal::WideStringToUtf8(wide_c_str, -1);
|
1852
1861
|
}
|
@@ -1858,9 +1867,9 @@ std::string String::ShowWideCString(const wchar_t * wide_c_str) {
|
|
1858
1867
|
// C string is considered different to any non-NULL C string,
|
1859
1868
|
// including the empty string.
|
1860
1869
|
bool String::WideCStringEquals(const wchar_t * lhs, const wchar_t * rhs) {
|
1861
|
-
if (lhs ==
|
1870
|
+
if (lhs == nullptr) return rhs == nullptr;
|
1862
1871
|
|
1863
|
-
if (rhs ==
|
1872
|
+
if (rhs == nullptr) return false;
|
1864
1873
|
|
1865
1874
|
return wcscmp(lhs, rhs) == 0;
|
1866
1875
|
}
|
@@ -1903,10 +1912,8 @@ AssertionResult CmpHelperSTRNE(const char* s1_expression,
|
|
1903
1912
|
// NULL C string is considered different to any non-NULL C string,
|
1904
1913
|
// including the empty string.
|
1905
1914
|
bool String::CaseInsensitiveCStringEquals(const char * lhs, const char * rhs) {
|
1906
|
-
if (lhs ==
|
1907
|
-
|
1908
|
-
if (rhs == NULL)
|
1909
|
-
return false;
|
1915
|
+
if (lhs == nullptr) return rhs == nullptr;
|
1916
|
+
if (rhs == nullptr) return false;
|
1910
1917
|
return posix::StrCaseCmp(lhs, rhs) == 0;
|
1911
1918
|
}
|
1912
1919
|
|
@@ -1924,9 +1931,9 @@ bool String::CaseInsensitiveCStringEquals(const char * lhs, const char * rhs) {
|
|
1924
1931
|
// current locale.
|
1925
1932
|
bool String::CaseInsensitiveWideCStringEquals(const wchar_t* lhs,
|
1926
1933
|
const wchar_t* rhs) {
|
1927
|
-
if (lhs ==
|
1934
|
+
if (lhs == nullptr) return rhs == nullptr;
|
1928
1935
|
|
1929
|
-
if (rhs ==
|
1936
|
+
if (rhs == nullptr) return false;
|
1930
1937
|
|
1931
1938
|
#if GTEST_OS_WINDOWS
|
1932
1939
|
return _wcsicmp(lhs, rhs) == 0;
|
@@ -2096,13 +2103,14 @@ static const char* const kReservedTestSuiteAttributes[] = {
|
|
2096
2103
|
|
2097
2104
|
// The list of reserved attributes used in the <testcase> element of XML output.
|
2098
2105
|
static const char* const kReservedTestCaseAttributes[] = {
|
2099
|
-
|
2100
|
-
|
2101
|
-
|
2102
|
-
|
2103
|
-
|
2104
|
-
|
2105
|
-
|
2106
|
+
"classname", "name", "status", "time", "type_param",
|
2107
|
+
"value_param", "file", "line"};
|
2108
|
+
|
2109
|
+
// Use a slightly different set for allowed output to ensure existing tests can
|
2110
|
+
// still RecordProperty("result")
|
2111
|
+
static const char* const kReservedOutputTestCaseAttributes[] = {
|
2112
|
+
"classname", "name", "status", "time", "type_param",
|
2113
|
+
"value_param", "file", "line", "result"};
|
2106
2114
|
|
2107
2115
|
template <int kSize>
|
2108
2116
|
std::vector<std::string> ArrayAsVector(const char* const (&array)[kSize]) {
|
@@ -2124,6 +2132,22 @@ static std::vector<std::string> GetReservedAttributesForElement(
|
|
2124
2132
|
return std::vector<std::string>();
|
2125
2133
|
}
|
2126
2134
|
|
2135
|
+
// TODO(jdesprez): Merge the two getReserved attributes once skip is improved
|
2136
|
+
static std::vector<std::string> GetReservedOutputAttributesForElement(
|
2137
|
+
const std::string& xml_element) {
|
2138
|
+
if (xml_element == "testsuites") {
|
2139
|
+
return ArrayAsVector(kReservedTestSuitesAttributes);
|
2140
|
+
} else if (xml_element == "testsuite") {
|
2141
|
+
return ArrayAsVector(kReservedTestSuiteAttributes);
|
2142
|
+
} else if (xml_element == "testcase") {
|
2143
|
+
return ArrayAsVector(kReservedOutputTestCaseAttributes);
|
2144
|
+
} else {
|
2145
|
+
GTEST_CHECK_(false) << "Unrecognized xml_element provided: " << xml_element;
|
2146
|
+
}
|
2147
|
+
// This code is unreachable but some compilers may not realizes that.
|
2148
|
+
return std::vector<std::string>();
|
2149
|
+
}
|
2150
|
+
|
2127
2151
|
static std::string FormatWordList(const std::vector<std::string>& words) {
|
2128
2152
|
Message word_list;
|
2129
2153
|
for (size_t i = 0; i < words.size(); ++i) {
|
@@ -2138,8 +2162,9 @@ static std::string FormatWordList(const std::vector<std::string>& words) {
|
|
2138
2162
|
return word_list.GetString();
|
2139
2163
|
}
|
2140
2164
|
|
2141
|
-
bool ValidateTestPropertyName(
|
2142
|
-
|
2165
|
+
static bool ValidateTestPropertyName(
|
2166
|
+
const std::string& property_name,
|
2167
|
+
const std::vector<std::string>& reserved_names) {
|
2143
2168
|
if (std::find(reserved_names.begin(), reserved_names.end(), property_name) !=
|
2144
2169
|
reserved_names.end()) {
|
2145
2170
|
ADD_FAILURE() << "Reserved key used in RecordProperty(): " << property_name
|
@@ -2166,6 +2191,16 @@ void TestResult::Clear() {
|
|
2166
2191
|
elapsed_time_ = 0;
|
2167
2192
|
}
|
2168
2193
|
|
2194
|
+
// Returns true off the test part was skipped.
|
2195
|
+
static bool TestPartSkipped(const TestPartResult& result) {
|
2196
|
+
return result.skipped();
|
2197
|
+
}
|
2198
|
+
|
2199
|
+
// Returns true iff the test was skipped.
|
2200
|
+
bool TestResult::Skipped() const {
|
2201
|
+
return !Failed() && CountIf(test_part_results_, TestPartSkipped) > 0;
|
2202
|
+
}
|
2203
|
+
|
2169
2204
|
// Returns true iff the test failed.
|
2170
2205
|
bool TestResult::Failed() const {
|
2171
2206
|
for (int i = 0; i < total_part_count(); ++i) {
|
@@ -2253,25 +2288,25 @@ void ReportFailureInUnknownLocation(TestPartResult::Type result_type,
|
|
2253
2288
|
// AddTestPartResult.
|
2254
2289
|
UnitTest::GetInstance()->AddTestPartResult(
|
2255
2290
|
result_type,
|
2256
|
-
|
2257
|
-
-1,
|
2291
|
+
nullptr, // No info about the source file where the exception occurred.
|
2292
|
+
-1, // We have no info on which line caused the exception.
|
2258
2293
|
message,
|
2259
|
-
"");
|
2294
|
+
""); // No stack trace, either.
|
2260
2295
|
}
|
2261
2296
|
|
2262
2297
|
} // namespace internal
|
2263
2298
|
|
2264
|
-
// Google Test requires all tests in the same test
|
2299
|
+
// Google Test requires all tests in the same test suite to use the same test
|
2265
2300
|
// fixture class. This function checks if the current test has the
|
2266
|
-
// same fixture class as the first test in the current test
|
2301
|
+
// same fixture class as the first test in the current test suite. If
|
2267
2302
|
// yes, it returns true; otherwise it generates a Google Test failure and
|
2268
2303
|
// returns false.
|
2269
2304
|
bool Test::HasSameFixtureClass() {
|
2270
2305
|
internal::UnitTestImpl* const impl = internal::GetUnitTestImpl();
|
2271
|
-
const
|
2306
|
+
const TestSuite* const test_suite = impl->current_test_suite();
|
2272
2307
|
|
2273
|
-
// Info about the first test in the current test
|
2274
|
-
const TestInfo* const first_test_info =
|
2308
|
+
// Info about the first test in the current test suite.
|
2309
|
+
const TestInfo* const first_test_info = test_suite->test_info_list()[0];
|
2275
2310
|
const internal::TypeId first_fixture_id = first_test_info->fixture_class_id_;
|
2276
2311
|
const char* const first_test_name = first_test_info->name();
|
2277
2312
|
|
@@ -2287,7 +2322,7 @@ bool Test::HasSameFixtureClass() {
|
|
2287
2322
|
const bool this_is_TEST = this_fixture_id == internal::GetTestTypeId();
|
2288
2323
|
|
2289
2324
|
if (first_is_TEST || this_is_TEST) {
|
2290
|
-
// Both TEST and TEST_F appear in same test
|
2325
|
+
// Both TEST and TEST_F appear in same test suite, which is incorrect.
|
2291
2326
|
// Tell the user how to fix this.
|
2292
2327
|
|
2293
2328
|
// Gets the name of the TEST and the name of the TEST_F. Note
|
@@ -2299,9 +2334,9 @@ bool Test::HasSameFixtureClass() {
|
|
2299
2334
|
first_is_TEST ? this_test_name : first_test_name;
|
2300
2335
|
|
2301
2336
|
ADD_FAILURE()
|
2302
|
-
<< "All tests in the same test
|
2303
|
-
<< "class, so mixing TEST_F and TEST in the same test
|
2304
|
-
<< "illegal. In test
|
2337
|
+
<< "All tests in the same test suite must use the same test fixture\n"
|
2338
|
+
<< "class, so mixing TEST_F and TEST in the same test suite is\n"
|
2339
|
+
<< "illegal. In test suite " << this_test_info->test_suite_name()
|
2305
2340
|
<< ",\n"
|
2306
2341
|
<< "test " << TEST_F_name << " is defined using TEST_F but\n"
|
2307
2342
|
<< "test " << TEST_name << " is defined using TEST. You probably\n"
|
@@ -2311,15 +2346,15 @@ bool Test::HasSameFixtureClass() {
|
|
2311
2346
|
// Two fixture classes with the same name appear in two different
|
2312
2347
|
// namespaces, which is not allowed. Tell the user how to fix this.
|
2313
2348
|
ADD_FAILURE()
|
2314
|
-
<< "All tests in the same test
|
2315
|
-
<< "class. However, in test
|
2316
|
-
<< this_test_info->
|
2317
|
-
<< "you defined test " << first_test_name
|
2318
|
-
<<
|
2349
|
+
<< "All tests in the same test suite must use the same test fixture\n"
|
2350
|
+
<< "class. However, in test suite "
|
2351
|
+
<< this_test_info->test_suite_name() << ",\n"
|
2352
|
+
<< "you defined test " << first_test_name << " and test "
|
2353
|
+
<< this_test_name << "\n"
|
2319
2354
|
<< "using two different test fixture classes. This can happen if\n"
|
2320
2355
|
<< "the two classes are from different namespaces or translation\n"
|
2321
2356
|
<< "units and have the same name. You should probably rename one\n"
|
2322
|
-
<< "of the classes to put the tests into different test
|
2357
|
+
<< "of the classes to put the tests into different test suites.";
|
2323
2358
|
}
|
2324
2359
|
return false;
|
2325
2360
|
}
|
@@ -2352,7 +2387,7 @@ namespace internal {
|
|
2352
2387
|
static std::string FormatCxxExceptionMessage(const char* description,
|
2353
2388
|
const char* location) {
|
2354
2389
|
Message message;
|
2355
|
-
if (description !=
|
2390
|
+
if (description != nullptr) {
|
2356
2391
|
message << "C++ exception with description \"" << description << "\"";
|
2357
2392
|
} else {
|
2358
2393
|
message << "Unknown C++ exception";
|
@@ -2436,6 +2471,8 @@ Result HandleExceptionsInMethodIfSupported(
|
|
2436
2471
|
#if GTEST_HAS_EXCEPTIONS
|
2437
2472
|
try {
|
2438
2473
|
return HandleSehExceptionsInMethodIfSupported(object, method, location);
|
2474
|
+
} catch (const AssertionException&) { // NOLINT
|
2475
|
+
// This failure was reported already.
|
2439
2476
|
} catch (const internal::GoogleTestFailureException&) { // NOLINT
|
2440
2477
|
// This exception type can only be thrown by a failed Google
|
2441
2478
|
// Test assertion with the intention of letting another testing
|
@@ -2448,7 +2485,7 @@ Result HandleExceptionsInMethodIfSupported(
|
|
2448
2485
|
} catch (...) { // NOLINT
|
2449
2486
|
internal::ReportFailureInUnknownLocation(
|
2450
2487
|
TestPartResult::kFatalFailure,
|
2451
|
-
FormatCxxExceptionMessage(
|
2488
|
+
FormatCxxExceptionMessage(nullptr, location));
|
2452
2489
|
}
|
2453
2490
|
return static_cast<Result>(0);
|
2454
2491
|
#else
|
@@ -2468,8 +2505,9 @@ void Test::Run() {
|
|
2468
2505
|
internal::UnitTestImpl* const impl = internal::GetUnitTestImpl();
|
2469
2506
|
impl->os_stack_trace_getter()->UponLeavingGTest();
|
2470
2507
|
internal::HandleExceptionsInMethodIfSupported(this, &Test::SetUp, "SetUp()");
|
2471
|
-
// We will run the test only if SetUp() was successful
|
2472
|
-
|
2508
|
+
// We will run the test only if SetUp() was successful and didn't call
|
2509
|
+
// GTEST_SKIP().
|
2510
|
+
if (!HasFatalFailure() && !IsSkipped()) {
|
2473
2511
|
impl->os_stack_trace_getter()->UponLeavingGTest();
|
2474
2512
|
internal::HandleExceptionsInMethodIfSupported(
|
2475
2513
|
this, &Test::TestBody, "the test body");
|
@@ -2494,21 +2532,25 @@ bool Test::HasNonfatalFailure() {
|
|
2494
2532
|
HasNonfatalFailure();
|
2495
2533
|
}
|
2496
2534
|
|
2535
|
+
// Returns true iff the current test was skipped.
|
2536
|
+
bool Test::IsSkipped() {
|
2537
|
+
return internal::GetUnitTestImpl()->current_test_result()->Skipped();
|
2538
|
+
}
|
2539
|
+
|
2497
2540
|
// class TestInfo
|
2498
2541
|
|
2499
2542
|
// Constructs a TestInfo object. It assumes ownership of the test factory
|
2500
2543
|
// object.
|
2501
|
-
TestInfo::TestInfo(const std::string&
|
2502
|
-
const std::string& a_name,
|
2503
|
-
const char* a_type_param,
|
2544
|
+
TestInfo::TestInfo(const std::string& a_test_suite_name,
|
2545
|
+
const std::string& a_name, const char* a_type_param,
|
2504
2546
|
const char* a_value_param,
|
2505
2547
|
internal::CodeLocation a_code_location,
|
2506
2548
|
internal::TypeId fixture_class_id,
|
2507
2549
|
internal::TestFactoryBase* factory)
|
2508
|
-
:
|
2550
|
+
: test_suite_name_(a_test_suite_name),
|
2509
2551
|
name_(a_name),
|
2510
|
-
type_param_(a_type_param ? new std::string(a_type_param) :
|
2511
|
-
value_param_(a_value_param ? new std::string(a_value_param) :
|
2552
|
+
type_param_(a_type_param ? new std::string(a_type_param) : nullptr),
|
2553
|
+
value_param_(a_value_param ? new std::string(a_value_param) : nullptr),
|
2512
2554
|
location_(a_code_location),
|
2513
2555
|
fixture_class_id_(fixture_class_id),
|
2514
2556
|
should_run_(false),
|
@@ -2527,7 +2569,7 @@ namespace internal {
|
|
2527
2569
|
//
|
2528
2570
|
// Arguments:
|
2529
2571
|
//
|
2530
|
-
//
|
2572
|
+
// test_suite_name: name of the test suite
|
2531
2573
|
// name: name of the test
|
2532
2574
|
// type_param: the name of the test's type parameter, or NULL if
|
2533
2575
|
// this is not a typed or a type-parameterized test.
|
@@ -2535,49 +2577,40 @@ namespace internal {
|
|
2535
2577
|
// or NULL if this is not a value-parameterized test.
|
2536
2578
|
// code_location: code location where the test is defined
|
2537
2579
|
// fixture_class_id: ID of the test fixture class
|
2538
|
-
// set_up_tc: pointer to the function that sets up the test
|
2539
|
-
// tear_down_tc: pointer to the function that tears down the test
|
2580
|
+
// set_up_tc: pointer to the function that sets up the test suite
|
2581
|
+
// tear_down_tc: pointer to the function that tears down the test suite
|
2540
2582
|
// factory: pointer to the factory that creates a test object.
|
2541
2583
|
// The newly created TestInfo instance will assume
|
2542
2584
|
// ownership of the factory object.
|
2543
2585
|
TestInfo* MakeAndRegisterTestInfo(
|
2544
|
-
const char*
|
2545
|
-
const char*
|
2546
|
-
|
2547
|
-
|
2548
|
-
CodeLocation code_location,
|
2549
|
-
TypeId fixture_class_id,
|
2550
|
-
SetUpTestCaseFunc set_up_tc,
|
2551
|
-
TearDownTestCaseFunc tear_down_tc,
|
2552
|
-
TestFactoryBase* factory) {
|
2586
|
+
const char* test_suite_name, const char* name, const char* type_param,
|
2587
|
+
const char* value_param, CodeLocation code_location,
|
2588
|
+
TypeId fixture_class_id, SetUpTestSuiteFunc set_up_tc,
|
2589
|
+
TearDownTestSuiteFunc tear_down_tc, TestFactoryBase* factory) {
|
2553
2590
|
TestInfo* const test_info =
|
2554
|
-
new TestInfo(
|
2591
|
+
new TestInfo(test_suite_name, name, type_param, value_param,
|
2555
2592
|
code_location, fixture_class_id, factory);
|
2556
2593
|
GetUnitTestImpl()->AddTestInfo(set_up_tc, tear_down_tc, test_info);
|
2557
2594
|
return test_info;
|
2558
2595
|
}
|
2559
2596
|
|
2560
|
-
|
2561
|
-
|
2562
|
-
CodeLocation code_location) {
|
2597
|
+
void ReportInvalidTestSuiteType(const char* test_suite_name,
|
2598
|
+
CodeLocation code_location) {
|
2563
2599
|
Message errors;
|
2564
2600
|
errors
|
2565
|
-
<< "Attempted redefinition of test
|
2566
|
-
<< "All tests in the same test
|
2567
|
-
<< "class. However, in test
|
2601
|
+
<< "Attempted redefinition of test suite " << test_suite_name << ".\n"
|
2602
|
+
<< "All tests in the same test suite must use the same test fixture\n"
|
2603
|
+
<< "class. However, in test suite " << test_suite_name << ", you tried\n"
|
2568
2604
|
<< "to define a test using a fixture class different from the one\n"
|
2569
2605
|
<< "used earlier. This can happen if the two fixture classes are\n"
|
2570
2606
|
<< "from different namespaces and have the same name. You should\n"
|
2571
2607
|
<< "probably rename one of the classes to put the tests into different\n"
|
2572
|
-
<< "test
|
2608
|
+
<< "test suites.";
|
2573
2609
|
|
2574
|
-
|
2575
|
-
|
2576
|
-
|
2577
|
-
errors.GetString().c_str());
|
2610
|
+
GTEST_LOG_(ERROR) << FormatFileLocation(code_location.file.c_str(),
|
2611
|
+
code_location.line)
|
2612
|
+
<< " " << errors.GetString();
|
2578
2613
|
}
|
2579
|
-
#endif // GTEST_HAS_PARAM_TEST
|
2580
|
-
|
2581
2614
|
} // namespace internal
|
2582
2615
|
|
2583
2616
|
namespace {
|
@@ -2585,7 +2618,7 @@ namespace {
|
|
2585
2618
|
// A predicate that checks the test name of a TestInfo against a known
|
2586
2619
|
// value.
|
2587
2620
|
//
|
2588
|
-
// This is used for implementation of the
|
2621
|
+
// This is used for implementation of the TestSuite class only. We put
|
2589
2622
|
// it in the anonymous namespace to prevent polluting the outer
|
2590
2623
|
// namespace.
|
2591
2624
|
//
|
@@ -2612,15 +2645,13 @@ class TestNameIs {
|
|
2612
2645
|
namespace internal {
|
2613
2646
|
|
2614
2647
|
// This method expands all parameterized tests registered with macros TEST_P
|
2615
|
-
// and
|
2648
|
+
// and INSTANTIATE_TEST_SUITE_P into regular tests and registers those.
|
2616
2649
|
// This will be done just once during the program runtime.
|
2617
2650
|
void UnitTestImpl::RegisterParameterizedTests() {
|
2618
|
-
#if GTEST_HAS_PARAM_TEST
|
2619
2651
|
if (!parameterized_tests_registered_) {
|
2620
2652
|
parameterized_test_registry_.RegisterTests();
|
2621
2653
|
parameterized_tests_registered_ = true;
|
2622
2654
|
}
|
2623
|
-
#endif
|
2624
2655
|
}
|
2625
2656
|
|
2626
2657
|
} // namespace internal
|
@@ -2648,18 +2679,21 @@ void TestInfo::Run() {
|
|
2648
2679
|
factory_, &internal::TestFactoryBase::CreateTest,
|
2649
2680
|
"the test fixture's constructor");
|
2650
2681
|
|
2651
|
-
// Runs the test
|
2652
|
-
//
|
2653
|
-
|
2682
|
+
// Runs the test if the constructor didn't generate a fatal failure or invoke
|
2683
|
+
// GTEST_SKIP().
|
2684
|
+
// Note that the object will not be null
|
2685
|
+
if (!Test::HasFatalFailure() && !Test::IsSkipped()) {
|
2654
2686
|
// This doesn't throw as all user code that can throw are wrapped into
|
2655
2687
|
// exception handling code.
|
2656
2688
|
test->Run();
|
2657
2689
|
}
|
2658
2690
|
|
2659
|
-
|
2660
|
-
|
2661
|
-
|
2662
|
-
|
2691
|
+
if (test != nullptr) {
|
2692
|
+
// Deletes the test object.
|
2693
|
+
impl->os_stack_trace_getter()->UponLeavingGTest();
|
2694
|
+
internal::HandleExceptionsInMethodIfSupported(
|
2695
|
+
test, &Test::DeleteSelf_, "the test fixture's destructor");
|
2696
|
+
}
|
2663
2697
|
|
2664
2698
|
result_.set_elapsed_time(internal::GetTimeInMillis() - start);
|
2665
2699
|
|
@@ -2668,106 +2702,116 @@ void TestInfo::Run() {
|
|
2668
2702
|
|
2669
2703
|
// Tells UnitTest to stop associating assertion results to this
|
2670
2704
|
// test.
|
2671
|
-
impl->set_current_test_info(
|
2705
|
+
impl->set_current_test_info(nullptr);
|
2672
2706
|
}
|
2673
2707
|
|
2674
|
-
// class
|
2708
|
+
// class TestSuite
|
2675
2709
|
|
2676
|
-
// Gets the number of successful tests in this test
|
2677
|
-
int
|
2710
|
+
// Gets the number of successful tests in this test suite.
|
2711
|
+
int TestSuite::successful_test_count() const {
|
2678
2712
|
return CountIf(test_info_list_, TestPassed);
|
2679
2713
|
}
|
2680
2714
|
|
2681
|
-
// Gets the number of
|
2682
|
-
int
|
2715
|
+
// Gets the number of successful tests in this test suite.
|
2716
|
+
int TestSuite::skipped_test_count() const {
|
2717
|
+
return CountIf(test_info_list_, TestSkipped);
|
2718
|
+
}
|
2719
|
+
|
2720
|
+
// Gets the number of failed tests in this test suite.
|
2721
|
+
int TestSuite::failed_test_count() const {
|
2683
2722
|
return CountIf(test_info_list_, TestFailed);
|
2684
2723
|
}
|
2685
2724
|
|
2686
2725
|
// Gets the number of disabled tests that will be reported in the XML report.
|
2687
|
-
int
|
2726
|
+
int TestSuite::reportable_disabled_test_count() const {
|
2688
2727
|
return CountIf(test_info_list_, TestReportableDisabled);
|
2689
2728
|
}
|
2690
2729
|
|
2691
|
-
// Gets the number of disabled tests in this test
|
2692
|
-
int
|
2730
|
+
// Gets the number of disabled tests in this test suite.
|
2731
|
+
int TestSuite::disabled_test_count() const {
|
2693
2732
|
return CountIf(test_info_list_, TestDisabled);
|
2694
2733
|
}
|
2695
2734
|
|
2696
2735
|
// Gets the number of tests to be printed in the XML report.
|
2697
|
-
int
|
2736
|
+
int TestSuite::reportable_test_count() const {
|
2698
2737
|
return CountIf(test_info_list_, TestReportable);
|
2699
2738
|
}
|
2700
2739
|
|
2701
|
-
// Get the number of tests in this test
|
2702
|
-
int
|
2740
|
+
// Get the number of tests in this test suite that should run.
|
2741
|
+
int TestSuite::test_to_run_count() const {
|
2703
2742
|
return CountIf(test_info_list_, ShouldRunTest);
|
2704
2743
|
}
|
2705
2744
|
|
2706
2745
|
// Gets the number of all tests.
|
2707
|
-
int
|
2746
|
+
int TestSuite::total_test_count() const {
|
2708
2747
|
return static_cast<int>(test_info_list_.size());
|
2709
2748
|
}
|
2710
2749
|
|
2711
|
-
// Creates a
|
2750
|
+
// Creates a TestSuite with the given name.
|
2712
2751
|
//
|
2713
2752
|
// Arguments:
|
2714
2753
|
//
|
2715
|
-
// name: name of the test
|
2716
|
-
// a_type_param: the name of the test
|
2717
|
-
// this is not a typed or a type-parameterized test
|
2718
|
-
// set_up_tc: pointer to the function that sets up the test
|
2719
|
-
// tear_down_tc: pointer to the function that tears down the test
|
2720
|
-
|
2721
|
-
|
2722
|
-
|
2754
|
+
// name: name of the test suite
|
2755
|
+
// a_type_param: the name of the test suite's type parameter, or NULL if
|
2756
|
+
// this is not a typed or a type-parameterized test suite.
|
2757
|
+
// set_up_tc: pointer to the function that sets up the test suite
|
2758
|
+
// tear_down_tc: pointer to the function that tears down the test suite
|
2759
|
+
TestSuite::TestSuite(const char* a_name, const char* a_type_param,
|
2760
|
+
internal::SetUpTestSuiteFunc set_up_tc,
|
2761
|
+
internal::TearDownTestSuiteFunc tear_down_tc)
|
2723
2762
|
: name_(a_name),
|
2724
|
-
type_param_(a_type_param ? new std::string(a_type_param) :
|
2763
|
+
type_param_(a_type_param ? new std::string(a_type_param) : nullptr),
|
2725
2764
|
set_up_tc_(set_up_tc),
|
2726
2765
|
tear_down_tc_(tear_down_tc),
|
2727
2766
|
should_run_(false),
|
2728
|
-
elapsed_time_(0) {
|
2729
|
-
}
|
2767
|
+
elapsed_time_(0) {}
|
2730
2768
|
|
2731
|
-
// Destructor of
|
2732
|
-
|
2769
|
+
// Destructor of TestSuite.
|
2770
|
+
TestSuite::~TestSuite() {
|
2733
2771
|
// Deletes every Test in the collection.
|
2734
2772
|
ForEach(test_info_list_, internal::Delete<TestInfo>);
|
2735
2773
|
}
|
2736
2774
|
|
2737
2775
|
// Returns the i-th test among all the tests. i can range from 0 to
|
2738
2776
|
// total_test_count() - 1. If i is not in that range, returns NULL.
|
2739
|
-
const TestInfo*
|
2777
|
+
const TestInfo* TestSuite::GetTestInfo(int i) const {
|
2740
2778
|
const int index = GetElementOr(test_indices_, i, -1);
|
2741
|
-
return index < 0 ?
|
2779
|
+
return index < 0 ? nullptr : test_info_list_[index];
|
2742
2780
|
}
|
2743
2781
|
|
2744
2782
|
// Returns the i-th test among all the tests. i can range from 0 to
|
2745
2783
|
// total_test_count() - 1. If i is not in that range, returns NULL.
|
2746
|
-
TestInfo*
|
2784
|
+
TestInfo* TestSuite::GetMutableTestInfo(int i) {
|
2747
2785
|
const int index = GetElementOr(test_indices_, i, -1);
|
2748
|
-
return index < 0 ?
|
2786
|
+
return index < 0 ? nullptr : test_info_list_[index];
|
2749
2787
|
}
|
2750
2788
|
|
2751
|
-
// Adds a test to this test
|
2752
|
-
// destruction of the
|
2753
|
-
void
|
2789
|
+
// Adds a test to this test suite. Will delete the test upon
|
2790
|
+
// destruction of the TestSuite object.
|
2791
|
+
void TestSuite::AddTestInfo(TestInfo* test_info) {
|
2754
2792
|
test_info_list_.push_back(test_info);
|
2755
2793
|
test_indices_.push_back(static_cast<int>(test_indices_.size()));
|
2756
2794
|
}
|
2757
2795
|
|
2758
|
-
// Runs every test in this
|
2759
|
-
void
|
2796
|
+
// Runs every test in this TestSuite.
|
2797
|
+
void TestSuite::Run() {
|
2760
2798
|
if (!should_run_) return;
|
2761
2799
|
|
2762
2800
|
internal::UnitTestImpl* const impl = internal::GetUnitTestImpl();
|
2763
|
-
impl->
|
2801
|
+
impl->set_current_test_suite(this);
|
2764
2802
|
|
2765
2803
|
TestEventListener* repeater = UnitTest::GetInstance()->listeners().repeater();
|
2766
2804
|
|
2805
|
+
// Call both legacy and the new API
|
2806
|
+
repeater->OnTestSuiteStart(*this);
|
2807
|
+
// Legacy API is deprecated but still available
|
2808
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
2767
2809
|
repeater->OnTestCaseStart(*this);
|
2810
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
2811
|
+
|
2768
2812
|
impl->os_stack_trace_getter()->UponLeavingGTest();
|
2769
2813
|
internal::HandleExceptionsInMethodIfSupported(
|
2770
|
-
this, &
|
2814
|
+
this, &TestSuite::RunSetUpTestSuite, "SetUpTestSuite()");
|
2771
2815
|
|
2772
2816
|
const internal::TimeInMillis start = internal::GetTimeInMillis();
|
2773
2817
|
for (int i = 0; i < total_test_count(); i++) {
|
@@ -2777,25 +2821,31 @@ void TestCase::Run() {
|
|
2777
2821
|
|
2778
2822
|
impl->os_stack_trace_getter()->UponLeavingGTest();
|
2779
2823
|
internal::HandleExceptionsInMethodIfSupported(
|
2780
|
-
this, &
|
2824
|
+
this, &TestSuite::RunTearDownTestSuite, "TearDownTestSuite()");
|
2781
2825
|
|
2826
|
+
// Call both legacy and the new API
|
2827
|
+
repeater->OnTestSuiteEnd(*this);
|
2828
|
+
// Legacy API is deprecated but still available
|
2829
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
2782
2830
|
repeater->OnTestCaseEnd(*this);
|
2783
|
-
|
2831
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
2832
|
+
|
2833
|
+
impl->set_current_test_suite(nullptr);
|
2784
2834
|
}
|
2785
2835
|
|
2786
|
-
// Clears the results of all tests in this test
|
2787
|
-
void
|
2836
|
+
// Clears the results of all tests in this test suite.
|
2837
|
+
void TestSuite::ClearResult() {
|
2788
2838
|
ad_hoc_test_result_.Clear();
|
2789
2839
|
ForEach(test_info_list_, TestInfo::ClearTestResult);
|
2790
2840
|
}
|
2791
2841
|
|
2792
|
-
// Shuffles the tests in this test
|
2793
|
-
void
|
2842
|
+
// Shuffles the tests in this test suite.
|
2843
|
+
void TestSuite::ShuffleTests(internal::Random* random) {
|
2794
2844
|
Shuffle(random, &test_indices_);
|
2795
2845
|
}
|
2796
2846
|
|
2797
2847
|
// Restores the test order to before the first shuffle.
|
2798
|
-
void
|
2848
|
+
void TestSuite::UnshuffleTests() {
|
2799
2849
|
for (size_t i = 0; i < test_indices_.size(); i++) {
|
2800
2850
|
test_indices_[i] = static_cast<int>(i);
|
2801
2851
|
}
|
@@ -2818,9 +2868,9 @@ static std::string FormatTestCount(int test_count) {
|
|
2818
2868
|
return FormatCountableNoun(test_count, "test", "tests");
|
2819
2869
|
}
|
2820
2870
|
|
2821
|
-
// Formats the count of test
|
2822
|
-
static std::string
|
2823
|
-
return FormatCountableNoun(
|
2871
|
+
// Formats the count of test suites.
|
2872
|
+
static std::string FormatTestSuiteCount(int test_suite_count) {
|
2873
|
+
return FormatCountableNoun(test_suite_count, "test suite", "test suites");
|
2824
2874
|
}
|
2825
2875
|
|
2826
2876
|
// Converts a TestPartResult::Type enum to human-friendly string
|
@@ -2829,6 +2879,8 @@ static std::string FormatTestCaseCount(int test_case_count) {
|
|
2829
2879
|
// between the two when viewing the test result.
|
2830
2880
|
static const char * TestPartResultTypeToString(TestPartResult::Type type) {
|
2831
2881
|
switch (type) {
|
2882
|
+
case TestPartResult::kSkip:
|
2883
|
+
return "Skipped";
|
2832
2884
|
case TestPartResult::kSuccess:
|
2833
2885
|
return "Success";
|
2834
2886
|
|
@@ -2876,19 +2928,11 @@ static void PrintTestPartResult(const TestPartResult& test_part_result) {
|
|
2876
2928
|
}
|
2877
2929
|
|
2878
2930
|
// class PrettyUnitTestResultPrinter
|
2879
|
-
|
2880
|
-
enum GTestColor {
|
2881
|
-
COLOR_DEFAULT,
|
2882
|
-
COLOR_RED,
|
2883
|
-
COLOR_GREEN,
|
2884
|
-
COLOR_YELLOW
|
2885
|
-
};
|
2886
|
-
|
2887
2931
|
#if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE && \
|
2888
|
-
!GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT
|
2932
|
+
!GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT && !GTEST_OS_WINDOWS_MINGW
|
2889
2933
|
|
2890
2934
|
// Returns the character attribute for the given color.
|
2891
|
-
WORD GetColorAttribute(GTestColor color) {
|
2935
|
+
static WORD GetColorAttribute(GTestColor color) {
|
2892
2936
|
switch (color) {
|
2893
2937
|
case COLOR_RED: return FOREGROUND_RED;
|
2894
2938
|
case COLOR_GREEN: return FOREGROUND_GREEN;
|
@@ -2897,17 +2941,49 @@ WORD GetColorAttribute(GTestColor color) {
|
|
2897
2941
|
}
|
2898
2942
|
}
|
2899
2943
|
|
2944
|
+
static int GetBitOffset(WORD color_mask) {
|
2945
|
+
if (color_mask == 0) return 0;
|
2946
|
+
|
2947
|
+
int bitOffset = 0;
|
2948
|
+
while ((color_mask & 1) == 0) {
|
2949
|
+
color_mask >>= 1;
|
2950
|
+
++bitOffset;
|
2951
|
+
}
|
2952
|
+
return bitOffset;
|
2953
|
+
}
|
2954
|
+
|
2955
|
+
static WORD GetNewColor(GTestColor color, WORD old_color_attrs) {
|
2956
|
+
// Let's reuse the BG
|
2957
|
+
static const WORD background_mask = BACKGROUND_BLUE | BACKGROUND_GREEN |
|
2958
|
+
BACKGROUND_RED | BACKGROUND_INTENSITY;
|
2959
|
+
static const WORD foreground_mask = FOREGROUND_BLUE | FOREGROUND_GREEN |
|
2960
|
+
FOREGROUND_RED | FOREGROUND_INTENSITY;
|
2961
|
+
const WORD existing_bg = old_color_attrs & background_mask;
|
2962
|
+
|
2963
|
+
WORD new_color =
|
2964
|
+
GetColorAttribute(color) | existing_bg | FOREGROUND_INTENSITY;
|
2965
|
+
static const int bg_bitOffset = GetBitOffset(background_mask);
|
2966
|
+
static const int fg_bitOffset = GetBitOffset(foreground_mask);
|
2967
|
+
|
2968
|
+
if (((new_color & background_mask) >> bg_bitOffset) ==
|
2969
|
+
((new_color & foreground_mask) >> fg_bitOffset)) {
|
2970
|
+
new_color ^= FOREGROUND_INTENSITY; // invert intensity
|
2971
|
+
}
|
2972
|
+
return new_color;
|
2973
|
+
}
|
2974
|
+
|
2900
2975
|
#else
|
2901
2976
|
|
2902
2977
|
// Returns the ANSI color code for the given color. COLOR_DEFAULT is
|
2903
2978
|
// an invalid input.
|
2904
|
-
const char* GetAnsiColorCode(GTestColor color) {
|
2979
|
+
static const char* GetAnsiColorCode(GTestColor color) {
|
2905
2980
|
switch (color) {
|
2906
2981
|
case COLOR_RED: return "1";
|
2907
2982
|
case COLOR_GREEN: return "2";
|
2908
2983
|
case COLOR_YELLOW: return "3";
|
2909
|
-
default:
|
2910
|
-
|
2984
|
+
default:
|
2985
|
+
return nullptr;
|
2986
|
+
}
|
2911
2987
|
}
|
2912
2988
|
|
2913
2989
|
#endif // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE
|
@@ -2917,7 +2993,7 @@ bool ShouldUseColor(bool stdout_is_tty) {
|
|
2917
2993
|
const char* const gtest_color = GTEST_FLAG(color).c_str();
|
2918
2994
|
|
2919
2995
|
if (String::CaseInsensitiveCStringEquals(gtest_color, "auto")) {
|
2920
|
-
#if GTEST_OS_WINDOWS
|
2996
|
+
#if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MINGW
|
2921
2997
|
// On Windows the TERM variable is usually not set, but the
|
2922
2998
|
// console there does support colors.
|
2923
2999
|
return stdout_is_tty;
|
@@ -2957,15 +3033,14 @@ void ColoredPrintf(GTestColor color, const char* fmt, ...) {
|
|
2957
3033
|
va_list args;
|
2958
3034
|
va_start(args, fmt);
|
2959
3035
|
|
2960
|
-
#if GTEST_OS_WINDOWS_MOBILE ||
|
2961
|
-
|
3036
|
+
#if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_ZOS || GTEST_OS_IOS || \
|
3037
|
+
GTEST_OS_WINDOWS_PHONE || GTEST_OS_WINDOWS_RT
|
2962
3038
|
const bool use_color = AlwaysFalse();
|
2963
3039
|
#else
|
2964
3040
|
static const bool in_color_mode =
|
2965
3041
|
ShouldUseColor(posix::IsATTY(posix::FileNo(stdout)) != 0);
|
2966
3042
|
const bool use_color = in_color_mode && (color != COLOR_DEFAULT);
|
2967
|
-
#endif // GTEST_OS_WINDOWS_MOBILE ||
|
2968
|
-
// The '!= 0' comparison is necessary to satisfy MSVC 7.1.
|
3043
|
+
#endif // GTEST_OS_WINDOWS_MOBILE || GTEST_OS_ZOS
|
2969
3044
|
|
2970
3045
|
if (!use_color) {
|
2971
3046
|
vprintf(fmt, args);
|
@@ -2974,20 +3049,21 @@ void ColoredPrintf(GTestColor color, const char* fmt, ...) {
|
|
2974
3049
|
}
|
2975
3050
|
|
2976
3051
|
#if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE && \
|
2977
|
-
!GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT
|
3052
|
+
!GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT && !GTEST_OS_WINDOWS_MINGW
|
2978
3053
|
const HANDLE stdout_handle = GetStdHandle(STD_OUTPUT_HANDLE);
|
2979
3054
|
|
2980
3055
|
// Gets the current text color.
|
2981
3056
|
CONSOLE_SCREEN_BUFFER_INFO buffer_info;
|
2982
3057
|
GetConsoleScreenBufferInfo(stdout_handle, &buffer_info);
|
2983
3058
|
const WORD old_color_attrs = buffer_info.wAttributes;
|
3059
|
+
const WORD new_color = GetNewColor(color, old_color_attrs);
|
2984
3060
|
|
2985
3061
|
// We need to flush the stream buffers into the console before each
|
2986
3062
|
// SetConsoleTextAttribute call lest it affect the text that is already
|
2987
3063
|
// printed but has not yet reached the console.
|
2988
3064
|
fflush(stdout);
|
2989
|
-
SetConsoleTextAttribute(stdout_handle,
|
2990
|
-
|
3065
|
+
SetConsoleTextAttribute(stdout_handle, new_color);
|
3066
|
+
|
2991
3067
|
vprintf(fmt, args);
|
2992
3068
|
|
2993
3069
|
fflush(stdout);
|
@@ -3001,23 +3077,22 @@ void ColoredPrintf(GTestColor color, const char* fmt, ...) {
|
|
3001
3077
|
va_end(args);
|
3002
3078
|
}
|
3003
3079
|
|
3004
|
-
// Text printed in Google Test's text output and --
|
3080
|
+
// Text printed in Google Test's text output and --gtest_list_tests
|
3005
3081
|
// output to label the type parameter and value parameter for a test.
|
3006
3082
|
static const char kTypeParamLabel[] = "TypeParam";
|
3007
3083
|
static const char kValueParamLabel[] = "GetParam()";
|
3008
3084
|
|
3009
|
-
void PrintFullTestCommentIfPresent(const TestInfo& test_info) {
|
3085
|
+
static void PrintFullTestCommentIfPresent(const TestInfo& test_info) {
|
3010
3086
|
const char* const type_param = test_info.type_param();
|
3011
3087
|
const char* const value_param = test_info.value_param();
|
3012
3088
|
|
3013
|
-
if (type_param !=
|
3089
|
+
if (type_param != nullptr || value_param != nullptr) {
|
3014
3090
|
printf(", where ");
|
3015
|
-
if (type_param !=
|
3091
|
+
if (type_param != nullptr) {
|
3016
3092
|
printf("%s = %s", kTypeParamLabel, type_param);
|
3017
|
-
if (value_param !=
|
3018
|
-
printf(" and ");
|
3093
|
+
if (value_param != nullptr) printf(" and ");
|
3019
3094
|
}
|
3020
|
-
if (value_param !=
|
3095
|
+
if (value_param != nullptr) {
|
3021
3096
|
printf("%s = %s", kValueParamLabel, value_param);
|
3022
3097
|
}
|
3023
3098
|
}
|
@@ -3029,27 +3104,28 @@ void PrintFullTestCommentIfPresent(const TestInfo& test_info) {
|
|
3029
3104
|
class PrettyUnitTestResultPrinter : public TestEventListener {
|
3030
3105
|
public:
|
3031
3106
|
PrettyUnitTestResultPrinter() {}
|
3032
|
-
static void PrintTestName(const char
|
3033
|
-
printf("%s.%s",
|
3107
|
+
static void PrintTestName(const char* test_suite, const char* test) {
|
3108
|
+
printf("%s.%s", test_suite, test);
|
3034
3109
|
}
|
3035
3110
|
|
3036
3111
|
// The following methods override what's in the TestEventListener class.
|
3037
|
-
|
3038
|
-
|
3039
|
-
|
3040
|
-
|
3041
|
-
|
3042
|
-
|
3043
|
-
|
3044
|
-
|
3045
|
-
|
3046
|
-
|
3047
|
-
|
3048
|
-
|
3049
|
-
|
3112
|
+
void OnTestProgramStart(const UnitTest& /*unit_test*/) override {}
|
3113
|
+
void OnTestIterationStart(const UnitTest& unit_test, int iteration) override;
|
3114
|
+
void OnEnvironmentsSetUpStart(const UnitTest& unit_test) override;
|
3115
|
+
void OnEnvironmentsSetUpEnd(const UnitTest& /*unit_test*/) override {}
|
3116
|
+
void OnTestCaseStart(const TestSuite& test_suite) override;
|
3117
|
+
void OnTestStart(const TestInfo& test_info) override;
|
3118
|
+
void OnTestPartResult(const TestPartResult& result) override;
|
3119
|
+
void OnTestEnd(const TestInfo& test_info) override;
|
3120
|
+
void OnTestCaseEnd(const TestSuite& test_suite) override;
|
3121
|
+
void OnEnvironmentsTearDownStart(const UnitTest& unit_test) override;
|
3122
|
+
void OnEnvironmentsTearDownEnd(const UnitTest& /*unit_test*/) override {}
|
3123
|
+
void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;
|
3124
|
+
void OnTestProgramEnd(const UnitTest& /*unit_test*/) override {}
|
3050
3125
|
|
3051
3126
|
private:
|
3052
3127
|
static void PrintFailedTests(const UnitTest& unit_test);
|
3128
|
+
static void PrintSkippedTests(const UnitTest& unit_test);
|
3053
3129
|
};
|
3054
3130
|
|
3055
3131
|
// Fired before each iteration of tests starts.
|
@@ -3084,7 +3160,7 @@ void PrettyUnitTestResultPrinter::OnTestIterationStart(
|
|
3084
3160
|
ColoredPrintf(COLOR_GREEN, "[==========] ");
|
3085
3161
|
printf("Running %s from %s.\n",
|
3086
3162
|
FormatTestCount(unit_test.test_to_run_count()).c_str(),
|
3087
|
-
|
3163
|
+
FormatTestSuiteCount(unit_test.test_suite_to_run_count()).c_str());
|
3088
3164
|
fflush(stdout);
|
3089
3165
|
}
|
3090
3166
|
|
@@ -3095,22 +3171,22 @@ void PrettyUnitTestResultPrinter::OnEnvironmentsSetUpStart(
|
|
3095
3171
|
fflush(stdout);
|
3096
3172
|
}
|
3097
3173
|
|
3098
|
-
void PrettyUnitTestResultPrinter::OnTestCaseStart(const
|
3174
|
+
void PrettyUnitTestResultPrinter::OnTestCaseStart(const TestSuite& test_suite) {
|
3099
3175
|
const std::string counts =
|
3100
|
-
FormatCountableNoun(
|
3176
|
+
FormatCountableNoun(test_suite.test_to_run_count(), "test", "tests");
|
3101
3177
|
ColoredPrintf(COLOR_GREEN, "[----------] ");
|
3102
|
-
printf("%s from %s", counts.c_str(),
|
3103
|
-
if (
|
3178
|
+
printf("%s from %s", counts.c_str(), test_suite.name());
|
3179
|
+
if (test_suite.type_param() == nullptr) {
|
3104
3180
|
printf("\n");
|
3105
3181
|
} else {
|
3106
|
-
printf(", where %s = %s\n", kTypeParamLabel,
|
3182
|
+
printf(", where %s = %s\n", kTypeParamLabel, test_suite.type_param());
|
3107
3183
|
}
|
3108
3184
|
fflush(stdout);
|
3109
3185
|
}
|
3110
3186
|
|
3111
3187
|
void PrettyUnitTestResultPrinter::OnTestStart(const TestInfo& test_info) {
|
3112
3188
|
ColoredPrintf(COLOR_GREEN, "[ RUN ] ");
|
3113
|
-
PrintTestName(test_info.
|
3189
|
+
PrintTestName(test_info.test_suite_name(), test_info.name());
|
3114
3190
|
printf("\n");
|
3115
3191
|
fflush(stdout);
|
3116
3192
|
}
|
@@ -3118,22 +3194,29 @@ void PrettyUnitTestResultPrinter::OnTestStart(const TestInfo& test_info) {
|
|
3118
3194
|
// Called after an assertion failure.
|
3119
3195
|
void PrettyUnitTestResultPrinter::OnTestPartResult(
|
3120
3196
|
const TestPartResult& result) {
|
3121
|
-
|
3122
|
-
|
3123
|
-
|
3124
|
-
|
3125
|
-
|
3126
|
-
|
3127
|
-
|
3197
|
+
switch (result.type()) {
|
3198
|
+
// If the test part succeeded, or was skipped,
|
3199
|
+
// we don't need to do anything.
|
3200
|
+
case TestPartResult::kSkip:
|
3201
|
+
case TestPartResult::kSuccess:
|
3202
|
+
return;
|
3203
|
+
default:
|
3204
|
+
// Print failure message from the assertion
|
3205
|
+
// (e.g. expected this and got that).
|
3206
|
+
PrintTestPartResult(result);
|
3207
|
+
fflush(stdout);
|
3208
|
+
}
|
3128
3209
|
}
|
3129
3210
|
|
3130
3211
|
void PrettyUnitTestResultPrinter::OnTestEnd(const TestInfo& test_info) {
|
3131
3212
|
if (test_info.result()->Passed()) {
|
3132
3213
|
ColoredPrintf(COLOR_GREEN, "[ OK ] ");
|
3214
|
+
} else if (test_info.result()->Skipped()) {
|
3215
|
+
ColoredPrintf(COLOR_GREEN, "[ SKIPPED ] ");
|
3133
3216
|
} else {
|
3134
3217
|
ColoredPrintf(COLOR_RED, "[ FAILED ] ");
|
3135
3218
|
}
|
3136
|
-
PrintTestName(test_info.
|
3219
|
+
PrintTestName(test_info.test_suite_name(), test_info.name());
|
3137
3220
|
if (test_info.result()->Failed())
|
3138
3221
|
PrintFullTestCommentIfPresent(test_info);
|
3139
3222
|
|
@@ -3146,15 +3229,14 @@ void PrettyUnitTestResultPrinter::OnTestEnd(const TestInfo& test_info) {
|
|
3146
3229
|
fflush(stdout);
|
3147
3230
|
}
|
3148
3231
|
|
3149
|
-
void PrettyUnitTestResultPrinter::OnTestCaseEnd(const
|
3232
|
+
void PrettyUnitTestResultPrinter::OnTestCaseEnd(const TestSuite& test_suite) {
|
3150
3233
|
if (!GTEST_FLAG(print_time)) return;
|
3151
3234
|
|
3152
3235
|
const std::string counts =
|
3153
|
-
FormatCountableNoun(
|
3236
|
+
FormatCountableNoun(test_suite.test_to_run_count(), "test", "tests");
|
3154
3237
|
ColoredPrintf(COLOR_GREEN, "[----------] ");
|
3155
|
-
printf("%s from %s (%s ms total)\n\n",
|
3156
|
-
|
3157
|
-
internal::StreamableToString(test_case.elapsed_time()).c_str());
|
3238
|
+
printf("%s from %s (%s ms total)\n\n", counts.c_str(), test_suite.name(),
|
3239
|
+
internal::StreamableToString(test_suite.elapsed_time()).c_str());
|
3158
3240
|
fflush(stdout);
|
3159
3241
|
}
|
3160
3242
|
|
@@ -3172,30 +3254,54 @@ void PrettyUnitTestResultPrinter::PrintFailedTests(const UnitTest& unit_test) {
|
|
3172
3254
|
return;
|
3173
3255
|
}
|
3174
3256
|
|
3175
|
-
for (int i = 0; i < unit_test.
|
3176
|
-
const
|
3177
|
-
if (!
|
3257
|
+
for (int i = 0; i < unit_test.total_test_suite_count(); ++i) {
|
3258
|
+
const TestSuite& test_suite = *unit_test.GetTestSuite(i);
|
3259
|
+
if (!test_suite.should_run() || (test_suite.failed_test_count() == 0)) {
|
3178
3260
|
continue;
|
3179
3261
|
}
|
3180
|
-
for (int j = 0; j <
|
3181
|
-
const TestInfo& test_info = *
|
3182
|
-
if (!test_info.should_run() || test_info.result()->
|
3262
|
+
for (int j = 0; j < test_suite.total_test_count(); ++j) {
|
3263
|
+
const TestInfo& test_info = *test_suite.GetTestInfo(j);
|
3264
|
+
if (!test_info.should_run() || !test_info.result()->Failed()) {
|
3183
3265
|
continue;
|
3184
3266
|
}
|
3185
3267
|
ColoredPrintf(COLOR_RED, "[ FAILED ] ");
|
3186
|
-
printf("%s.%s",
|
3268
|
+
printf("%s.%s", test_suite.name(), test_info.name());
|
3187
3269
|
PrintFullTestCommentIfPresent(test_info);
|
3188
3270
|
printf("\n");
|
3189
3271
|
}
|
3190
3272
|
}
|
3191
3273
|
}
|
3192
3274
|
|
3275
|
+
// Internal helper for printing the list of skipped tests.
|
3276
|
+
void PrettyUnitTestResultPrinter::PrintSkippedTests(const UnitTest& unit_test) {
|
3277
|
+
const int skipped_test_count = unit_test.skipped_test_count();
|
3278
|
+
if (skipped_test_count == 0) {
|
3279
|
+
return;
|
3280
|
+
}
|
3281
|
+
|
3282
|
+
for (int i = 0; i < unit_test.total_test_suite_count(); ++i) {
|
3283
|
+
const TestSuite& test_suite = *unit_test.GetTestSuite(i);
|
3284
|
+
if (!test_suite.should_run() || (test_suite.skipped_test_count() == 0)) {
|
3285
|
+
continue;
|
3286
|
+
}
|
3287
|
+
for (int j = 0; j < test_suite.total_test_count(); ++j) {
|
3288
|
+
const TestInfo& test_info = *test_suite.GetTestInfo(j);
|
3289
|
+
if (!test_info.should_run() || !test_info.result()->Skipped()) {
|
3290
|
+
continue;
|
3291
|
+
}
|
3292
|
+
ColoredPrintf(COLOR_GREEN, "[ SKIPPED ] ");
|
3293
|
+
printf("%s.%s", test_suite.name(), test_info.name());
|
3294
|
+
printf("\n");
|
3295
|
+
}
|
3296
|
+
}
|
3297
|
+
}
|
3298
|
+
|
3193
3299
|
void PrettyUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
|
3194
3300
|
int /*iteration*/) {
|
3195
3301
|
ColoredPrintf(COLOR_GREEN, "[==========] ");
|
3196
3302
|
printf("%s from %s ran.",
|
3197
3303
|
FormatTestCount(unit_test.test_to_run_count()).c_str(),
|
3198
|
-
|
3304
|
+
FormatTestSuiteCount(unit_test.test_suite_to_run_count()).c_str());
|
3199
3305
|
if (GTEST_FLAG(print_time)) {
|
3200
3306
|
printf(" (%s ms total)",
|
3201
3307
|
internal::StreamableToString(unit_test.elapsed_time()).c_str());
|
@@ -3204,6 +3310,13 @@ void PrettyUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
|
|
3204
3310
|
ColoredPrintf(COLOR_GREEN, "[ PASSED ] ");
|
3205
3311
|
printf("%s.\n", FormatTestCount(unit_test.successful_test_count()).c_str());
|
3206
3312
|
|
3313
|
+
const int skipped_test_count = unit_test.skipped_test_count();
|
3314
|
+
if (skipped_test_count > 0) {
|
3315
|
+
ColoredPrintf(COLOR_GREEN, "[ SKIPPED ] ");
|
3316
|
+
printf("%s, listed below:\n", FormatTestCount(skipped_test_count).c_str());
|
3317
|
+
PrintSkippedTests(unit_test);
|
3318
|
+
}
|
3319
|
+
|
3207
3320
|
int num_failures = unit_test.failed_test_count();
|
3208
3321
|
if (!unit_test.Passed()) {
|
3209
3322
|
const int failed_test_count = unit_test.failed_test_count();
|
@@ -3236,7 +3349,7 @@ void PrettyUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
|
|
3236
3349
|
class TestEventRepeater : public TestEventListener {
|
3237
3350
|
public:
|
3238
3351
|
TestEventRepeater() : forwarding_enabled_(true) {}
|
3239
|
-
|
3352
|
+
~TestEventRepeater() override;
|
3240
3353
|
void Append(TestEventListener *listener);
|
3241
3354
|
TestEventListener* Release(TestEventListener* listener);
|
3242
3355
|
|
@@ -3245,19 +3358,27 @@ class TestEventRepeater : public TestEventListener {
|
|
3245
3358
|
bool forwarding_enabled() const { return forwarding_enabled_; }
|
3246
3359
|
void set_forwarding_enabled(bool enable) { forwarding_enabled_ = enable; }
|
3247
3360
|
|
3248
|
-
|
3249
|
-
|
3250
|
-
|
3251
|
-
|
3252
|
-
|
3253
|
-
|
3254
|
-
|
3255
|
-
|
3256
|
-
|
3257
|
-
|
3258
|
-
|
3259
|
-
|
3260
|
-
|
3361
|
+
void OnTestProgramStart(const UnitTest& unit_test) override;
|
3362
|
+
void OnTestIterationStart(const UnitTest& unit_test, int iteration) override;
|
3363
|
+
void OnEnvironmentsSetUpStart(const UnitTest& unit_test) override;
|
3364
|
+
void OnEnvironmentsSetUpEnd(const UnitTest& unit_test) override;
|
3365
|
+
// Legacy API is deprecated but still available
|
3366
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
3367
|
+
void OnTestCaseStart(const TestSuite& parameter) override;
|
3368
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
3369
|
+
void OnTestSuiteStart(const TestSuite& parameter) override;
|
3370
|
+
void OnTestStart(const TestInfo& test_info) override;
|
3371
|
+
void OnTestPartResult(const TestPartResult& result) override;
|
3372
|
+
void OnTestEnd(const TestInfo& test_info) override;
|
3373
|
+
// Legacy API is deprecated but still available
|
3374
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
3375
|
+
void OnTestCaseEnd(const TestSuite& parameter) override;
|
3376
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI
|
3377
|
+
void OnTestSuiteEnd(const TestSuite& parameter) override;
|
3378
|
+
void OnEnvironmentsTearDownStart(const UnitTest& unit_test) override;
|
3379
|
+
void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) override;
|
3380
|
+
void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;
|
3381
|
+
void OnTestProgramEnd(const UnitTest& unit_test) override;
|
3261
3382
|
|
3262
3383
|
private:
|
3263
3384
|
// Controls whether events will be forwarded to listeners_. Set to false
|
@@ -3277,7 +3398,6 @@ void TestEventRepeater::Append(TestEventListener *listener) {
|
|
3277
3398
|
listeners_.push_back(listener);
|
3278
3399
|
}
|
3279
3400
|
|
3280
|
-
// TODO(vladl@google.com): Factor the search functionality into Vector::Find.
|
3281
3401
|
TestEventListener* TestEventRepeater::Release(TestEventListener *listener) {
|
3282
3402
|
for (size_t i = 0; i < listeners_.size(); ++i) {
|
3283
3403
|
if (listeners_[i] == listener) {
|
@@ -3286,7 +3406,7 @@ TestEventListener* TestEventRepeater::Release(TestEventListener *listener) {
|
|
3286
3406
|
}
|
3287
3407
|
}
|
3288
3408
|
|
3289
|
-
return
|
3409
|
+
return nullptr;
|
3290
3410
|
}
|
3291
3411
|
|
3292
3412
|
// Since most methods are very similar, use macros to reduce boilerplate.
|
@@ -3312,14 +3432,22 @@ void TestEventRepeater::Name(const Type& parameter) { \
|
|
3312
3432
|
|
3313
3433
|
GTEST_REPEATER_METHOD_(OnTestProgramStart, UnitTest)
|
3314
3434
|
GTEST_REPEATER_METHOD_(OnEnvironmentsSetUpStart, UnitTest)
|
3315
|
-
|
3435
|
+
// Legacy API is deprecated but still available
|
3436
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
3437
|
+
GTEST_REPEATER_METHOD_(OnTestCaseStart, TestSuite)
|
3438
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
3439
|
+
GTEST_REPEATER_METHOD_(OnTestSuiteStart, TestSuite)
|
3316
3440
|
GTEST_REPEATER_METHOD_(OnTestStart, TestInfo)
|
3317
3441
|
GTEST_REPEATER_METHOD_(OnTestPartResult, TestPartResult)
|
3318
3442
|
GTEST_REPEATER_METHOD_(OnEnvironmentsTearDownStart, UnitTest)
|
3319
3443
|
GTEST_REVERSE_REPEATER_METHOD_(OnEnvironmentsSetUpEnd, UnitTest)
|
3320
3444
|
GTEST_REVERSE_REPEATER_METHOD_(OnEnvironmentsTearDownEnd, UnitTest)
|
3321
3445
|
GTEST_REVERSE_REPEATER_METHOD_(OnTestEnd, TestInfo)
|
3322
|
-
|
3446
|
+
// Legacy API is deprecated but still available
|
3447
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
3448
|
+
GTEST_REVERSE_REPEATER_METHOD_(OnTestCaseEnd, TestSuite)
|
3449
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
3450
|
+
GTEST_REVERSE_REPEATER_METHOD_(OnTestSuiteEnd, TestSuite)
|
3323
3451
|
GTEST_REVERSE_REPEATER_METHOD_(OnTestProgramEnd, UnitTest)
|
3324
3452
|
|
3325
3453
|
#undef GTEST_REPEATER_METHOD_
|
@@ -3350,7 +3478,12 @@ class XmlUnitTestResultPrinter : public EmptyTestEventListener {
|
|
3350
3478
|
public:
|
3351
3479
|
explicit XmlUnitTestResultPrinter(const char* output_file);
|
3352
3480
|
|
3353
|
-
|
3481
|
+
void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;
|
3482
|
+
void ListTestsMatchingFilter(const std::vector<TestSuite*>& test_suites);
|
3483
|
+
|
3484
|
+
// Prints an XML summary of all unit tests.
|
3485
|
+
static void PrintXmlTestsList(std::ostream* stream,
|
3486
|
+
const std::vector<TestSuite*>& test_suites);
|
3354
3487
|
|
3355
3488
|
private:
|
3356
3489
|
// Is c a whitespace character that is normalized to a space character
|
@@ -3395,12 +3528,12 @@ class XmlUnitTestResultPrinter : public EmptyTestEventListener {
|
|
3395
3528
|
|
3396
3529
|
// Streams an XML representation of a TestInfo object.
|
3397
3530
|
static void OutputXmlTestInfo(::std::ostream* stream,
|
3398
|
-
const char*
|
3531
|
+
const char* test_suite_name,
|
3399
3532
|
const TestInfo& test_info);
|
3400
3533
|
|
3401
|
-
// Prints an XML representation of a
|
3402
|
-
static void
|
3403
|
-
|
3534
|
+
// Prints an XML representation of a TestSuite object
|
3535
|
+
static void PrintXmlTestSuite(::std::ostream* stream,
|
3536
|
+
const TestSuite& test_suite);
|
3404
3537
|
|
3405
3538
|
// Prints an XML summary of unit_test to output stream out.
|
3406
3539
|
static void PrintXmlUnitTest(::std::ostream* stream,
|
@@ -3412,6 +3545,11 @@ class XmlUnitTestResultPrinter : public EmptyTestEventListener {
|
|
3412
3545
|
// to delimit this attribute from prior attributes.
|
3413
3546
|
static std::string TestPropertiesAsXmlAttributes(const TestResult& result);
|
3414
3547
|
|
3548
|
+
// Streams an XML representation of the test properties of a TestResult
|
3549
|
+
// object.
|
3550
|
+
static void OutputXmlTestProperties(std::ostream* stream,
|
3551
|
+
const TestResult& result);
|
3552
|
+
|
3415
3553
|
// The output file.
|
3416
3554
|
const std::string output_file_;
|
3417
3555
|
|
@@ -3421,46 +3559,30 @@ class XmlUnitTestResultPrinter : public EmptyTestEventListener {
|
|
3421
3559
|
// Creates a new XmlUnitTestResultPrinter.
|
3422
3560
|
XmlUnitTestResultPrinter::XmlUnitTestResultPrinter(const char* output_file)
|
3423
3561
|
: output_file_(output_file) {
|
3424
|
-
if (output_file_.
|
3425
|
-
|
3426
|
-
fflush(stderr);
|
3427
|
-
exit(EXIT_FAILURE);
|
3562
|
+
if (output_file_.empty()) {
|
3563
|
+
GTEST_LOG_(FATAL) << "XML output file may not be null";
|
3428
3564
|
}
|
3429
3565
|
}
|
3430
3566
|
|
3431
3567
|
// Called after the unit test ends.
|
3432
3568
|
void XmlUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
|
3433
3569
|
int /*iteration*/) {
|
3434
|
-
FILE* xmlout =
|
3435
|
-
FilePath output_file(output_file_);
|
3436
|
-
FilePath output_dir(output_file.RemoveFileName());
|
3437
|
-
|
3438
|
-
if (output_dir.CreateDirectoriesRecursively()) {
|
3439
|
-
xmlout = posix::FOpen(output_file_.c_str(), "w");
|
3440
|
-
}
|
3441
|
-
if (xmlout == NULL) {
|
3442
|
-
// TODO(wan): report the reason of the failure.
|
3443
|
-
//
|
3444
|
-
// We don't do it for now as:
|
3445
|
-
//
|
3446
|
-
// 1. There is no urgent need for it.
|
3447
|
-
// 2. It's a bit involved to make the errno variable thread-safe on
|
3448
|
-
// all three operating systems (Linux, Windows, and Mac OS).
|
3449
|
-
// 3. To interpret the meaning of errno in a thread-safe way,
|
3450
|
-
// we need the strerror_r() function, which is not available on
|
3451
|
-
// Windows.
|
3452
|
-
fprintf(stderr,
|
3453
|
-
"Unable to open file \"%s\"\n",
|
3454
|
-
output_file_.c_str());
|
3455
|
-
fflush(stderr);
|
3456
|
-
exit(EXIT_FAILURE);
|
3457
|
-
}
|
3570
|
+
FILE* xmlout = OpenFileForWriting(output_file_);
|
3458
3571
|
std::stringstream stream;
|
3459
3572
|
PrintXmlUnitTest(&stream, unit_test);
|
3460
3573
|
fprintf(xmlout, "%s", StringStreamToString(&stream).c_str());
|
3461
3574
|
fclose(xmlout);
|
3462
3575
|
}
|
3463
3576
|
|
3577
|
+
void XmlUnitTestResultPrinter::ListTestsMatchingFilter(
|
3578
|
+
const std::vector<TestSuite*>& test_suites) {
|
3579
|
+
FILE* xmlout = OpenFileForWriting(output_file_);
|
3580
|
+
std::stringstream stream;
|
3581
|
+
PrintXmlTestsList(&stream, test_suites);
|
3582
|
+
fprintf(xmlout, "%s", StringStreamToString(&stream).c_str());
|
3583
|
+
fclose(xmlout);
|
3584
|
+
}
|
3585
|
+
|
3464
3586
|
// Returns an XML-escaped copy of the input string str. If is_attribute
|
3465
3587
|
// is true, the text is meant to appear as an attribute value, and
|
3466
3588
|
// normalizable whitespace is preserved by replacing it with character
|
@@ -3471,8 +3593,6 @@ void XmlUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
|
|
3471
3593
|
// module will consist of ordinary English text.
|
3472
3594
|
// If this module is ever modified to produce version 1.1 XML output,
|
3473
3595
|
// most invalid characters can be retained using character references.
|
3474
|
-
// TODO(wan): It might be nice to have a minimally invasive, human-readable
|
3475
|
-
// escaping scheme for invalid characters, rather than dropping them.
|
3476
3596
|
std::string XmlUnitTestResultPrinter::EscapeXml(
|
3477
3597
|
const std::string& str, bool is_attribute) {
|
3478
3598
|
Message m;
|
@@ -3532,11 +3652,12 @@ std::string XmlUnitTestResultPrinter::RemoveInvalidXmlCharacters(
|
|
3532
3652
|
|
3533
3653
|
// The following routines generate an XML representation of a UnitTest
|
3534
3654
|
// object.
|
3655
|
+
// GOOGLETEST_CM0009 DO NOT DELETE
|
3535
3656
|
//
|
3536
3657
|
// This is how Google Test concepts map to the DTD:
|
3537
3658
|
//
|
3538
3659
|
// <testsuites name="AllTests"> <-- corresponds to a UnitTest object
|
3539
|
-
// <testsuite name="testcase-name"> <-- corresponds to a
|
3660
|
+
// <testsuite name="testcase-name"> <-- corresponds to a TestSuite object
|
3540
3661
|
// <testcase name="test-name"> <-- corresponds to a TestInfo object
|
3541
3662
|
// <failure message="...">...</failure>
|
3542
3663
|
// <failure message="...">...</failure>
|
@@ -3560,12 +3681,11 @@ static bool PortableLocaltime(time_t seconds, struct tm* out) {
|
|
3560
3681
|
// MINGW <time.h> provides neither localtime_r nor localtime_s, but uses
|
3561
3682
|
// Windows' localtime(), which has a thread-local tm buffer.
|
3562
3683
|
struct tm* tm_ptr = localtime(&seconds); // NOLINT
|
3563
|
-
if (tm_ptr ==
|
3564
|
-
return false;
|
3684
|
+
if (tm_ptr == nullptr) return false;
|
3565
3685
|
*out = *tm_ptr;
|
3566
3686
|
return true;
|
3567
3687
|
#else
|
3568
|
-
return localtime_r(&seconds, out) !=
|
3688
|
+
return localtime_r(&seconds, out) != nullptr;
|
3569
3689
|
#endif
|
3570
3690
|
}
|
3571
3691
|
|
@@ -3591,7 +3711,7 @@ void XmlUnitTestResultPrinter::OutputXmlCDataSection(::std::ostream* stream,
|
|
3591
3711
|
*stream << "<![CDATA[";
|
3592
3712
|
for (;;) {
|
3593
3713
|
const char* const next_segment = strstr(segment, "]]>");
|
3594
|
-
if (next_segment !=
|
3714
|
+
if (next_segment != nullptr) {
|
3595
3715
|
stream->write(
|
3596
3716
|
segment, static_cast<std::streamsize>(next_segment - segment));
|
3597
3717
|
*stream << "]]>]]><![CDATA[";
|
@@ -3610,7 +3730,7 @@ void XmlUnitTestResultPrinter::OutputXmlAttribute(
|
|
3610
3730
|
const std::string& name,
|
3611
3731
|
const std::string& value) {
|
3612
3732
|
const std::vector<std::string>& allowed_names =
|
3613
|
-
|
3733
|
+
GetReservedOutputAttributesForElement(element_name);
|
3614
3734
|
|
3615
3735
|
GTEST_CHECK_(std::find(allowed_names.begin(), allowed_names.end(), name) !=
|
3616
3736
|
allowed_names.end())
|
@@ -3621,30 +3741,44 @@ void XmlUnitTestResultPrinter::OutputXmlAttribute(
|
|
3621
3741
|
}
|
3622
3742
|
|
3623
3743
|
// Prints an XML representation of a TestInfo object.
|
3624
|
-
// TODO(wan): There is also value in printing properties with the plain printer.
|
3625
3744
|
void XmlUnitTestResultPrinter::OutputXmlTestInfo(::std::ostream* stream,
|
3626
|
-
const char*
|
3745
|
+
const char* test_suite_name,
|
3627
3746
|
const TestInfo& test_info) {
|
3628
3747
|
const TestResult& result = *test_info.result();
|
3629
|
-
const std::string
|
3748
|
+
const std::string kTestsuite = "testcase";
|
3749
|
+
|
3750
|
+
if (test_info.is_in_another_shard()) {
|
3751
|
+
return;
|
3752
|
+
}
|
3630
3753
|
|
3631
3754
|
*stream << " <testcase";
|
3632
|
-
OutputXmlAttribute(stream,
|
3755
|
+
OutputXmlAttribute(stream, kTestsuite, "name", test_info.name());
|
3633
3756
|
|
3634
|
-
if (test_info.value_param() !=
|
3635
|
-
OutputXmlAttribute(stream,
|
3757
|
+
if (test_info.value_param() != nullptr) {
|
3758
|
+
OutputXmlAttribute(stream, kTestsuite, "value_param",
|
3636
3759
|
test_info.value_param());
|
3637
3760
|
}
|
3638
|
-
if (test_info.type_param() !=
|
3639
|
-
OutputXmlAttribute(stream,
|
3761
|
+
if (test_info.type_param() != nullptr) {
|
3762
|
+
OutputXmlAttribute(stream, kTestsuite, "type_param",
|
3763
|
+
test_info.type_param());
|
3764
|
+
}
|
3765
|
+
if (GTEST_FLAG(list_tests)) {
|
3766
|
+
OutputXmlAttribute(stream, kTestsuite, "file", test_info.file());
|
3767
|
+
OutputXmlAttribute(stream, kTestsuite, "line",
|
3768
|
+
StreamableToString(test_info.line()));
|
3769
|
+
*stream << " />\n";
|
3770
|
+
return;
|
3640
3771
|
}
|
3641
3772
|
|
3642
|
-
OutputXmlAttribute(stream,
|
3773
|
+
OutputXmlAttribute(stream, kTestsuite, "status",
|
3643
3774
|
test_info.should_run() ? "run" : "notrun");
|
3644
|
-
OutputXmlAttribute(stream,
|
3775
|
+
OutputXmlAttribute(stream, kTestsuite, "result",
|
3776
|
+
test_info.should_run()
|
3777
|
+
? (result.Skipped() ? "skipped" : "completed")
|
3778
|
+
: "suppressed");
|
3779
|
+
OutputXmlAttribute(stream, kTestsuite, "time",
|
3645
3780
|
FormatTimeInMillisAsSeconds(result.elapsed_time()));
|
3646
|
-
OutputXmlAttribute(stream,
|
3647
|
-
*stream << TestPropertiesAsXmlAttributes(result);
|
3781
|
+
OutputXmlAttribute(stream, kTestsuite, "classname", test_suite_name);
|
3648
3782
|
|
3649
3783
|
int failures = 0;
|
3650
3784
|
for (int i = 0; i < result.total_part_count(); ++i) {
|
@@ -3653,46 +3787,53 @@ void XmlUnitTestResultPrinter::OutputXmlTestInfo(::std::ostream* stream,
|
|
3653
3787
|
if (++failures == 1) {
|
3654
3788
|
*stream << ">\n";
|
3655
3789
|
}
|
3656
|
-
const string location =
|
3657
|
-
part.file_name(),
|
3658
|
-
|
3790
|
+
const std::string location =
|
3791
|
+
internal::FormatCompilerIndependentFileLocation(part.file_name(),
|
3792
|
+
part.line_number());
|
3793
|
+
const std::string summary = location + "\n" + part.summary();
|
3659
3794
|
*stream << " <failure message=\""
|
3660
3795
|
<< EscapeXmlAttribute(summary.c_str())
|
3661
3796
|
<< "\" type=\"\">";
|
3662
|
-
const string detail = location + "\n" + part.message();
|
3797
|
+
const std::string detail = location + "\n" + part.message();
|
3663
3798
|
OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());
|
3664
3799
|
*stream << "</failure>\n";
|
3665
3800
|
}
|
3666
3801
|
}
|
3667
3802
|
|
3668
|
-
if (failures == 0)
|
3803
|
+
if (failures == 0 && result.test_property_count() == 0) {
|
3669
3804
|
*stream << " />\n";
|
3670
|
-
else
|
3805
|
+
} else {
|
3806
|
+
if (failures == 0) {
|
3807
|
+
*stream << ">\n";
|
3808
|
+
}
|
3809
|
+
OutputXmlTestProperties(stream, result);
|
3671
3810
|
*stream << " </testcase>\n";
|
3811
|
+
}
|
3672
3812
|
}
|
3673
3813
|
|
3674
|
-
// Prints an XML representation of a
|
3675
|
-
void XmlUnitTestResultPrinter::
|
3676
|
-
|
3814
|
+
// Prints an XML representation of a TestSuite object
|
3815
|
+
void XmlUnitTestResultPrinter::PrintXmlTestSuite(std::ostream* stream,
|
3816
|
+
const TestSuite& test_suite) {
|
3677
3817
|
const std::string kTestsuite = "testsuite";
|
3678
3818
|
*stream << " <" << kTestsuite;
|
3679
|
-
OutputXmlAttribute(stream, kTestsuite, "name",
|
3819
|
+
OutputXmlAttribute(stream, kTestsuite, "name", test_suite.name());
|
3680
3820
|
OutputXmlAttribute(stream, kTestsuite, "tests",
|
3681
|
-
StreamableToString(
|
3682
|
-
|
3683
|
-
|
3684
|
-
|
3685
|
-
|
3686
|
-
|
3687
|
-
|
3688
|
-
|
3689
|
-
|
3690
|
-
|
3691
|
-
|
3692
|
-
|
3693
|
-
|
3694
|
-
|
3695
|
-
|
3821
|
+
StreamableToString(test_suite.reportable_test_count()));
|
3822
|
+
if (!GTEST_FLAG(list_tests)) {
|
3823
|
+
OutputXmlAttribute(stream, kTestsuite, "failures",
|
3824
|
+
StreamableToString(test_suite.failed_test_count()));
|
3825
|
+
OutputXmlAttribute(
|
3826
|
+
stream, kTestsuite, "disabled",
|
3827
|
+
StreamableToString(test_suite.reportable_disabled_test_count()));
|
3828
|
+
OutputXmlAttribute(stream, kTestsuite, "errors", "0");
|
3829
|
+
OutputXmlAttribute(stream, kTestsuite, "time",
|
3830
|
+
FormatTimeInMillisAsSeconds(test_suite.elapsed_time()));
|
3831
|
+
*stream << TestPropertiesAsXmlAttributes(test_suite.ad_hoc_test_result());
|
3832
|
+
}
|
3833
|
+
*stream << ">\n";
|
3834
|
+
for (int i = 0; i < test_suite.total_test_count(); ++i) {
|
3835
|
+
if (test_suite.GetTestInfo(i)->is_reportable())
|
3836
|
+
OutputXmlTestInfo(stream, test_suite.name(), *test_suite.GetTestInfo(i));
|
3696
3837
|
}
|
3697
3838
|
*stream << " </" << kTestsuite << ">\n";
|
3698
3839
|
}
|
@@ -3723,15 +3864,36 @@ void XmlUnitTestResultPrinter::PrintXmlUnitTest(std::ostream* stream,
|
|
3723
3864
|
OutputXmlAttribute(stream, kTestsuites, "random_seed",
|
3724
3865
|
StreamableToString(unit_test.random_seed()));
|
3725
3866
|
}
|
3726
|
-
|
3727
3867
|
*stream << TestPropertiesAsXmlAttributes(unit_test.ad_hoc_test_result());
|
3728
3868
|
|
3729
3869
|
OutputXmlAttribute(stream, kTestsuites, "name", "AllTests");
|
3730
3870
|
*stream << ">\n";
|
3731
3871
|
|
3732
|
-
for (int i = 0; i < unit_test.
|
3733
|
-
if (unit_test.
|
3734
|
-
|
3872
|
+
for (int i = 0; i < unit_test.total_test_suite_count(); ++i) {
|
3873
|
+
if (unit_test.GetTestSuite(i)->reportable_test_count() > 0)
|
3874
|
+
PrintXmlTestSuite(stream, *unit_test.GetTestSuite(i));
|
3875
|
+
}
|
3876
|
+
*stream << "</" << kTestsuites << ">\n";
|
3877
|
+
}
|
3878
|
+
|
3879
|
+
void XmlUnitTestResultPrinter::PrintXmlTestsList(
|
3880
|
+
std::ostream* stream, const std::vector<TestSuite*>& test_suites) {
|
3881
|
+
const std::string kTestsuites = "testsuites";
|
3882
|
+
|
3883
|
+
*stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
|
3884
|
+
*stream << "<" << kTestsuites;
|
3885
|
+
|
3886
|
+
int total_tests = 0;
|
3887
|
+
for (auto test_suite : test_suites) {
|
3888
|
+
total_tests += test_suite->total_test_count();
|
3889
|
+
}
|
3890
|
+
OutputXmlAttribute(stream, kTestsuites, "tests",
|
3891
|
+
StreamableToString(total_tests));
|
3892
|
+
OutputXmlAttribute(stream, kTestsuites, "name", "AllTests");
|
3893
|
+
*stream << ">\n";
|
3894
|
+
|
3895
|
+
for (auto test_suite : test_suites) {
|
3896
|
+
PrintXmlTestSuite(stream, *test_suite);
|
3735
3897
|
}
|
3736
3898
|
*stream << "</" << kTestsuites << ">\n";
|
3737
3899
|
}
|
@@ -3749,8 +3911,396 @@ std::string XmlUnitTestResultPrinter::TestPropertiesAsXmlAttributes(
|
|
3749
3911
|
return attributes.GetString();
|
3750
3912
|
}
|
3751
3913
|
|
3914
|
+
void XmlUnitTestResultPrinter::OutputXmlTestProperties(
|
3915
|
+
std::ostream* stream, const TestResult& result) {
|
3916
|
+
const std::string kProperties = "properties";
|
3917
|
+
const std::string kProperty = "property";
|
3918
|
+
|
3919
|
+
if (result.test_property_count() <= 0) {
|
3920
|
+
return;
|
3921
|
+
}
|
3922
|
+
|
3923
|
+
*stream << "<" << kProperties << ">\n";
|
3924
|
+
for (int i = 0; i < result.test_property_count(); ++i) {
|
3925
|
+
const TestProperty& property = result.GetTestProperty(i);
|
3926
|
+
*stream << "<" << kProperty;
|
3927
|
+
*stream << " name=\"" << EscapeXmlAttribute(property.key()) << "\"";
|
3928
|
+
*stream << " value=\"" << EscapeXmlAttribute(property.value()) << "\"";
|
3929
|
+
*stream << "/>\n";
|
3930
|
+
}
|
3931
|
+
*stream << "</" << kProperties << ">\n";
|
3932
|
+
}
|
3933
|
+
|
3752
3934
|
// End XmlUnitTestResultPrinter
|
3753
3935
|
|
3936
|
+
// This class generates an JSON output file.
|
3937
|
+
class JsonUnitTestResultPrinter : public EmptyTestEventListener {
|
3938
|
+
public:
|
3939
|
+
explicit JsonUnitTestResultPrinter(const char* output_file);
|
3940
|
+
|
3941
|
+
void OnTestIterationEnd(const UnitTest& unit_test, int iteration) override;
|
3942
|
+
|
3943
|
+
// Prints an JSON summary of all unit tests.
|
3944
|
+
static void PrintJsonTestList(::std::ostream* stream,
|
3945
|
+
const std::vector<TestSuite*>& test_suites);
|
3946
|
+
|
3947
|
+
private:
|
3948
|
+
// Returns an JSON-escaped copy of the input string str.
|
3949
|
+
static std::string EscapeJson(const std::string& str);
|
3950
|
+
|
3951
|
+
//// Verifies that the given attribute belongs to the given element and
|
3952
|
+
//// streams the attribute as JSON.
|
3953
|
+
static void OutputJsonKey(std::ostream* stream,
|
3954
|
+
const std::string& element_name,
|
3955
|
+
const std::string& name,
|
3956
|
+
const std::string& value,
|
3957
|
+
const std::string& indent,
|
3958
|
+
bool comma = true);
|
3959
|
+
static void OutputJsonKey(std::ostream* stream,
|
3960
|
+
const std::string& element_name,
|
3961
|
+
const std::string& name,
|
3962
|
+
int value,
|
3963
|
+
const std::string& indent,
|
3964
|
+
bool comma = true);
|
3965
|
+
|
3966
|
+
// Streams a JSON representation of a TestInfo object.
|
3967
|
+
static void OutputJsonTestInfo(::std::ostream* stream,
|
3968
|
+
const char* test_suite_name,
|
3969
|
+
const TestInfo& test_info);
|
3970
|
+
|
3971
|
+
// Prints a JSON representation of a TestSuite object
|
3972
|
+
static void PrintJsonTestSuite(::std::ostream* stream,
|
3973
|
+
const TestSuite& test_suite);
|
3974
|
+
|
3975
|
+
// Prints a JSON summary of unit_test to output stream out.
|
3976
|
+
static void PrintJsonUnitTest(::std::ostream* stream,
|
3977
|
+
const UnitTest& unit_test);
|
3978
|
+
|
3979
|
+
// Produces a string representing the test properties in a result as
|
3980
|
+
// a JSON dictionary.
|
3981
|
+
static std::string TestPropertiesAsJson(const TestResult& result,
|
3982
|
+
const std::string& indent);
|
3983
|
+
|
3984
|
+
// The output file.
|
3985
|
+
const std::string output_file_;
|
3986
|
+
|
3987
|
+
GTEST_DISALLOW_COPY_AND_ASSIGN_(JsonUnitTestResultPrinter);
|
3988
|
+
};
|
3989
|
+
|
3990
|
+
// Creates a new JsonUnitTestResultPrinter.
|
3991
|
+
JsonUnitTestResultPrinter::JsonUnitTestResultPrinter(const char* output_file)
|
3992
|
+
: output_file_(output_file) {
|
3993
|
+
if (output_file_.empty()) {
|
3994
|
+
GTEST_LOG_(FATAL) << "JSON output file may not be null";
|
3995
|
+
}
|
3996
|
+
}
|
3997
|
+
|
3998
|
+
void JsonUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
|
3999
|
+
int /*iteration*/) {
|
4000
|
+
FILE* jsonout = OpenFileForWriting(output_file_);
|
4001
|
+
std::stringstream stream;
|
4002
|
+
PrintJsonUnitTest(&stream, unit_test);
|
4003
|
+
fprintf(jsonout, "%s", StringStreamToString(&stream).c_str());
|
4004
|
+
fclose(jsonout);
|
4005
|
+
}
|
4006
|
+
|
4007
|
+
// Returns an JSON-escaped copy of the input string str.
|
4008
|
+
std::string JsonUnitTestResultPrinter::EscapeJson(const std::string& str) {
|
4009
|
+
Message m;
|
4010
|
+
|
4011
|
+
for (size_t i = 0; i < str.size(); ++i) {
|
4012
|
+
const char ch = str[i];
|
4013
|
+
switch (ch) {
|
4014
|
+
case '\\':
|
4015
|
+
case '"':
|
4016
|
+
case '/':
|
4017
|
+
m << '\\' << ch;
|
4018
|
+
break;
|
4019
|
+
case '\b':
|
4020
|
+
m << "\\b";
|
4021
|
+
break;
|
4022
|
+
case '\t':
|
4023
|
+
m << "\\t";
|
4024
|
+
break;
|
4025
|
+
case '\n':
|
4026
|
+
m << "\\n";
|
4027
|
+
break;
|
4028
|
+
case '\f':
|
4029
|
+
m << "\\f";
|
4030
|
+
break;
|
4031
|
+
case '\r':
|
4032
|
+
m << "\\r";
|
4033
|
+
break;
|
4034
|
+
default:
|
4035
|
+
if (ch < ' ') {
|
4036
|
+
m << "\\u00" << String::FormatByte(static_cast<unsigned char>(ch));
|
4037
|
+
} else {
|
4038
|
+
m << ch;
|
4039
|
+
}
|
4040
|
+
break;
|
4041
|
+
}
|
4042
|
+
}
|
4043
|
+
|
4044
|
+
return m.GetString();
|
4045
|
+
}
|
4046
|
+
|
4047
|
+
// The following routines generate an JSON representation of a UnitTest
|
4048
|
+
// object.
|
4049
|
+
|
4050
|
+
// Formats the given time in milliseconds as seconds.
|
4051
|
+
static std::string FormatTimeInMillisAsDuration(TimeInMillis ms) {
|
4052
|
+
::std::stringstream ss;
|
4053
|
+
ss << (static_cast<double>(ms) * 1e-3) << "s";
|
4054
|
+
return ss.str();
|
4055
|
+
}
|
4056
|
+
|
4057
|
+
// Converts the given epoch time in milliseconds to a date string in the
|
4058
|
+
// RFC3339 format, without the timezone information.
|
4059
|
+
static std::string FormatEpochTimeInMillisAsRFC3339(TimeInMillis ms) {
|
4060
|
+
struct tm time_struct;
|
4061
|
+
if (!PortableLocaltime(static_cast<time_t>(ms / 1000), &time_struct))
|
4062
|
+
return "";
|
4063
|
+
// YYYY-MM-DDThh:mm:ss
|
4064
|
+
return StreamableToString(time_struct.tm_year + 1900) + "-" +
|
4065
|
+
String::FormatIntWidth2(time_struct.tm_mon + 1) + "-" +
|
4066
|
+
String::FormatIntWidth2(time_struct.tm_mday) + "T" +
|
4067
|
+
String::FormatIntWidth2(time_struct.tm_hour) + ":" +
|
4068
|
+
String::FormatIntWidth2(time_struct.tm_min) + ":" +
|
4069
|
+
String::FormatIntWidth2(time_struct.tm_sec) + "Z";
|
4070
|
+
}
|
4071
|
+
|
4072
|
+
static inline std::string Indent(int width) {
|
4073
|
+
return std::string(width, ' ');
|
4074
|
+
}
|
4075
|
+
|
4076
|
+
void JsonUnitTestResultPrinter::OutputJsonKey(
|
4077
|
+
std::ostream* stream,
|
4078
|
+
const std::string& element_name,
|
4079
|
+
const std::string& name,
|
4080
|
+
const std::string& value,
|
4081
|
+
const std::string& indent,
|
4082
|
+
bool comma) {
|
4083
|
+
const std::vector<std::string>& allowed_names =
|
4084
|
+
GetReservedOutputAttributesForElement(element_name);
|
4085
|
+
|
4086
|
+
GTEST_CHECK_(std::find(allowed_names.begin(), allowed_names.end(), name) !=
|
4087
|
+
allowed_names.end())
|
4088
|
+
<< "Key \"" << name << "\" is not allowed for value \"" << element_name
|
4089
|
+
<< "\".";
|
4090
|
+
|
4091
|
+
*stream << indent << "\"" << name << "\": \"" << EscapeJson(value) << "\"";
|
4092
|
+
if (comma)
|
4093
|
+
*stream << ",\n";
|
4094
|
+
}
|
4095
|
+
|
4096
|
+
void JsonUnitTestResultPrinter::OutputJsonKey(
|
4097
|
+
std::ostream* stream,
|
4098
|
+
const std::string& element_name,
|
4099
|
+
const std::string& name,
|
4100
|
+
int value,
|
4101
|
+
const std::string& indent,
|
4102
|
+
bool comma) {
|
4103
|
+
const std::vector<std::string>& allowed_names =
|
4104
|
+
GetReservedOutputAttributesForElement(element_name);
|
4105
|
+
|
4106
|
+
GTEST_CHECK_(std::find(allowed_names.begin(), allowed_names.end(), name) !=
|
4107
|
+
allowed_names.end())
|
4108
|
+
<< "Key \"" << name << "\" is not allowed for value \"" << element_name
|
4109
|
+
<< "\".";
|
4110
|
+
|
4111
|
+
*stream << indent << "\"" << name << "\": " << StreamableToString(value);
|
4112
|
+
if (comma)
|
4113
|
+
*stream << ",\n";
|
4114
|
+
}
|
4115
|
+
|
4116
|
+
// Prints a JSON representation of a TestInfo object.
|
4117
|
+
void JsonUnitTestResultPrinter::OutputJsonTestInfo(::std::ostream* stream,
|
4118
|
+
const char* test_suite_name,
|
4119
|
+
const TestInfo& test_info) {
|
4120
|
+
const TestResult& result = *test_info.result();
|
4121
|
+
const std::string kTestsuite = "testcase";
|
4122
|
+
const std::string kIndent = Indent(10);
|
4123
|
+
|
4124
|
+
*stream << Indent(8) << "{\n";
|
4125
|
+
OutputJsonKey(stream, kTestsuite, "name", test_info.name(), kIndent);
|
4126
|
+
|
4127
|
+
if (test_info.value_param() != nullptr) {
|
4128
|
+
OutputJsonKey(stream, kTestsuite, "value_param", test_info.value_param(),
|
4129
|
+
kIndent);
|
4130
|
+
}
|
4131
|
+
if (test_info.type_param() != nullptr) {
|
4132
|
+
OutputJsonKey(stream, kTestsuite, "type_param", test_info.type_param(),
|
4133
|
+
kIndent);
|
4134
|
+
}
|
4135
|
+
if (GTEST_FLAG(list_tests)) {
|
4136
|
+
OutputJsonKey(stream, kTestsuite, "file", test_info.file(), kIndent);
|
4137
|
+
OutputJsonKey(stream, kTestsuite, "line", test_info.line(), kIndent, false);
|
4138
|
+
*stream << "\n" << Indent(8) << "}";
|
4139
|
+
return;
|
4140
|
+
}
|
4141
|
+
|
4142
|
+
OutputJsonKey(stream, kTestsuite, "status",
|
4143
|
+
test_info.should_run() ? "RUN" : "NOTRUN", kIndent);
|
4144
|
+
OutputJsonKey(stream, kTestsuite, "result",
|
4145
|
+
test_info.should_run()
|
4146
|
+
? (result.Skipped() ? "SKIPPED" : "COMPLETED")
|
4147
|
+
: "SUPPRESSED",
|
4148
|
+
kIndent);
|
4149
|
+
OutputJsonKey(stream, kTestsuite, "time",
|
4150
|
+
FormatTimeInMillisAsDuration(result.elapsed_time()), kIndent);
|
4151
|
+
OutputJsonKey(stream, kTestsuite, "classname", test_suite_name, kIndent,
|
4152
|
+
false);
|
4153
|
+
*stream << TestPropertiesAsJson(result, kIndent);
|
4154
|
+
|
4155
|
+
int failures = 0;
|
4156
|
+
for (int i = 0; i < result.total_part_count(); ++i) {
|
4157
|
+
const TestPartResult& part = result.GetTestPartResult(i);
|
4158
|
+
if (part.failed()) {
|
4159
|
+
*stream << ",\n";
|
4160
|
+
if (++failures == 1) {
|
4161
|
+
*stream << kIndent << "\"" << "failures" << "\": [\n";
|
4162
|
+
}
|
4163
|
+
const std::string location =
|
4164
|
+
internal::FormatCompilerIndependentFileLocation(part.file_name(),
|
4165
|
+
part.line_number());
|
4166
|
+
const std::string message = EscapeJson(location + "\n" + part.message());
|
4167
|
+
*stream << kIndent << " {\n"
|
4168
|
+
<< kIndent << " \"failure\": \"" << message << "\",\n"
|
4169
|
+
<< kIndent << " \"type\": \"\"\n"
|
4170
|
+
<< kIndent << " }";
|
4171
|
+
}
|
4172
|
+
}
|
4173
|
+
|
4174
|
+
if (failures > 0)
|
4175
|
+
*stream << "\n" << kIndent << "]";
|
4176
|
+
*stream << "\n" << Indent(8) << "}";
|
4177
|
+
}
|
4178
|
+
|
4179
|
+
// Prints an JSON representation of a TestSuite object
|
4180
|
+
void JsonUnitTestResultPrinter::PrintJsonTestSuite(
|
4181
|
+
std::ostream* stream, const TestSuite& test_suite) {
|
4182
|
+
const std::string kTestsuite = "testsuite";
|
4183
|
+
const std::string kIndent = Indent(6);
|
4184
|
+
|
4185
|
+
*stream << Indent(4) << "{\n";
|
4186
|
+
OutputJsonKey(stream, kTestsuite, "name", test_suite.name(), kIndent);
|
4187
|
+
OutputJsonKey(stream, kTestsuite, "tests", test_suite.reportable_test_count(),
|
4188
|
+
kIndent);
|
4189
|
+
if (!GTEST_FLAG(list_tests)) {
|
4190
|
+
OutputJsonKey(stream, kTestsuite, "failures",
|
4191
|
+
test_suite.failed_test_count(), kIndent);
|
4192
|
+
OutputJsonKey(stream, kTestsuite, "disabled",
|
4193
|
+
test_suite.reportable_disabled_test_count(), kIndent);
|
4194
|
+
OutputJsonKey(stream, kTestsuite, "errors", 0, kIndent);
|
4195
|
+
OutputJsonKey(stream, kTestsuite, "time",
|
4196
|
+
FormatTimeInMillisAsDuration(test_suite.elapsed_time()),
|
4197
|
+
kIndent, false);
|
4198
|
+
*stream << TestPropertiesAsJson(test_suite.ad_hoc_test_result(), kIndent)
|
4199
|
+
<< ",\n";
|
4200
|
+
}
|
4201
|
+
|
4202
|
+
*stream << kIndent << "\"" << kTestsuite << "\": [\n";
|
4203
|
+
|
4204
|
+
bool comma = false;
|
4205
|
+
for (int i = 0; i < test_suite.total_test_count(); ++i) {
|
4206
|
+
if (test_suite.GetTestInfo(i)->is_reportable()) {
|
4207
|
+
if (comma) {
|
4208
|
+
*stream << ",\n";
|
4209
|
+
} else {
|
4210
|
+
comma = true;
|
4211
|
+
}
|
4212
|
+
OutputJsonTestInfo(stream, test_suite.name(), *test_suite.GetTestInfo(i));
|
4213
|
+
}
|
4214
|
+
}
|
4215
|
+
*stream << "\n" << kIndent << "]\n" << Indent(4) << "}";
|
4216
|
+
}
|
4217
|
+
|
4218
|
+
// Prints a JSON summary of unit_test to output stream out.
|
4219
|
+
void JsonUnitTestResultPrinter::PrintJsonUnitTest(std::ostream* stream,
|
4220
|
+
const UnitTest& unit_test) {
|
4221
|
+
const std::string kTestsuites = "testsuites";
|
4222
|
+
const std::string kIndent = Indent(2);
|
4223
|
+
*stream << "{\n";
|
4224
|
+
|
4225
|
+
OutputJsonKey(stream, kTestsuites, "tests", unit_test.reportable_test_count(),
|
4226
|
+
kIndent);
|
4227
|
+
OutputJsonKey(stream, kTestsuites, "failures", unit_test.failed_test_count(),
|
4228
|
+
kIndent);
|
4229
|
+
OutputJsonKey(stream, kTestsuites, "disabled",
|
4230
|
+
unit_test.reportable_disabled_test_count(), kIndent);
|
4231
|
+
OutputJsonKey(stream, kTestsuites, "errors", 0, kIndent);
|
4232
|
+
if (GTEST_FLAG(shuffle)) {
|
4233
|
+
OutputJsonKey(stream, kTestsuites, "random_seed", unit_test.random_seed(),
|
4234
|
+
kIndent);
|
4235
|
+
}
|
4236
|
+
OutputJsonKey(stream, kTestsuites, "timestamp",
|
4237
|
+
FormatEpochTimeInMillisAsRFC3339(unit_test.start_timestamp()),
|
4238
|
+
kIndent);
|
4239
|
+
OutputJsonKey(stream, kTestsuites, "time",
|
4240
|
+
FormatTimeInMillisAsDuration(unit_test.elapsed_time()), kIndent,
|
4241
|
+
false);
|
4242
|
+
|
4243
|
+
*stream << TestPropertiesAsJson(unit_test.ad_hoc_test_result(), kIndent)
|
4244
|
+
<< ",\n";
|
4245
|
+
|
4246
|
+
OutputJsonKey(stream, kTestsuites, "name", "AllTests", kIndent);
|
4247
|
+
*stream << kIndent << "\"" << kTestsuites << "\": [\n";
|
4248
|
+
|
4249
|
+
bool comma = false;
|
4250
|
+
for (int i = 0; i < unit_test.total_test_suite_count(); ++i) {
|
4251
|
+
if (unit_test.GetTestSuite(i)->reportable_test_count() > 0) {
|
4252
|
+
if (comma) {
|
4253
|
+
*stream << ",\n";
|
4254
|
+
} else {
|
4255
|
+
comma = true;
|
4256
|
+
}
|
4257
|
+
PrintJsonTestSuite(stream, *unit_test.GetTestSuite(i));
|
4258
|
+
}
|
4259
|
+
}
|
4260
|
+
|
4261
|
+
*stream << "\n" << kIndent << "]\n" << "}\n";
|
4262
|
+
}
|
4263
|
+
|
4264
|
+
void JsonUnitTestResultPrinter::PrintJsonTestList(
|
4265
|
+
std::ostream* stream, const std::vector<TestSuite*>& test_suites) {
|
4266
|
+
const std::string kTestsuites = "testsuites";
|
4267
|
+
const std::string kIndent = Indent(2);
|
4268
|
+
*stream << "{\n";
|
4269
|
+
int total_tests = 0;
|
4270
|
+
for (auto test_suite : test_suites) {
|
4271
|
+
total_tests += test_suite->total_test_count();
|
4272
|
+
}
|
4273
|
+
OutputJsonKey(stream, kTestsuites, "tests", total_tests, kIndent);
|
4274
|
+
|
4275
|
+
OutputJsonKey(stream, kTestsuites, "name", "AllTests", kIndent);
|
4276
|
+
*stream << kIndent << "\"" << kTestsuites << "\": [\n";
|
4277
|
+
|
4278
|
+
for (size_t i = 0; i < test_suites.size(); ++i) {
|
4279
|
+
if (i != 0) {
|
4280
|
+
*stream << ",\n";
|
4281
|
+
}
|
4282
|
+
PrintJsonTestSuite(stream, *test_suites[i]);
|
4283
|
+
}
|
4284
|
+
|
4285
|
+
*stream << "\n"
|
4286
|
+
<< kIndent << "]\n"
|
4287
|
+
<< "}\n";
|
4288
|
+
}
|
4289
|
+
// Produces a string representing the test properties in a result as
|
4290
|
+
// a JSON dictionary.
|
4291
|
+
std::string JsonUnitTestResultPrinter::TestPropertiesAsJson(
|
4292
|
+
const TestResult& result, const std::string& indent) {
|
4293
|
+
Message attributes;
|
4294
|
+
for (int i = 0; i < result.test_property_count(); ++i) {
|
4295
|
+
const TestProperty& property = result.GetTestProperty(i);
|
4296
|
+
attributes << ",\n" << indent << "\"" << property.key() << "\": "
|
4297
|
+
<< "\"" << EscapeJson(property.value()) << "\"";
|
4298
|
+
}
|
4299
|
+
return attributes.GetString();
|
4300
|
+
}
|
4301
|
+
|
4302
|
+
// End JsonUnitTestResultPrinter
|
4303
|
+
|
3754
4304
|
#if GTEST_CAN_STREAM_RESULTS_
|
3755
4305
|
|
3756
4306
|
// Checks if str contains '=', '&', '%' or '\n' characters. If yes,
|
@@ -3758,8 +4308,8 @@ std::string XmlUnitTestResultPrinter::TestPropertiesAsXmlAttributes(
|
|
3758
4308
|
// example, replaces "=" with "%3D". This algorithm is O(strlen(str))
|
3759
4309
|
// in both time and space -- important as the input str may contain an
|
3760
4310
|
// arbitrarily long test failure message and stack trace.
|
3761
|
-
string StreamingListener::UrlEncode(const char* str) {
|
3762
|
-
string result;
|
4311
|
+
std::string StreamingListener::UrlEncode(const char* str) {
|
4312
|
+
std::string result;
|
3763
4313
|
result.reserve(strlen(str) + 1);
|
3764
4314
|
for (char ch = *str; ch != '\0'; ch = *++str) {
|
3765
4315
|
switch (ch) {
|
@@ -3785,7 +4335,7 @@ void StreamingListener::SocketWriter::MakeConnection() {
|
|
3785
4335
|
memset(&hints, 0, sizeof(hints));
|
3786
4336
|
hints.ai_family = AF_UNSPEC; // To allow both IPv4 and IPv6 addresses.
|
3787
4337
|
hints.ai_socktype = SOCK_STREAM;
|
3788
|
-
addrinfo* servinfo =
|
4338
|
+
addrinfo* servinfo = nullptr;
|
3789
4339
|
|
3790
4340
|
// Use the getaddrinfo() to get a linked list of IP addresses for
|
3791
4341
|
// the given host name.
|
@@ -3797,7 +4347,7 @@ void StreamingListener::SocketWriter::MakeConnection() {
|
|
3797
4347
|
}
|
3798
4348
|
|
3799
4349
|
// Loop through all the results and connect to the first we can.
|
3800
|
-
for (addrinfo* cur_addr = servinfo; sockfd_ == -1 && cur_addr !=
|
4350
|
+
for (addrinfo* cur_addr = servinfo; sockfd_ == -1 && cur_addr != nullptr;
|
3801
4351
|
cur_addr = cur_addr->ai_next) {
|
3802
4352
|
sockfd_ = socket(
|
3803
4353
|
cur_addr->ai_family, cur_addr->ai_socktype, cur_addr->ai_protocol);
|
@@ -3821,47 +4371,82 @@ void StreamingListener::SocketWriter::MakeConnection() {
|
|
3821
4371
|
// End of class Streaming Listener
|
3822
4372
|
#endif // GTEST_CAN_STREAM_RESULTS__
|
3823
4373
|
|
3824
|
-
//
|
4374
|
+
// class OsStackTraceGetter
|
3825
4375
|
|
3826
|
-
|
3827
|
-
|
3828
|
-
ScopedTrace::ScopedTrace(const char* file, int line, const Message& message)
|
3829
|
-
GTEST_LOCK_EXCLUDED_(&UnitTest::mutex_) {
|
3830
|
-
TraceInfo trace;
|
3831
|
-
trace.file = file;
|
3832
|
-
trace.line = line;
|
3833
|
-
trace.message = message.GetString();
|
4376
|
+
const char* const OsStackTraceGetterInterface::kElidedFramesMarker =
|
4377
|
+
"... " GTEST_NAME_ " internal frames ...";
|
3834
4378
|
|
3835
|
-
|
3836
|
-
|
4379
|
+
std::string OsStackTraceGetter::CurrentStackTrace(int max_depth, int skip_count)
|
4380
|
+
GTEST_LOCK_EXCLUDED_(mutex_) {
|
4381
|
+
#if GTEST_HAS_ABSL
|
4382
|
+
std::string result;
|
3837
4383
|
|
3838
|
-
|
3839
|
-
|
3840
|
-
|
3841
|
-
UnitTest::GetInstance()->PopGTestTrace();
|
3842
|
-
}
|
4384
|
+
if (max_depth <= 0) {
|
4385
|
+
return result;
|
4386
|
+
}
|
3843
4387
|
|
4388
|
+
max_depth = std::min(max_depth, kMaxStackTraceDepth);
|
3844
4389
|
|
3845
|
-
|
4390
|
+
std::vector<void*> raw_stack(max_depth);
|
4391
|
+
// Skips the frames requested by the caller, plus this function.
|
4392
|
+
const int raw_stack_size =
|
4393
|
+
absl::GetStackTrace(&raw_stack[0], max_depth, skip_count + 1);
|
3846
4394
|
|
3847
|
-
|
3848
|
-
|
4395
|
+
void* caller_frame = nullptr;
|
4396
|
+
{
|
4397
|
+
MutexLock lock(&mutex_);
|
4398
|
+
caller_frame = caller_frame_;
|
4399
|
+
}
|
4400
|
+
|
4401
|
+
for (int i = 0; i < raw_stack_size; ++i) {
|
4402
|
+
if (raw_stack[i] == caller_frame &&
|
4403
|
+
!GTEST_FLAG(show_internal_stack_frames)) {
|
4404
|
+
// Add a marker to the trace and stop adding frames.
|
4405
|
+
absl::StrAppend(&result, kElidedFramesMarker, "\n");
|
4406
|
+
break;
|
4407
|
+
}
|
3849
4408
|
|
3850
|
-
|
3851
|
-
|
4409
|
+
char tmp[1024];
|
4410
|
+
const char* symbol = "(unknown)";
|
4411
|
+
if (absl::Symbolize(raw_stack[i], tmp, sizeof(tmp))) {
|
4412
|
+
symbol = tmp;
|
4413
|
+
}
|
4414
|
+
|
4415
|
+
char line[1024];
|
4416
|
+
snprintf(line, sizeof(line), " %p: %s\n", raw_stack[i], symbol);
|
4417
|
+
result += line;
|
4418
|
+
}
|
4419
|
+
|
4420
|
+
return result;
|
4421
|
+
|
4422
|
+
#else // !GTEST_HAS_ABSL
|
4423
|
+
static_cast<void>(max_depth);
|
4424
|
+
static_cast<void>(skip_count);
|
3852
4425
|
return "";
|
4426
|
+
#endif // GTEST_HAS_ABSL
|
3853
4427
|
}
|
3854
4428
|
|
3855
|
-
void OsStackTraceGetter::UponLeavingGTest() {
|
4429
|
+
void OsStackTraceGetter::UponLeavingGTest() GTEST_LOCK_EXCLUDED_(mutex_) {
|
4430
|
+
#if GTEST_HAS_ABSL
|
4431
|
+
void* caller_frame = nullptr;
|
4432
|
+
if (absl::GetStackTrace(&caller_frame, 1, 3) <= 0) {
|
4433
|
+
caller_frame = nullptr;
|
4434
|
+
}
|
4435
|
+
|
4436
|
+
MutexLock lock(&mutex_);
|
4437
|
+
caller_frame_ = caller_frame;
|
4438
|
+
#endif // GTEST_HAS_ABSL
|
4439
|
+
}
|
3856
4440
|
|
3857
4441
|
// A helper class that creates the premature-exit file in its
|
3858
4442
|
// constructor and deletes the file in its destructor.
|
3859
4443
|
class ScopedPrematureExitFile {
|
3860
4444
|
public:
|
3861
4445
|
explicit ScopedPrematureExitFile(const char* premature_exit_filepath)
|
3862
|
-
: premature_exit_filepath_(premature_exit_filepath
|
4446
|
+
: premature_exit_filepath_(premature_exit_filepath ?
|
4447
|
+
premature_exit_filepath : "") {
|
3863
4448
|
// If a path to the premature-exit file is specified...
|
3864
|
-
if (
|
4449
|
+
if (!premature_exit_filepath_.empty()) {
|
3865
4450
|
// create the file with a single "0" character in it. I/O
|
3866
4451
|
// errors are ignored as there's nothing better we can do and we
|
3867
4452
|
// don't want to fail the test because of this.
|
@@ -3872,13 +4457,18 @@ class ScopedPrematureExitFile {
|
|
3872
4457
|
}
|
3873
4458
|
|
3874
4459
|
~ScopedPrematureExitFile() {
|
3875
|
-
if (premature_exit_filepath_
|
3876
|
-
remove(premature_exit_filepath_);
|
4460
|
+
if (!premature_exit_filepath_.empty()) {
|
4461
|
+
int retval = remove(premature_exit_filepath_.c_str());
|
4462
|
+
if (retval) {
|
4463
|
+
GTEST_LOG_(ERROR) << "Failed to remove premature exit filepath \""
|
4464
|
+
<< premature_exit_filepath_ << "\" with error "
|
4465
|
+
<< retval;
|
4466
|
+
}
|
3877
4467
|
}
|
3878
4468
|
}
|
3879
4469
|
|
3880
4470
|
private:
|
3881
|
-
const
|
4471
|
+
const std::string premature_exit_filepath_;
|
3882
4472
|
|
3883
4473
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedPrematureExitFile);
|
3884
4474
|
};
|
@@ -3889,9 +4479,8 @@ class ScopedPrematureExitFile {
|
|
3889
4479
|
|
3890
4480
|
TestEventListeners::TestEventListeners()
|
3891
4481
|
: repeater_(new internal::TestEventRepeater()),
|
3892
|
-
default_result_printer_(
|
3893
|
-
default_xml_generator_(
|
3894
|
-
}
|
4482
|
+
default_result_printer_(nullptr),
|
4483
|
+
default_xml_generator_(nullptr) {}
|
3895
4484
|
|
3896
4485
|
TestEventListeners::~TestEventListeners() { delete repeater_; }
|
3897
4486
|
|
@@ -3908,9 +4497,9 @@ void TestEventListeners::Append(TestEventListener* listener) {
|
|
3908
4497
|
// NULL if the listener is not found in the list.
|
3909
4498
|
TestEventListener* TestEventListeners::Release(TestEventListener* listener) {
|
3910
4499
|
if (listener == default_result_printer_)
|
3911
|
-
default_result_printer_ =
|
4500
|
+
default_result_printer_ = nullptr;
|
3912
4501
|
else if (listener == default_xml_generator_)
|
3913
|
-
default_xml_generator_ =
|
4502
|
+
default_xml_generator_ = nullptr;
|
3914
4503
|
return repeater_->Release(listener);
|
3915
4504
|
}
|
3916
4505
|
|
@@ -3929,8 +4518,7 @@ void TestEventListeners::SetDefaultResultPrinter(TestEventListener* listener) {
|
|
3929
4518
|
// list.
|
3930
4519
|
delete Release(default_result_printer_);
|
3931
4520
|
default_result_printer_ = listener;
|
3932
|
-
if (listener !=
|
3933
|
-
Append(listener);
|
4521
|
+
if (listener != nullptr) Append(listener);
|
3934
4522
|
}
|
3935
4523
|
}
|
3936
4524
|
|
@@ -3945,8 +4533,7 @@ void TestEventListeners::SetDefaultXmlGenerator(TestEventListener* listener) {
|
|
3945
4533
|
// list.
|
3946
4534
|
delete Release(default_xml_generator_);
|
3947
4535
|
default_xml_generator_ = listener;
|
3948
|
-
if (listener !=
|
3949
|
-
Append(listener);
|
4536
|
+
if (listener != nullptr) Append(listener);
|
3950
4537
|
}
|
3951
4538
|
}
|
3952
4539
|
|
@@ -3970,52 +4557,66 @@ void TestEventListeners::SuppressEventForwarding() {
|
|
3970
4557
|
// call this before main() starts, from which point on the return
|
3971
4558
|
// value will never change.
|
3972
4559
|
UnitTest* UnitTest::GetInstance() {
|
3973
|
-
// When compiled with MSVC 7.1 in optimized mode, destroying the
|
3974
|
-
// UnitTest object upon exiting the program messes up the exit code,
|
3975
|
-
// causing successful tests to appear failed. We have to use a
|
3976
|
-
// different implementation in this case to bypass the compiler bug.
|
3977
|
-
// This implementation makes the compiler happy, at the cost of
|
3978
|
-
// leaking the UnitTest object.
|
3979
|
-
|
3980
4560
|
// CodeGear C++Builder insists on a public destructor for the
|
3981
4561
|
// default implementation. Use this implementation to keep good OO
|
3982
4562
|
// design with private destructor.
|
3983
4563
|
|
3984
|
-
#if
|
4564
|
+
#if defined(__BORLANDC__)
|
3985
4565
|
static UnitTest* const instance = new UnitTest;
|
3986
4566
|
return instance;
|
3987
4567
|
#else
|
3988
4568
|
static UnitTest instance;
|
3989
4569
|
return &instance;
|
3990
|
-
#endif //
|
4570
|
+
#endif // defined(__BORLANDC__)
|
3991
4571
|
}
|
3992
4572
|
|
3993
|
-
// Gets the number of successful test
|
3994
|
-
int UnitTest::
|
3995
|
-
return impl()->
|
4573
|
+
// Gets the number of successful test suites.
|
4574
|
+
int UnitTest::successful_test_suite_count() const {
|
4575
|
+
return impl()->successful_test_suite_count();
|
3996
4576
|
}
|
3997
4577
|
|
3998
|
-
// Gets the number of failed test
|
3999
|
-
int UnitTest::
|
4000
|
-
return impl()->
|
4578
|
+
// Gets the number of failed test suites.
|
4579
|
+
int UnitTest::failed_test_suite_count() const {
|
4580
|
+
return impl()->failed_test_suite_count();
|
4001
4581
|
}
|
4002
4582
|
|
4003
|
-
// Gets the number of all test
|
4004
|
-
int UnitTest::
|
4005
|
-
return impl()->
|
4583
|
+
// Gets the number of all test suites.
|
4584
|
+
int UnitTest::total_test_suite_count() const {
|
4585
|
+
return impl()->total_test_suite_count();
|
4006
4586
|
}
|
4007
4587
|
|
4008
|
-
// Gets the number of all test
|
4588
|
+
// Gets the number of all test suites that contain at least one test
|
4009
4589
|
// that should run.
|
4590
|
+
int UnitTest::test_suite_to_run_count() const {
|
4591
|
+
return impl()->test_suite_to_run_count();
|
4592
|
+
}
|
4593
|
+
|
4594
|
+
// Legacy API is deprecated but still available
|
4595
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
4596
|
+
int UnitTest::successful_test_case_count() const {
|
4597
|
+
return impl()->successful_test_suite_count();
|
4598
|
+
}
|
4599
|
+
int UnitTest::failed_test_case_count() const {
|
4600
|
+
return impl()->failed_test_suite_count();
|
4601
|
+
}
|
4602
|
+
int UnitTest::total_test_case_count() const {
|
4603
|
+
return impl()->total_test_suite_count();
|
4604
|
+
}
|
4010
4605
|
int UnitTest::test_case_to_run_count() const {
|
4011
|
-
return impl()->
|
4606
|
+
return impl()->test_suite_to_run_count();
|
4012
4607
|
}
|
4608
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
4013
4609
|
|
4014
4610
|
// Gets the number of successful tests.
|
4015
4611
|
int UnitTest::successful_test_count() const {
|
4016
4612
|
return impl()->successful_test_count();
|
4017
4613
|
}
|
4018
4614
|
|
4615
|
+
// Gets the number of skipped tests.
|
4616
|
+
int UnitTest::skipped_test_count() const {
|
4617
|
+
return impl()->skipped_test_count();
|
4618
|
+
}
|
4619
|
+
|
4019
4620
|
// Gets the number of failed tests.
|
4020
4621
|
int UnitTest::failed_test_count() const { return impl()->failed_test_count(); }
|
4021
4622
|
|
@@ -4051,29 +4652,36 @@ internal::TimeInMillis UnitTest::elapsed_time() const {
|
|
4051
4652
|
return impl()->elapsed_time();
|
4052
4653
|
}
|
4053
4654
|
|
4054
|
-
// Returns true iff the unit test passed (i.e. all test
|
4655
|
+
// Returns true iff the unit test passed (i.e. all test suites passed).
|
4055
4656
|
bool UnitTest::Passed() const { return impl()->Passed(); }
|
4056
4657
|
|
4057
|
-
// Returns true iff the unit test failed (i.e. some test
|
4658
|
+
// Returns true iff the unit test failed (i.e. some test suite failed
|
4058
4659
|
// or something outside of all tests failed).
|
4059
4660
|
bool UnitTest::Failed() const { return impl()->Failed(); }
|
4060
4661
|
|
4061
|
-
// Gets the i-th test
|
4062
|
-
//
|
4662
|
+
// Gets the i-th test suite among all the test suites. i can range from 0 to
|
4663
|
+
// total_test_suite_count() - 1. If i is not in that range, returns NULL.
|
4664
|
+
const TestSuite* UnitTest::GetTestSuite(int i) const {
|
4665
|
+
return impl()->GetTestSuite(i);
|
4666
|
+
}
|
4667
|
+
|
4668
|
+
// Legacy API is deprecated but still available
|
4669
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
4063
4670
|
const TestCase* UnitTest::GetTestCase(int i) const {
|
4064
4671
|
return impl()->GetTestCase(i);
|
4065
4672
|
}
|
4673
|
+
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
4066
4674
|
|
4067
4675
|
// Returns the TestResult containing information on test failures and
|
4068
|
-
// properties logged outside of individual test
|
4676
|
+
// properties logged outside of individual test suites.
|
4069
4677
|
const TestResult& UnitTest::ad_hoc_test_result() const {
|
4070
4678
|
return *impl()->ad_hoc_test_result();
|
4071
4679
|
}
|
4072
4680
|
|
4073
|
-
// Gets the i-th test
|
4074
|
-
//
|
4075
|
-
|
4076
|
-
return impl()->
|
4681
|
+
// Gets the i-th test suite among all the test suites. i can range from 0 to
|
4682
|
+
// total_test_suite_count() - 1. If i is not in that range, returns NULL.
|
4683
|
+
TestSuite* UnitTest::GetMutableTestSuite(int i) {
|
4684
|
+
return impl()->GetMutableSuiteCase(i);
|
4077
4685
|
}
|
4078
4686
|
|
4079
4687
|
// Returns the list of event listeners that can be used to track events
|
@@ -4093,8 +4701,8 @@ TestEventListeners& UnitTest::listeners() {
|
|
4093
4701
|
// We don't protect this under mutex_, as we only support calling it
|
4094
4702
|
// from the main thread.
|
4095
4703
|
Environment* UnitTest::AddEnvironment(Environment* env) {
|
4096
|
-
if (env ==
|
4097
|
-
return
|
4704
|
+
if (env == nullptr) {
|
4705
|
+
return nullptr;
|
4098
4706
|
}
|
4099
4707
|
|
4100
4708
|
impl_->environments().push_back(env);
|
@@ -4126,17 +4734,17 @@ void UnitTest::AddTestPartResult(
|
|
4126
4734
|
}
|
4127
4735
|
}
|
4128
4736
|
|
4129
|
-
if (os_stack_trace.c_str() !=
|
4737
|
+
if (os_stack_trace.c_str() != nullptr && !os_stack_trace.empty()) {
|
4130
4738
|
msg << internal::kStackTraceMarker << os_stack_trace;
|
4131
4739
|
}
|
4132
4740
|
|
4133
|
-
const TestPartResult result =
|
4134
|
-
|
4135
|
-
msg.GetString().c_str());
|
4741
|
+
const TestPartResult result = TestPartResult(
|
4742
|
+
result_type, file_name, line_number, msg.GetString().c_str());
|
4136
4743
|
impl_->GetTestPartResultReporterForCurrentThread()->
|
4137
4744
|
ReportTestPartResult(result);
|
4138
4745
|
|
4139
|
-
if (result_type != TestPartResult::kSuccess
|
4746
|
+
if (result_type != TestPartResult::kSuccess &&
|
4747
|
+
result_type != TestPartResult::kSkip) {
|
4140
4748
|
// gtest_break_on_failure takes precedence over
|
4141
4749
|
// gtest_throw_on_failure. This allows a user to set the latter
|
4142
4750
|
// in the code (perhaps in order to use Google Test assertions
|
@@ -4148,12 +4756,16 @@ void UnitTest::AddTestPartResult(
|
|
4148
4756
|
// when a failure happens and both the --gtest_break_on_failure and
|
4149
4757
|
// the --gtest_catch_exceptions flags are specified.
|
4150
4758
|
DebugBreak();
|
4759
|
+
#elif (!defined(__native_client__)) && \
|
4760
|
+
((defined(__clang__) || defined(__GNUC__)) && \
|
4761
|
+
(defined(__x86_64__) || defined(__i386__)))
|
4762
|
+
// with clang/gcc we can achieve the same effect on x86 by invoking int3
|
4763
|
+
asm("int3");
|
4151
4764
|
#else
|
4152
|
-
// Dereference
|
4765
|
+
// Dereference nullptr through a volatile pointer to prevent the compiler
|
4153
4766
|
// from removing. We use this rather than abort() or __builtin_trap() for
|
4154
|
-
// portability:
|
4155
|
-
|
4156
|
-
*static_cast<volatile int*>(NULL) = 1;
|
4767
|
+
// portability: some debuggers don't correctly trap abort().
|
4768
|
+
*static_cast<volatile int*>(nullptr) = 1;
|
4157
4769
|
#endif // GTEST_OS_WINDOWS
|
4158
4770
|
} else if (GTEST_FLAG(throw_on_failure)) {
|
4159
4771
|
#if GTEST_HAS_EXCEPTIONS
|
@@ -4168,8 +4780,8 @@ void UnitTest::AddTestPartResult(
|
|
4168
4780
|
}
|
4169
4781
|
|
4170
4782
|
// Adds a TestProperty to the current TestResult object when invoked from
|
4171
|
-
// inside a test, to current
|
4172
|
-
// from
|
4783
|
+
// inside a test, to current TestSuite's ad_hoc_test_result_ when invoked
|
4784
|
+
// from SetUpTestSuite or TearDownTestSuite, or to the global property set
|
4173
4785
|
// when invoked elsewhere. If the result already contains a property with
|
4174
4786
|
// the same key, the value will be updated.
|
4175
4787
|
void UnitTest::RecordProperty(const std::string& key,
|
@@ -4208,14 +4820,15 @@ int UnitTest::Run() {
|
|
4208
4820
|
// that understands the premature-exit-file protocol to report the
|
4209
4821
|
// test as having failed.
|
4210
4822
|
const internal::ScopedPrematureExitFile premature_exit_file(
|
4211
|
-
in_death_test_child_process
|
4212
|
-
|
4823
|
+
in_death_test_child_process
|
4824
|
+
? nullptr
|
4825
|
+
: internal::posix::GetEnv("TEST_PREMATURE_EXIT_FILE"));
|
4213
4826
|
|
4214
4827
|
// Captures the value of GTEST_FLAG(catch_exceptions). This value will be
|
4215
4828
|
// used for the duration of the program.
|
4216
4829
|
impl()->set_catch_exceptions(GTEST_FLAG(catch_exceptions));
|
4217
4830
|
|
4218
|
-
#if
|
4831
|
+
#if GTEST_OS_WINDOWS
|
4219
4832
|
// Either the user wants Google Test to catch exceptions thrown by the
|
4220
4833
|
// tests or this is executing in the context of death test child
|
4221
4834
|
// process. In either case the user does not want to see pop-up dialogs
|
@@ -4234,25 +4847,19 @@ int UnitTest::Run() {
|
|
4234
4847
|
_set_error_mode(_OUT_TO_STDERR);
|
4235
4848
|
# endif
|
4236
4849
|
|
4237
|
-
# if _MSC_VER
|
4850
|
+
# if defined(_MSC_VER) && !GTEST_OS_WINDOWS_MOBILE
|
4238
4851
|
// In the debug version, Visual Studio pops up a separate dialog
|
4239
4852
|
// offering a choice to debug the aborted program. We need to suppress
|
4240
4853
|
// this dialog or it will pop up for every EXPECT/ASSERT_DEATH statement
|
4241
4854
|
// executed. Google Test will notify the user of any unexpected
|
4242
4855
|
// failure via stderr.
|
4243
|
-
//
|
4244
|
-
// VC++ doesn't define _set_abort_behavior() prior to the version 8.0.
|
4245
|
-
// Users of prior VC versions shall suffer the agony and pain of
|
4246
|
-
// clicking through the countless debug dialogs.
|
4247
|
-
// TODO(vladl@google.com): find a way to suppress the abort dialog() in the
|
4248
|
-
// debug mode when compiled with VC 7.1 or lower.
|
4249
4856
|
if (!GTEST_FLAG(break_on_failure))
|
4250
4857
|
_set_abort_behavior(
|
4251
4858
|
0x0, // Clear the following flags:
|
4252
4859
|
_WRITE_ABORT_MSG | _CALL_REPORTFAULT); // pop-up window, core dump.
|
4253
4860
|
# endif
|
4254
4861
|
}
|
4255
|
-
#endif //
|
4862
|
+
#endif // GTEST_OS_WINDOWS
|
4256
4863
|
|
4257
4864
|
return internal::HandleExceptionsInMethodIfSupported(
|
4258
4865
|
impl(),
|
@@ -4266,13 +4873,22 @@ const char* UnitTest::original_working_dir() const {
|
|
4266
4873
|
return impl_->original_working_dir_.c_str();
|
4267
4874
|
}
|
4268
4875
|
|
4269
|
-
// Returns the
|
4876
|
+
// Returns the TestSuite object for the test that's currently running,
|
4270
4877
|
// or NULL if no test is running.
|
4878
|
+
const TestSuite* UnitTest::current_test_suite() const
|
4879
|
+
GTEST_LOCK_EXCLUDED_(mutex_) {
|
4880
|
+
internal::MutexLock lock(&mutex_);
|
4881
|
+
return impl_->current_test_suite();
|
4882
|
+
}
|
4883
|
+
|
4884
|
+
// Legacy API is still available but deprecated
|
4885
|
+
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
4271
4886
|
const TestCase* UnitTest::current_test_case() const
|
4272
4887
|
GTEST_LOCK_EXCLUDED_(mutex_) {
|
4273
4888
|
internal::MutexLock lock(&mutex_);
|
4274
|
-
return impl_->
|
4889
|
+
return impl_->current_test_suite();
|
4275
4890
|
}
|
4891
|
+
#endif
|
4276
4892
|
|
4277
4893
|
// Returns the TestInfo object for the test that's currently running,
|
4278
4894
|
// or NULL if no test is running.
|
@@ -4285,15 +4901,12 @@ const TestInfo* UnitTest::current_test_info() const
|
|
4285
4901
|
// Returns the random seed used at the start of the current test run.
|
4286
4902
|
int UnitTest::random_seed() const { return impl_->random_seed(); }
|
4287
4903
|
|
4288
|
-
|
4289
|
-
// Returns ParameterizedTestCaseRegistry object used to keep track of
|
4904
|
+
// Returns ParameterizedTestSuiteRegistry object used to keep track of
|
4290
4905
|
// value-parameterized tests and instantiate and register them.
|
4291
|
-
internal::
|
4292
|
-
|
4293
|
-
GTEST_LOCK_EXCLUDED_(mutex_) {
|
4906
|
+
internal::ParameterizedTestSuiteRegistry&
|
4907
|
+
UnitTest::parameterized_test_registry() GTEST_LOCK_EXCLUDED_(mutex_) {
|
4294
4908
|
return impl_->parameterized_test_registry();
|
4295
4909
|
}
|
4296
|
-
#endif // GTEST_HAS_PARAM_TEST
|
4297
4910
|
|
4298
4911
|
// Creates an empty UnitTest.
|
4299
4912
|
UnitTest::UnitTest() {
|
@@ -4325,25 +4938,22 @@ namespace internal {
|
|
4325
4938
|
UnitTestImpl::UnitTestImpl(UnitTest* parent)
|
4326
4939
|
: parent_(parent),
|
4327
4940
|
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4355 /* using this in initializer */)
|
4328
|
-
|
4941
|
+
default_global_test_part_result_reporter_(this),
|
4329
4942
|
default_per_thread_test_part_result_reporter_(this),
|
4330
|
-
GTEST_DISABLE_MSC_WARNINGS_POP_()
|
4331
|
-
global_test_part_result_repoter_(
|
4943
|
+
GTEST_DISABLE_MSC_WARNINGS_POP_() global_test_part_result_repoter_(
|
4332
4944
|
&default_global_test_part_result_reporter_),
|
4333
4945
|
per_thread_test_part_result_reporter_(
|
4334
4946
|
&default_per_thread_test_part_result_reporter_),
|
4335
|
-
#if GTEST_HAS_PARAM_TEST
|
4336
4947
|
parameterized_test_registry_(),
|
4337
4948
|
parameterized_tests_registered_(false),
|
4338
|
-
|
4339
|
-
|
4340
|
-
|
4341
|
-
current_test_info_(NULL),
|
4949
|
+
last_death_test_suite_(-1),
|
4950
|
+
current_test_suite_(nullptr),
|
4951
|
+
current_test_info_(nullptr),
|
4342
4952
|
ad_hoc_test_result_(),
|
4343
|
-
os_stack_trace_getter_(
|
4953
|
+
os_stack_trace_getter_(nullptr),
|
4344
4954
|
post_flag_parse_init_performed_(false),
|
4345
4955
|
random_seed_(0), // Will be overridden by the flag before first use.
|
4346
|
-
random_(0),
|
4956
|
+
random_(0), // Will be reseeded before first use.
|
4347
4957
|
start_timestamp_(0),
|
4348
4958
|
elapsed_time_(0),
|
4349
4959
|
#if GTEST_HAS_DEATH_TEST
|
@@ -4355,8 +4965,8 @@ UnitTestImpl::UnitTestImpl(UnitTest* parent)
|
|
4355
4965
|
}
|
4356
4966
|
|
4357
4967
|
UnitTestImpl::~UnitTestImpl() {
|
4358
|
-
// Deletes every
|
4359
|
-
ForEach(
|
4968
|
+
// Deletes every TestSuite.
|
4969
|
+
ForEach(test_suites_, internal::Delete<TestSuite>);
|
4360
4970
|
|
4361
4971
|
// Deletes every Environment.
|
4362
4972
|
ForEach(environments_, internal::Delete<Environment>);
|
@@ -4365,20 +4975,20 @@ UnitTestImpl::~UnitTestImpl() {
|
|
4365
4975
|
}
|
4366
4976
|
|
4367
4977
|
// Adds a TestProperty to the current TestResult object when invoked in a
|
4368
|
-
// context of a test, to current test
|
4369
|
-
// from
|
4978
|
+
// context of a test, to current test suite's ad_hoc_test_result when invoke
|
4979
|
+
// from SetUpTestSuite/TearDownTestSuite, or to the global property set
|
4370
4980
|
// otherwise. If the result already contains a property with the same key,
|
4371
4981
|
// the value will be updated.
|
4372
4982
|
void UnitTestImpl::RecordProperty(const TestProperty& test_property) {
|
4373
4983
|
std::string xml_element;
|
4374
4984
|
TestResult* test_result; // TestResult appropriate for property recording.
|
4375
4985
|
|
4376
|
-
if (current_test_info_ !=
|
4986
|
+
if (current_test_info_ != nullptr) {
|
4377
4987
|
xml_element = "testcase";
|
4378
4988
|
test_result = &(current_test_info_->result_);
|
4379
|
-
} else if (
|
4989
|
+
} else if (current_test_suite_ != nullptr) {
|
4380
4990
|
xml_element = "testsuite";
|
4381
|
-
test_result = &(
|
4991
|
+
test_result = &(current_test_suite_->ad_hoc_test_result_);
|
4382
4992
|
} else {
|
4383
4993
|
xml_element = "testsuites";
|
4384
4994
|
test_result = &ad_hoc_test_result_;
|
@@ -4390,7 +5000,7 @@ void UnitTestImpl::RecordProperty(const TestProperty& test_property) {
|
|
4390
5000
|
// Disables event forwarding if the control is currently in a death test
|
4391
5001
|
// subprocess. Must not be called before InitGoogleTest.
|
4392
5002
|
void UnitTestImpl::SuppressTestEventsIfInSubprocess() {
|
4393
|
-
if (internal_run_death_test_flag_.get() !=
|
5003
|
+
if (internal_run_death_test_flag_.get() != nullptr)
|
4394
5004
|
listeners()->SuppressEventForwarding();
|
4395
5005
|
}
|
4396
5006
|
#endif // GTEST_HAS_DEATH_TEST
|
@@ -4402,10 +5012,12 @@ void UnitTestImpl::ConfigureXmlOutput() {
|
|
4402
5012
|
if (output_format == "xml") {
|
4403
5013
|
listeners()->SetDefaultXmlGenerator(new XmlUnitTestResultPrinter(
|
4404
5014
|
UnitTestOptions::GetAbsolutePathToOutputFile().c_str()));
|
5015
|
+
} else if (output_format == "json") {
|
5016
|
+
listeners()->SetDefaultXmlGenerator(new JsonUnitTestResultPrinter(
|
5017
|
+
UnitTestOptions::GetAbsolutePathToOutputFile().c_str()));
|
4405
5018
|
} else if (output_format != "") {
|
4406
|
-
|
4407
|
-
|
4408
|
-
fflush(stdout);
|
5019
|
+
GTEST_LOG_(WARNING) << "WARNING: unrecognized output format \""
|
5020
|
+
<< output_format << "\" ignored.";
|
4409
5021
|
}
|
4410
5022
|
}
|
4411
5023
|
|
@@ -4420,9 +5032,8 @@ void UnitTestImpl::ConfigureStreamingOutput() {
|
|
4420
5032
|
listeners()->Append(new StreamingListener(target.substr(0, pos),
|
4421
5033
|
target.substr(pos+1)));
|
4422
5034
|
} else {
|
4423
|
-
|
4424
|
-
|
4425
|
-
fflush(stdout);
|
5035
|
+
GTEST_LOG_(WARNING) << "unrecognized streaming target \"" << target
|
5036
|
+
<< "\" ignored.";
|
4426
5037
|
}
|
4427
5038
|
}
|
4428
5039
|
}
|
@@ -4461,77 +5072,83 @@ void UnitTestImpl::PostFlagParsingInit() {
|
|
4461
5072
|
// Configures listeners for streaming test results to the specified server.
|
4462
5073
|
ConfigureStreamingOutput();
|
4463
5074
|
#endif // GTEST_CAN_STREAM_RESULTS_
|
5075
|
+
|
5076
|
+
#if GTEST_HAS_ABSL
|
5077
|
+
if (GTEST_FLAG(install_failure_signal_handler)) {
|
5078
|
+
absl::FailureSignalHandlerOptions options;
|
5079
|
+
absl::InstallFailureSignalHandler(options);
|
5080
|
+
}
|
5081
|
+
#endif // GTEST_HAS_ABSL
|
4464
5082
|
}
|
4465
5083
|
}
|
4466
5084
|
|
4467
|
-
// A predicate that checks the name of a
|
5085
|
+
// A predicate that checks the name of a TestSuite against a known
|
4468
5086
|
// value.
|
4469
5087
|
//
|
4470
5088
|
// This is used for implementation of the UnitTest class only. We put
|
4471
5089
|
// it in the anonymous namespace to prevent polluting the outer
|
4472
5090
|
// namespace.
|
4473
5091
|
//
|
4474
|
-
//
|
4475
|
-
class
|
5092
|
+
// TestSuiteNameIs is copyable.
|
5093
|
+
class TestSuiteNameIs {
|
4476
5094
|
public:
|
4477
5095
|
// Constructor.
|
4478
|
-
explicit
|
4479
|
-
: name_(name) {}
|
5096
|
+
explicit TestSuiteNameIs(const std::string& name) : name_(name) {}
|
4480
5097
|
|
4481
|
-
// Returns true iff the name of
|
4482
|
-
bool operator()(const
|
4483
|
-
return
|
5098
|
+
// Returns true iff the name of test_suite matches name_.
|
5099
|
+
bool operator()(const TestSuite* test_suite) const {
|
5100
|
+
return test_suite != nullptr &&
|
5101
|
+
strcmp(test_suite->name(), name_.c_str()) == 0;
|
4484
5102
|
}
|
4485
5103
|
|
4486
5104
|
private:
|
4487
5105
|
std::string name_;
|
4488
5106
|
};
|
4489
5107
|
|
4490
|
-
// Finds and returns a
|
5108
|
+
// Finds and returns a TestSuite with the given name. If one doesn't
|
4491
5109
|
// exist, creates one and returns it. It's the CALLER'S
|
4492
5110
|
// RESPONSIBILITY to ensure that this function is only called WHEN THE
|
4493
5111
|
// TESTS ARE NOT SHUFFLED.
|
4494
5112
|
//
|
4495
5113
|
// Arguments:
|
4496
5114
|
//
|
4497
|
-
//
|
4498
|
-
// type_param: the name of the test
|
4499
|
-
// this is not a typed or a type-parameterized test
|
4500
|
-
// set_up_tc: pointer to the function that sets up the test
|
4501
|
-
// tear_down_tc: pointer to the function that tears down the test
|
4502
|
-
|
4503
|
-
|
4504
|
-
|
4505
|
-
|
4506
|
-
// Can we find a
|
4507
|
-
const
|
4508
|
-
std::find_if(
|
4509
|
-
|
4510
|
-
|
4511
|
-
if (
|
4512
|
-
return *test_case;
|
5115
|
+
// test_suite_name: name of the test suite
|
5116
|
+
// type_param: the name of the test suite's type parameter, or NULL if
|
5117
|
+
// this is not a typed or a type-parameterized test suite.
|
5118
|
+
// set_up_tc: pointer to the function that sets up the test suite
|
5119
|
+
// tear_down_tc: pointer to the function that tears down the test suite
|
5120
|
+
TestSuite* UnitTestImpl::GetTestSuite(
|
5121
|
+
const char* test_suite_name, const char* type_param,
|
5122
|
+
internal::SetUpTestSuiteFunc set_up_tc,
|
5123
|
+
internal::TearDownTestSuiteFunc tear_down_tc) {
|
5124
|
+
// Can we find a TestSuite with the given name?
|
5125
|
+
const auto test_suite =
|
5126
|
+
std::find_if(test_suites_.rbegin(), test_suites_.rend(),
|
5127
|
+
TestSuiteNameIs(test_suite_name));
|
5128
|
+
|
5129
|
+
if (test_suite != test_suites_.rend()) return *test_suite;
|
4513
5130
|
|
4514
5131
|
// No. Let's create one.
|
4515
|
-
|
4516
|
-
new
|
4517
|
-
|
4518
|
-
// Is this a death test
|
4519
|
-
if (internal::UnitTestOptions::MatchesFilter(
|
4520
|
-
|
4521
|
-
// Yes. Inserts the test
|
4522
|
-
// defined so far. This only works when the test
|
5132
|
+
auto* const new_test_suite =
|
5133
|
+
new TestSuite(test_suite_name, type_param, set_up_tc, tear_down_tc);
|
5134
|
+
|
5135
|
+
// Is this a death test suite?
|
5136
|
+
if (internal::UnitTestOptions::MatchesFilter(test_suite_name,
|
5137
|
+
kDeathTestSuiteFilter)) {
|
5138
|
+
// Yes. Inserts the test suite after the last death test suite
|
5139
|
+
// defined so far. This only works when the test suites haven't
|
4523
5140
|
// been shuffled. Otherwise we may end up running a death test
|
4524
5141
|
// after a non-death test.
|
4525
|
-
++
|
4526
|
-
|
4527
|
-
|
5142
|
+
++last_death_test_suite_;
|
5143
|
+
test_suites_.insert(test_suites_.begin() + last_death_test_suite_,
|
5144
|
+
new_test_suite);
|
4528
5145
|
} else {
|
4529
5146
|
// No. Appends to the end of the list.
|
4530
|
-
|
5147
|
+
test_suites_.push_back(new_test_suite);
|
4531
5148
|
}
|
4532
5149
|
|
4533
|
-
|
4534
|
-
return
|
5150
|
+
test_suite_indices_.push_back(static_cast<int>(test_suite_indices_.size()));
|
5151
|
+
return new_test_suite;
|
4535
5152
|
}
|
4536
5153
|
|
4537
5154
|
// Helpers for setting up / tearing down the given environment. They
|
@@ -4549,13 +5166,8 @@ static void TearDownEnvironment(Environment* env) { env->TearDown(); }
|
|
4549
5166
|
// All other functions called from RunAllTests() may safely assume that
|
4550
5167
|
// parameterized tests are ready to be counted and run.
|
4551
5168
|
bool UnitTestImpl::RunAllTests() {
|
4552
|
-
//
|
4553
|
-
|
4554
|
-
printf("%s",
|
4555
|
-
"\nThis test program did NOT call ::testing::InitGoogleTest "
|
4556
|
-
"before calling RUN_ALL_TESTS(). Please fix it.\n");
|
4557
|
-
return false;
|
4558
|
-
}
|
5169
|
+
// True iff Google Test is initialized before RUN_ALL_TESTS() is called.
|
5170
|
+
const bool gtest_is_initialized_before_run_all_tests = GTestIsInitialized();
|
4559
5171
|
|
4560
5172
|
// Do not run any test if the --help flag was specified.
|
4561
5173
|
if (g_help_flag)
|
@@ -4575,7 +5187,8 @@ bool UnitTestImpl::RunAllTests() {
|
|
4575
5187
|
bool in_subprocess_for_death_test = false;
|
4576
5188
|
|
4577
5189
|
#if GTEST_HAS_DEATH_TEST
|
4578
|
-
in_subprocess_for_death_test =
|
5190
|
+
in_subprocess_for_death_test =
|
5191
|
+
(internal_run_death_test_flag_.get() != nullptr);
|
4579
5192
|
# if defined(GTEST_EXTRA_DEATH_TEST_CHILD_SETUP_)
|
4580
5193
|
if (in_subprocess_for_death_test) {
|
4581
5194
|
GTEST_EXTRA_DEATH_TEST_CHILD_SETUP_();
|
@@ -4622,7 +5235,7 @@ bool UnitTestImpl::RunAllTests() {
|
|
4622
5235
|
|
4623
5236
|
const TimeInMillis start = GetTimeInMillis();
|
4624
5237
|
|
4625
|
-
// Shuffles test
|
5238
|
+
// Shuffles test suites and tests if requested.
|
4626
5239
|
if (has_tests_to_run && GTEST_FLAG(shuffle)) {
|
4627
5240
|
random()->Reseed(random_seed_);
|
4628
5241
|
// This should be done before calling OnTestIterationStart(),
|
@@ -4634,19 +5247,33 @@ bool UnitTestImpl::RunAllTests() {
|
|
4634
5247
|
// Tells the unit test event listeners that the tests are about to start.
|
4635
5248
|
repeater->OnTestIterationStart(*parent_, i);
|
4636
5249
|
|
4637
|
-
// Runs each test
|
5250
|
+
// Runs each test suite if there is at least one test to run.
|
4638
5251
|
if (has_tests_to_run) {
|
4639
5252
|
// Sets up all environments beforehand.
|
4640
5253
|
repeater->OnEnvironmentsSetUpStart(*parent_);
|
4641
5254
|
ForEach(environments_, SetUpEnvironment);
|
4642
5255
|
repeater->OnEnvironmentsSetUpEnd(*parent_);
|
4643
5256
|
|
4644
|
-
// Runs the tests only if there was no fatal failure
|
4645
|
-
// set-up.
|
4646
|
-
if (
|
4647
|
-
|
5257
|
+
// Runs the tests only if there was no fatal failure or skip triggered
|
5258
|
+
// during global set-up.
|
5259
|
+
if (Test::IsSkipped()) {
|
5260
|
+
// Emit diagnostics when global set-up calls skip, as it will not be
|
5261
|
+
// emitted by default.
|
5262
|
+
TestResult& test_result =
|
5263
|
+
*internal::GetUnitTestImpl()->current_test_result();
|
5264
|
+
for (int j = 0; j < test_result.total_part_count(); ++j) {
|
5265
|
+
const TestPartResult& test_part_result =
|
5266
|
+
test_result.GetTestPartResult(j);
|
5267
|
+
if (test_part_result.type() == TestPartResult::kSkip) {
|
5268
|
+
const std::string& result = test_part_result.message();
|
5269
|
+
printf("%s\n", result.c_str());
|
5270
|
+
}
|
5271
|
+
}
|
5272
|
+
fflush(stdout);
|
5273
|
+
} else if (!Test::HasFatalFailure()) {
|
5274
|
+
for (int test_index = 0; test_index < total_test_suite_count();
|
4648
5275
|
test_index++) {
|
4649
|
-
|
5276
|
+
GetMutableSuiteCase(test_index)->Run();
|
4650
5277
|
}
|
4651
5278
|
}
|
4652
5279
|
|
@@ -4683,6 +5310,20 @@ bool UnitTestImpl::RunAllTests() {
|
|
4683
5310
|
|
4684
5311
|
repeater->OnTestProgramEnd(*parent_);
|
4685
5312
|
|
5313
|
+
if (!gtest_is_initialized_before_run_all_tests) {
|
5314
|
+
ColoredPrintf(
|
5315
|
+
COLOR_RED,
|
5316
|
+
"\nIMPORTANT NOTICE - DO NOT IGNORE:\n"
|
5317
|
+
"This test program did NOT call " GTEST_INIT_GOOGLE_TEST_NAME_
|
5318
|
+
"() before calling RUN_ALL_TESTS(). This is INVALID. Soon " GTEST_NAME_
|
5319
|
+
" will start to enforce the valid usage. "
|
5320
|
+
"Please fix it ASAP, or IT WILL START TO FAIL.\n"); // NOLINT
|
5321
|
+
#if GTEST_FOR_GOOGLE_
|
5322
|
+
ColoredPrintf(COLOR_RED,
|
5323
|
+
"For more details, see http://wiki/Main/ValidGUnitMain.\n");
|
5324
|
+
#endif // GTEST_FOR_GOOGLE_
|
5325
|
+
}
|
5326
|
+
|
4686
5327
|
return !failed;
|
4687
5328
|
}
|
4688
5329
|
|
@@ -4692,9 +5333,9 @@ bool UnitTestImpl::RunAllTests() {
|
|
4692
5333
|
// be created, prints an error and exits.
|
4693
5334
|
void WriteToShardStatusFileIfNeeded() {
|
4694
5335
|
const char* const test_shard_file = posix::GetEnv(kTestShardStatusFile);
|
4695
|
-
if (test_shard_file !=
|
5336
|
+
if (test_shard_file != nullptr) {
|
4696
5337
|
FILE* const file = posix::FOpen(test_shard_file, "w");
|
4697
|
-
if (file ==
|
5338
|
+
if (file == nullptr) {
|
4698
5339
|
ColoredPrintf(COLOR_RED,
|
4699
5340
|
"Could not write to the test shard status file \"%s\" "
|
4700
5341
|
"specified by the %s environment variable.\n",
|
@@ -4729,7 +5370,7 @@ bool ShouldShard(const char* total_shards_env,
|
|
4729
5370
|
<< "Invalid environment variables: you have "
|
4730
5371
|
<< kTestShardIndex << " = " << shard_index
|
4731
5372
|
<< ", but have left " << kTestTotalShards << " unset.\n";
|
4732
|
-
ColoredPrintf(COLOR_RED, msg.GetString().c_str());
|
5373
|
+
ColoredPrintf(COLOR_RED, "%s", msg.GetString().c_str());
|
4733
5374
|
fflush(stdout);
|
4734
5375
|
exit(EXIT_FAILURE);
|
4735
5376
|
} else if (total_shards != -1 && shard_index == -1) {
|
@@ -4737,7 +5378,7 @@ bool ShouldShard(const char* total_shards_env,
|
|
4737
5378
|
<< "Invalid environment variables: you have "
|
4738
5379
|
<< kTestTotalShards << " = " << total_shards
|
4739
5380
|
<< ", but have left " << kTestShardIndex << " unset.\n";
|
4740
|
-
ColoredPrintf(COLOR_RED, msg.GetString().c_str());
|
5381
|
+
ColoredPrintf(COLOR_RED, "%s", msg.GetString().c_str());
|
4741
5382
|
fflush(stdout);
|
4742
5383
|
exit(EXIT_FAILURE);
|
4743
5384
|
} else if (shard_index < 0 || shard_index >= total_shards) {
|
@@ -4746,7 +5387,7 @@ bool ShouldShard(const char* total_shards_env,
|
|
4746
5387
|
<< kTestShardIndex << " < " << kTestTotalShards
|
4747
5388
|
<< ", but you have " << kTestShardIndex << "=" << shard_index
|
4748
5389
|
<< ", " << kTestTotalShards << "=" << total_shards << ".\n";
|
4749
|
-
ColoredPrintf(COLOR_RED, msg.GetString().c_str());
|
5390
|
+
ColoredPrintf(COLOR_RED, "%s", msg.GetString().c_str());
|
4750
5391
|
fflush(stdout);
|
4751
5392
|
exit(EXIT_FAILURE);
|
4752
5393
|
}
|
@@ -4759,7 +5400,7 @@ bool ShouldShard(const char* total_shards_env,
|
|
4759
5400
|
// and aborts.
|
4760
5401
|
Int32 Int32FromEnvOrDie(const char* var, Int32 default_val) {
|
4761
5402
|
const char* str_val = posix::GetEnv(var);
|
4762
|
-
if (str_val ==
|
5403
|
+
if (str_val == nullptr) {
|
4763
5404
|
return default_val;
|
4764
5405
|
}
|
4765
5406
|
|
@@ -4781,11 +5422,11 @@ bool ShouldRunTestOnShard(int total_shards, int shard_index, int test_id) {
|
|
4781
5422
|
|
4782
5423
|
// Compares the name of each test with the user-specified filter to
|
4783
5424
|
// decide whether the test should be run, then records the result in
|
4784
|
-
// each
|
5425
|
+
// each TestSuite and TestInfo object.
|
4785
5426
|
// If shard_tests == true, further filters tests based on sharding
|
4786
5427
|
// variables in the environment - see
|
4787
|
-
//
|
4788
|
-
// Returns the number of tests that should run.
|
5428
|
+
// https://github.com/google/googletest/blob/master/googletest/docs/advanced.md
|
5429
|
+
// . Returns the number of tests that should run.
|
4789
5430
|
int UnitTestImpl::FilterTests(ReactionToSharding shard_tests) {
|
4790
5431
|
const Int32 total_shards = shard_tests == HONOR_SHARDING_PROTOCOL ?
|
4791
5432
|
Int32FromEnvOrDie(kTestTotalShards, -1) : -1;
|
@@ -4798,42 +5439,40 @@ int UnitTestImpl::FilterTests(ReactionToSharding shard_tests) {
|
|
4798
5439
|
// this shard.
|
4799
5440
|
int num_runnable_tests = 0;
|
4800
5441
|
int num_selected_tests = 0;
|
4801
|
-
for (
|
4802
|
-
|
4803
|
-
|
4804
|
-
test_case->set_should_run(false);
|
5442
|
+
for (auto* test_suite : test_suites_) {
|
5443
|
+
const std::string& test_suite_name = test_suite->name();
|
5444
|
+
test_suite->set_should_run(false);
|
4805
5445
|
|
4806
|
-
for (size_t j = 0; j <
|
4807
|
-
TestInfo* const test_info =
|
5446
|
+
for (size_t j = 0; j < test_suite->test_info_list().size(); j++) {
|
5447
|
+
TestInfo* const test_info = test_suite->test_info_list()[j];
|
4808
5448
|
const std::string test_name(test_info->name());
|
4809
|
-
// A test is disabled if test
|
5449
|
+
// A test is disabled if test suite name or test name matches
|
4810
5450
|
// kDisableTestFilter.
|
4811
|
-
const bool is_disabled =
|
4812
|
-
|
4813
|
-
|
4814
|
-
|
4815
|
-
kDisableTestFilter);
|
5451
|
+
const bool is_disabled = internal::UnitTestOptions::MatchesFilter(
|
5452
|
+
test_suite_name, kDisableTestFilter) ||
|
5453
|
+
internal::UnitTestOptions::MatchesFilter(
|
5454
|
+
test_name, kDisableTestFilter);
|
4816
5455
|
test_info->is_disabled_ = is_disabled;
|
4817
5456
|
|
4818
|
-
const bool matches_filter =
|
4819
|
-
|
4820
|
-
test_name);
|
5457
|
+
const bool matches_filter = internal::UnitTestOptions::FilterMatchesTest(
|
5458
|
+
test_suite_name, test_name);
|
4821
5459
|
test_info->matches_filter_ = matches_filter;
|
4822
5460
|
|
4823
5461
|
const bool is_runnable =
|
4824
5462
|
(GTEST_FLAG(also_run_disabled_tests) || !is_disabled) &&
|
4825
5463
|
matches_filter;
|
4826
5464
|
|
4827
|
-
const bool
|
4828
|
-
|
4829
|
-
|
4830
|
-
|
5465
|
+
const bool is_in_another_shard =
|
5466
|
+
shard_tests != IGNORE_SHARDING_PROTOCOL &&
|
5467
|
+
!ShouldRunTestOnShard(total_shards, shard_index, num_runnable_tests);
|
5468
|
+
test_info->is_in_another_shard_ = is_in_another_shard;
|
5469
|
+
const bool is_selected = is_runnable && !is_in_another_shard;
|
4831
5470
|
|
4832
5471
|
num_runnable_tests += is_runnable;
|
4833
5472
|
num_selected_tests += is_selected;
|
4834
5473
|
|
4835
5474
|
test_info->should_run_ = is_selected;
|
4836
|
-
|
5475
|
+
test_suite->set_should_run(test_suite->should_run() || is_selected);
|
4837
5476
|
}
|
4838
5477
|
}
|
4839
5478
|
return num_selected_tests;
|
@@ -4844,7 +5483,7 @@ int UnitTestImpl::FilterTests(ReactionToSharding shard_tests) {
|
|
4844
5483
|
// max_length characters, only prints the first max_length characters
|
4845
5484
|
// and "...".
|
4846
5485
|
static void PrintOnOneLine(const char* str, int max_length) {
|
4847
|
-
if (str !=
|
5486
|
+
if (str != nullptr) {
|
4848
5487
|
for (int i = 0; *str != '\0'; ++str) {
|
4849
5488
|
if (i >= max_length) {
|
4850
5489
|
printf("...");
|
@@ -4866,27 +5505,25 @@ void UnitTestImpl::ListTestsMatchingFilter() {
|
|
4866
5505
|
// Print at most this many characters for each type/value parameter.
|
4867
5506
|
const int kMaxParamLength = 250;
|
4868
5507
|
|
4869
|
-
for (
|
4870
|
-
|
4871
|
-
bool printed_test_case_name = false;
|
5508
|
+
for (auto* test_suite : test_suites_) {
|
5509
|
+
bool printed_test_suite_name = false;
|
4872
5510
|
|
4873
|
-
for (size_t j = 0; j <
|
4874
|
-
const TestInfo* const test_info =
|
4875
|
-
test_case->test_info_list()[j];
|
5511
|
+
for (size_t j = 0; j < test_suite->test_info_list().size(); j++) {
|
5512
|
+
const TestInfo* const test_info = test_suite->test_info_list()[j];
|
4876
5513
|
if (test_info->matches_filter_) {
|
4877
|
-
if (!
|
4878
|
-
|
4879
|
-
printf("%s.",
|
4880
|
-
if (
|
5514
|
+
if (!printed_test_suite_name) {
|
5515
|
+
printed_test_suite_name = true;
|
5516
|
+
printf("%s.", test_suite->name());
|
5517
|
+
if (test_suite->type_param() != nullptr) {
|
4881
5518
|
printf(" # %s = ", kTypeParamLabel);
|
4882
5519
|
// We print the type parameter on a single line to make
|
4883
5520
|
// the output easy to parse by a program.
|
4884
|
-
PrintOnOneLine(
|
5521
|
+
PrintOnOneLine(test_suite->type_param(), kMaxParamLength);
|
4885
5522
|
}
|
4886
5523
|
printf("\n");
|
4887
5524
|
}
|
4888
5525
|
printf(" %s", test_info->name());
|
4889
|
-
if (test_info->value_param() !=
|
5526
|
+
if (test_info->value_param() != nullptr) {
|
4890
5527
|
printf(" # %s = ", kValueParamLabel);
|
4891
5528
|
// We print the value parameter on a single line to make the
|
4892
5529
|
// output easy to parse by a program.
|
@@ -4897,6 +5534,23 @@ void UnitTestImpl::ListTestsMatchingFilter() {
|
|
4897
5534
|
}
|
4898
5535
|
}
|
4899
5536
|
fflush(stdout);
|
5537
|
+
const std::string& output_format = UnitTestOptions::GetOutputFormat();
|
5538
|
+
if (output_format == "xml" || output_format == "json") {
|
5539
|
+
FILE* fileout = OpenFileForWriting(
|
5540
|
+
UnitTestOptions::GetAbsolutePathToOutputFile().c_str());
|
5541
|
+
std::stringstream stream;
|
5542
|
+
if (output_format == "xml") {
|
5543
|
+
XmlUnitTestResultPrinter(
|
5544
|
+
UnitTestOptions::GetAbsolutePathToOutputFile().c_str())
|
5545
|
+
.PrintXmlTestsList(&stream, test_suites_);
|
5546
|
+
} else if (output_format == "json") {
|
5547
|
+
JsonUnitTestResultPrinter(
|
5548
|
+
UnitTestOptions::GetAbsolutePathToOutputFile().c_str())
|
5549
|
+
.PrintJsonTestList(&stream, test_suites_);
|
5550
|
+
}
|
5551
|
+
fprintf(fileout, "%s", StringStreamToString(&stream).c_str());
|
5552
|
+
fclose(fileout);
|
5553
|
+
}
|
4900
5554
|
}
|
4901
5555
|
|
4902
5556
|
// Sets the OS stack trace getter.
|
@@ -4916,7 +5570,7 @@ void UnitTestImpl::set_os_stack_trace_getter(
|
|
4916
5570
|
// otherwise, creates an OsStackTraceGetter, makes it the current
|
4917
5571
|
// getter, and returns it.
|
4918
5572
|
OsStackTraceGetterInterface* UnitTestImpl::os_stack_trace_getter() {
|
4919
|
-
if (os_stack_trace_getter_ ==
|
5573
|
+
if (os_stack_trace_getter_ == nullptr) {
|
4920
5574
|
#ifdef GTEST_OS_STACK_TRACE_GETTER_
|
4921
5575
|
os_stack_trace_getter_ = new GTEST_OS_STACK_TRACE_GETTER_;
|
4922
5576
|
#else
|
@@ -4927,36 +5581,40 @@ OsStackTraceGetterInterface* UnitTestImpl::os_stack_trace_getter() {
|
|
4927
5581
|
return os_stack_trace_getter_;
|
4928
5582
|
}
|
4929
5583
|
|
4930
|
-
// Returns the
|
4931
|
-
// the TestResult for the ad hoc test if no test is running.
|
5584
|
+
// Returns the most specific TestResult currently running.
|
4932
5585
|
TestResult* UnitTestImpl::current_test_result() {
|
4933
|
-
|
4934
|
-
|
5586
|
+
if (current_test_info_ != nullptr) {
|
5587
|
+
return ¤t_test_info_->result_;
|
5588
|
+
}
|
5589
|
+
if (current_test_suite_ != nullptr) {
|
5590
|
+
return ¤t_test_suite_->ad_hoc_test_result_;
|
5591
|
+
}
|
5592
|
+
return &ad_hoc_test_result_;
|
4935
5593
|
}
|
4936
5594
|
|
4937
|
-
// Shuffles all test
|
5595
|
+
// Shuffles all test suites, and the tests within each test suite,
|
4938
5596
|
// making sure that death tests are still run first.
|
4939
5597
|
void UnitTestImpl::ShuffleTests() {
|
4940
|
-
// Shuffles the death test
|
4941
|
-
ShuffleRange(random(), 0,
|
5598
|
+
// Shuffles the death test suites.
|
5599
|
+
ShuffleRange(random(), 0, last_death_test_suite_ + 1, &test_suite_indices_);
|
4942
5600
|
|
4943
|
-
// Shuffles the non-death test
|
4944
|
-
ShuffleRange(random(),
|
4945
|
-
static_cast<int>(
|
5601
|
+
// Shuffles the non-death test suites.
|
5602
|
+
ShuffleRange(random(), last_death_test_suite_ + 1,
|
5603
|
+
static_cast<int>(test_suites_.size()), &test_suite_indices_);
|
4946
5604
|
|
4947
|
-
// Shuffles the tests inside each test
|
4948
|
-
for (
|
4949
|
-
|
5605
|
+
// Shuffles the tests inside each test suite.
|
5606
|
+
for (auto& test_suite : test_suites_) {
|
5607
|
+
test_suite->ShuffleTests(random());
|
4950
5608
|
}
|
4951
5609
|
}
|
4952
5610
|
|
4953
|
-
// Restores the test
|
5611
|
+
// Restores the test suites and tests to their order before the first shuffle.
|
4954
5612
|
void UnitTestImpl::UnshuffleTests() {
|
4955
|
-
for (size_t i = 0; i <
|
4956
|
-
// Unshuffles the tests in each test
|
4957
|
-
|
4958
|
-
// Resets the index of each test
|
4959
|
-
|
5613
|
+
for (size_t i = 0; i < test_suites_.size(); i++) {
|
5614
|
+
// Unshuffles the tests in each test suite.
|
5615
|
+
test_suites_[i]->UnshuffleTests();
|
5616
|
+
// Resets the index of each test suite.
|
5617
|
+
test_suite_indices_[i] = static_cast<int>(i);
|
4960
5618
|
}
|
4961
5619
|
}
|
4962
5620
|
|
@@ -5012,16 +5670,15 @@ bool SkipPrefix(const char* prefix, const char** pstr) {
|
|
5012
5670
|
// part can be omitted.
|
5013
5671
|
//
|
5014
5672
|
// Returns the value of the flag, or NULL if the parsing failed.
|
5015
|
-
const char* ParseFlagValue(const char* str,
|
5016
|
-
|
5017
|
-
bool def_optional) {
|
5673
|
+
static const char* ParseFlagValue(const char* str, const char* flag,
|
5674
|
+
bool def_optional) {
|
5018
5675
|
// str and flag must not be NULL.
|
5019
|
-
if (str ==
|
5676
|
+
if (str == nullptr || flag == nullptr) return nullptr;
|
5020
5677
|
|
5021
5678
|
// The flag must start with "--" followed by GTEST_FLAG_PREFIX_.
|
5022
5679
|
const std::string flag_str = std::string("--") + GTEST_FLAG_PREFIX_ + flag;
|
5023
5680
|
const size_t flag_len = flag_str.length();
|
5024
|
-
if (strncmp(str, flag_str.c_str(), flag_len) != 0) return
|
5681
|
+
if (strncmp(str, flag_str.c_str(), flag_len) != 0) return nullptr;
|
5025
5682
|
|
5026
5683
|
// Skips the flag name.
|
5027
5684
|
const char* flag_end = str + flag_len;
|
@@ -5034,7 +5691,7 @@ const char* ParseFlagValue(const char* str,
|
|
5034
5691
|
// If def_optional is true and there are more characters after the
|
5035
5692
|
// flag name, or if def_optional is false, there must be a '=' after
|
5036
5693
|
// the flag name.
|
5037
|
-
if (flag_end[0] != '=') return
|
5694
|
+
if (flag_end[0] != '=') return nullptr;
|
5038
5695
|
|
5039
5696
|
// Returns the string after "=".
|
5040
5697
|
return flag_end + 1;
|
@@ -5050,12 +5707,12 @@ const char* ParseFlagValue(const char* str,
|
|
5050
5707
|
//
|
5051
5708
|
// On success, stores the value of the flag in *value, and returns
|
5052
5709
|
// true. On failure, returns false without changing *value.
|
5053
|
-
bool ParseBoolFlag(const char* str, const char* flag, bool* value) {
|
5710
|
+
static bool ParseBoolFlag(const char* str, const char* flag, bool* value) {
|
5054
5711
|
// Gets the value of the flag as a string.
|
5055
5712
|
const char* const value_str = ParseFlagValue(str, flag, true);
|
5056
5713
|
|
5057
5714
|
// Aborts if the parsing failed.
|
5058
|
-
if (value_str ==
|
5715
|
+
if (value_str == nullptr) return false;
|
5059
5716
|
|
5060
5717
|
// Converts the string value to a bool.
|
5061
5718
|
*value = !(*value_str == '0' || *value_str == 'f' || *value_str == 'F');
|
@@ -5072,7 +5729,7 @@ bool ParseInt32Flag(const char* str, const char* flag, Int32* value) {
|
|
5072
5729
|
const char* const value_str = ParseFlagValue(str, flag, false);
|
5073
5730
|
|
5074
5731
|
// Aborts if the parsing failed.
|
5075
|
-
if (value_str ==
|
5732
|
+
if (value_str == nullptr) return false;
|
5076
5733
|
|
5077
5734
|
// Sets *value to the value of the flag.
|
5078
5735
|
return ParseInt32(Message() << "The value of flag --" << flag,
|
@@ -5084,12 +5741,13 @@ bool ParseInt32Flag(const char* str, const char* flag, Int32* value) {
|
|
5084
5741
|
//
|
5085
5742
|
// On success, stores the value of the flag in *value, and returns
|
5086
5743
|
// true. On failure, returns false without changing *value.
|
5087
|
-
|
5744
|
+
template <typename String>
|
5745
|
+
static bool ParseStringFlag(const char* str, const char* flag, String* value) {
|
5088
5746
|
// Gets the value of the flag as a string.
|
5089
5747
|
const char* const value_str = ParseFlagValue(str, flag, false);
|
5090
5748
|
|
5091
5749
|
// Aborts if the parsing failed.
|
5092
|
-
if (value_str ==
|
5750
|
+
if (value_str == nullptr) return false;
|
5093
5751
|
|
5094
5752
|
// Sets *value to the value of the flag.
|
5095
5753
|
*value = value_str;
|
@@ -5120,8 +5778,6 @@ static bool HasGoogleTestFlagPrefix(const char* str) {
|
|
5120
5778
|
// @Y changes the color to yellow.
|
5121
5779
|
// @D changes to the default terminal text color.
|
5122
5780
|
//
|
5123
|
-
// TODO(wan@google.com): Write tests for this once we add stdout
|
5124
|
-
// capturing to Google Test.
|
5125
5781
|
static void PrintColorEncoded(const char* str) {
|
5126
5782
|
GTestColor color = COLOR_DEFAULT; // The current color.
|
5127
5783
|
|
@@ -5131,7 +5787,7 @@ static void PrintColorEncoded(const char* str) {
|
|
5131
5787
|
// next segment.
|
5132
5788
|
for (;;) {
|
5133
5789
|
const char* p = strchr(str, '@');
|
5134
|
-
if (p ==
|
5790
|
+
if (p == nullptr) {
|
5135
5791
|
ColoredPrintf(color, "%s", str);
|
5136
5792
|
return;
|
5137
5793
|
}
|
@@ -5186,24 +5842,25 @@ static const char kColorEncodedHelpMessage[] =
|
|
5186
5842
|
" Enable/disable colored output. The default is @Gauto@D.\n"
|
5187
5843
|
" -@G-" GTEST_FLAG_PREFIX_ "print_time=0@D\n"
|
5188
5844
|
" Don't print the elapsed time of each test.\n"
|
5189
|
-
" @G--" GTEST_FLAG_PREFIX_ "output
|
5845
|
+
" @G--" GTEST_FLAG_PREFIX_ "output=@Y(@Gjson@Y|@Gxml@Y)[@G:@YDIRECTORY_PATH@G"
|
5190
5846
|
GTEST_PATH_SEP_ "@Y|@G:@YFILE_PATH]@D\n"
|
5191
|
-
" Generate
|
5192
|
-
" name. @YFILE_PATH@D defaults to @
|
5193
|
-
#if GTEST_CAN_STREAM_RESULTS_
|
5847
|
+
" Generate a JSON or XML report in the given directory or with the given\n"
|
5848
|
+
" file name. @YFILE_PATH@D defaults to @Gtest_detail.xml@D.\n"
|
5849
|
+
# if GTEST_CAN_STREAM_RESULTS_
|
5194
5850
|
" @G--" GTEST_FLAG_PREFIX_ "stream_result_to=@YHOST@G:@YPORT@D\n"
|
5195
5851
|
" Stream test results to the given server.\n"
|
5196
|
-
#endif // GTEST_CAN_STREAM_RESULTS_
|
5852
|
+
# endif // GTEST_CAN_STREAM_RESULTS_
|
5197
5853
|
"\n"
|
5198
5854
|
"Assertion Behavior:\n"
|
5199
|
-
#if GTEST_HAS_DEATH_TEST && !GTEST_OS_WINDOWS
|
5855
|
+
# if GTEST_HAS_DEATH_TEST && !GTEST_OS_WINDOWS
|
5200
5856
|
" @G--" GTEST_FLAG_PREFIX_ "death_test_style=@Y(@Gfast@Y|@Gthreadsafe@Y)@D\n"
|
5201
5857
|
" Set the default death test style.\n"
|
5202
|
-
#endif // GTEST_HAS_DEATH_TEST && !GTEST_OS_WINDOWS
|
5858
|
+
# endif // GTEST_HAS_DEATH_TEST && !GTEST_OS_WINDOWS
|
5203
5859
|
" @G--" GTEST_FLAG_PREFIX_ "break_on_failure@D\n"
|
5204
5860
|
" Turn assertion failures into debugger break-points.\n"
|
5205
5861
|
" @G--" GTEST_FLAG_PREFIX_ "throw_on_failure@D\n"
|
5206
|
-
" Turn assertion failures into C++ exceptions
|
5862
|
+
" Turn assertion failures into C++ exceptions for use by an external\n"
|
5863
|
+
" test framework.\n"
|
5207
5864
|
" @G--" GTEST_FLAG_PREFIX_ "catch_exceptions=0@D\n"
|
5208
5865
|
" Do not report exceptions as test failures. Instead, allow them\n"
|
5209
5866
|
" to crash the program or throw a pop-up (on Windows).\n"
|
@@ -5220,7 +5877,7 @@ static const char kColorEncodedHelpMessage[] =
|
|
5220
5877
|
"(not one in your own code or tests), please report it to\n"
|
5221
5878
|
"@G<" GTEST_DEV_EMAIL_ ">@D.\n";
|
5222
5879
|
|
5223
|
-
bool ParseGoogleTestFlag(const char* const arg) {
|
5880
|
+
static bool ParseGoogleTestFlag(const char* const arg) {
|
5224
5881
|
return ParseBoolFlag(arg, kAlsoRunDisabledTestsFlag,
|
5225
5882
|
>EST_FLAG(also_run_disabled_tests)) ||
|
5226
5883
|
ParseBoolFlag(arg, kBreakOnFailureFlag,
|
@@ -5238,6 +5895,7 @@ bool ParseGoogleTestFlag(const char* const arg) {
|
|
5238
5895
|
ParseBoolFlag(arg, kListTestsFlag, >EST_FLAG(list_tests)) ||
|
5239
5896
|
ParseStringFlag(arg, kOutputFlag, >EST_FLAG(output)) ||
|
5240
5897
|
ParseBoolFlag(arg, kPrintTimeFlag, >EST_FLAG(print_time)) ||
|
5898
|
+
ParseBoolFlag(arg, kPrintUTF8Flag, >EST_FLAG(print_utf8)) ||
|
5241
5899
|
ParseInt32Flag(arg, kRandomSeedFlag, >EST_FLAG(random_seed)) ||
|
5242
5900
|
ParseInt32Flag(arg, kRepeatFlag, >EST_FLAG(repeat)) ||
|
5243
5901
|
ParseBoolFlag(arg, kShuffleFlag, >EST_FLAG(shuffle)) ||
|
@@ -5250,14 +5908,11 @@ bool ParseGoogleTestFlag(const char* const arg) {
|
|
5250
5908
|
}
|
5251
5909
|
|
5252
5910
|
#if GTEST_USE_OWN_FLAGFILE_FLAG_
|
5253
|
-
void LoadFlagsFromFile(const std::string& path) {
|
5911
|
+
static void LoadFlagsFromFile(const std::string& path) {
|
5254
5912
|
FILE* flagfile = posix::FOpen(path.c_str(), "r");
|
5255
5913
|
if (!flagfile) {
|
5256
|
-
|
5257
|
-
|
5258
|
-
GTEST_FLAG(flagfile).c_str());
|
5259
|
-
fflush(stderr);
|
5260
|
-
exit(EXIT_FAILURE);
|
5914
|
+
GTEST_LOG_(FATAL) << "Unable to open file \"" << GTEST_FLAG(flagfile)
|
5915
|
+
<< "\"";
|
5261
5916
|
}
|
5262
5917
|
std::string contents(ReadEntireFile(flagfile));
|
5263
5918
|
posix::FClose(flagfile);
|
@@ -5331,6 +5986,17 @@ void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
|
|
5331
5986
|
// other parts of Google Test.
|
5332
5987
|
void ParseGoogleTestFlagsOnly(int* argc, char** argv) {
|
5333
5988
|
ParseGoogleTestFlagsOnlyImpl(argc, argv);
|
5989
|
+
|
5990
|
+
// Fix the value of *_NSGetArgc() on macOS, but iff
|
5991
|
+
// *_NSGetArgv() == argv
|
5992
|
+
// Only applicable to char** version of argv
|
5993
|
+
#if GTEST_OS_MAC
|
5994
|
+
#ifndef GTEST_OS_IOS
|
5995
|
+
if (*_NSGetArgv() == argv) {
|
5996
|
+
*_NSGetArgc() = *argc;
|
5997
|
+
}
|
5998
|
+
#endif
|
5999
|
+
#endif
|
5334
6000
|
}
|
5335
6001
|
void ParseGoogleTestFlagsOnly(int* argc, wchar_t** argv) {
|
5336
6002
|
ParseGoogleTestFlagsOnlyImpl(argc, argv);
|
@@ -5352,6 +6018,10 @@ void InitGoogleTestImpl(int* argc, CharType** argv) {
|
|
5352
6018
|
g_argvs.push_back(StreamableToString(argv[i]));
|
5353
6019
|
}
|
5354
6020
|
|
6021
|
+
#if GTEST_HAS_ABSL
|
6022
|
+
absl::InitializeSymbolizer(g_argvs[0].c_str());
|
6023
|
+
#endif // GTEST_HAS_ABSL
|
6024
|
+
|
5355
6025
|
ParseGoogleTestFlagsOnly(argc, argv);
|
5356
6026
|
GetUnitTestImpl()->PostFlagParsingInit();
|
5357
6027
|
}
|
@@ -5385,4 +6055,61 @@ void InitGoogleTest(int* argc, wchar_t** argv) {
|
|
5385
6055
|
#endif // defined(GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_)
|
5386
6056
|
}
|
5387
6057
|
|
6058
|
+
// This overloaded version can be used on Arduino/embedded platforms where
|
6059
|
+
// there is no argc/argv.
|
6060
|
+
void InitGoogleTest() {
|
6061
|
+
// Since Arduino doesn't have a command line, fake out the argc/argv arguments
|
6062
|
+
int argc = 1;
|
6063
|
+
const auto arg0 = "dummy";
|
6064
|
+
char* argv0 = const_cast<char*>(arg0);
|
6065
|
+
char** argv = &argv0;
|
6066
|
+
|
6067
|
+
#if defined(GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_)
|
6068
|
+
GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_(&argc, argv);
|
6069
|
+
#else // defined(GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_)
|
6070
|
+
internal::InitGoogleTestImpl(&argc, argv);
|
6071
|
+
#endif // defined(GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_)
|
6072
|
+
}
|
6073
|
+
|
6074
|
+
std::string TempDir() {
|
6075
|
+
#if defined(GTEST_CUSTOM_TEMPDIR_FUNCTION_)
|
6076
|
+
return GTEST_CUSTOM_TEMPDIR_FUNCTION_();
|
6077
|
+
#endif
|
6078
|
+
|
6079
|
+
#if GTEST_OS_WINDOWS_MOBILE
|
6080
|
+
return "\\temp\\";
|
6081
|
+
#elif GTEST_OS_WINDOWS
|
6082
|
+
const char* temp_dir = internal::posix::GetEnv("TEMP");
|
6083
|
+
if (temp_dir == nullptr || temp_dir[0] == '\0')
|
6084
|
+
return "\\temp\\";
|
6085
|
+
else if (temp_dir[strlen(temp_dir) - 1] == '\\')
|
6086
|
+
return temp_dir;
|
6087
|
+
else
|
6088
|
+
return std::string(temp_dir) + "\\";
|
6089
|
+
#elif GTEST_OS_LINUX_ANDROID
|
6090
|
+
return "/sdcard/";
|
6091
|
+
#else
|
6092
|
+
return "/tmp/";
|
6093
|
+
#endif // GTEST_OS_WINDOWS_MOBILE
|
6094
|
+
}
|
6095
|
+
|
6096
|
+
// Class ScopedTrace
|
6097
|
+
|
6098
|
+
// Pushes the given source file location and message onto a per-thread
|
6099
|
+
// trace stack maintained by Google Test.
|
6100
|
+
void ScopedTrace::PushTrace(const char* file, int line, std::string message) {
|
6101
|
+
internal::TraceInfo trace;
|
6102
|
+
trace.file = file;
|
6103
|
+
trace.line = line;
|
6104
|
+
trace.message.swap(message);
|
6105
|
+
|
6106
|
+
UnitTest::GetInstance()->PushGTestTrace(trace);
|
6107
|
+
}
|
6108
|
+
|
6109
|
+
// Pops the info pushed by the c'tor.
|
6110
|
+
ScopedTrace::~ScopedTrace()
|
6111
|
+
GTEST_LOCK_EXCLUDED_(&UnitTest::mutex_) {
|
6112
|
+
UnitTest::GetInstance()->PopGTestTrace();
|
6113
|
+
}
|
6114
|
+
|
5388
6115
|
} // namespace testing
|