script_core 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +8 -6
- data/.ruby-version +1 -1
- data/Gemfile +2 -1
- data/bin/sandbox +1 -1
- data/ext/enterprise_script_service/Rakefile +1 -1
- data/ext/enterprise_script_service/flags.rb +5 -0
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +15 -0
- data/ext/enterprise_script_service/libseccomp/CREDITS +3 -0
- data/ext/enterprise_script_service/libseccomp/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/README.md +1 -1
- data/ext/enterprise_script_service/libseccomp/SECURITY.md +45 -0
- data/ext/enterprise_script_service/libseccomp/configure.ac +3 -3
- data/ext/enterprise_script_service/libseccomp/doc/admin/MAINTAINER_PROCESS.md +95 -0
- data/ext/enterprise_script_service/libseccomp/{RELEASE_PROCESS.md → doc/admin/RELEASE_PROCESS.md} +9 -1
- data/ext/enterprise_script_service/libseccomp/include/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +2292 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +3 -1065
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +34 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +44 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +46 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +142 -18
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +47 -15
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +143 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +94 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +142 -19
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/db.c +1 -0
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +10 -3
- data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +4 -4
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.c +98 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.tests +18 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +6 -3
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -2
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
- data/ext/enterprise_script_service/mruby-mpdecimal/src/ext.c +1 -1
- data/ext/enterprise_script_service/mruby/.gitignore +2 -2
- data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +10 -3
- data/ext/enterprise_script_service/mruby/Doxyfile +2408 -0
- data/ext/enterprise_script_service/mruby/README.md +21 -8
- data/ext/enterprise_script_service/mruby/Rakefile +4 -13
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +1 -1
- data/ext/enterprise_script_service/mruby/build_config.rb +3 -3
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +42 -42
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +45 -6
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +5 -0
- data/ext/enterprise_script_service/mruby/doc/limitations.md +88 -38
- data/ext/enterprise_script_service/mruby/doc/mruby_logo_red_icon.png +0 -0
- data/ext/enterprise_script_service/mruby/doc/opcode.md +94 -94
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +74 -11
- data/ext/enterprise_script_service/mruby/include/mruby.h +242 -146
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +7 -7
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +2 -9
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +11 -10
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +104 -69
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +7 -5
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +9 -7
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -5
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +3 -7
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +34 -6
- data/ext/enterprise_script_service/mruby/include/mruby/gc.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +4 -11
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +16 -4
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -4
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +41 -7
- data/ext/enterprise_script_service/mruby/include/mruby/object.h +8 -9
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +19 -13
- data/ext/enterprise_script_service/mruby/include/mruby/range.h +10 -4
- data/ext/enterprise_script_service/mruby/include/mruby/re.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +130 -107
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +137 -49
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +3 -5
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +2 -39
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +32 -15
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +63 -17
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +11 -7
- data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +81 -0
- data/ext/enterprise_script_service/mruby/minirake +27 -11
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +47 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +50 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +28 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +75 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +134 -90
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +69 -46
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +0 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +51 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +430 -241
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrbgem.rake +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +122 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +249 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +153 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +19 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +41 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +30 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +8 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +46 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +51 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +47 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-exit/src/mruby-exit.c +9 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +16 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/test/fiber.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +3 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +24 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/kernel.rb +16 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +19 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +5 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +54 -42
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +24 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +41 -35
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +9 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +9 -27
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +5 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +39 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +48 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +134 -101
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +9 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +17 -37
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +0 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +15 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +35 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -5
- 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 +28 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +43 -49
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +3 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +6 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +21 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +157 -124
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +72 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +38 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +26 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +111 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +117 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +209 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +308 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +10 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +22 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +8 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +116 -117
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/numeric.rb +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/range.rb +26 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +32 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +43 -57
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +16 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +152 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +200 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +199 -68
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/test/time.rb +81 -46
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +14 -16
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +13 -9
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrblib/range.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/string.rb +55 -112
- data/ext/enterprise_script_service/mruby/mruby-source.gemspec +1 -1
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby.dict +105 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_fuzzer.options +5 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_proto_fuzzer.options +4 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_fuzzer.c +18 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +44 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.cpp +455 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +55 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/ruby.proto +201 -0
- data/ext/enterprise_script_service/mruby/src/array.c +95 -46
- data/ext/enterprise_script_service/mruby/src/backtrace.c +6 -8
- data/ext/enterprise_script_service/mruby/src/class.c +370 -278
- data/ext/enterprise_script_service/mruby/src/codedump.c +34 -34
- data/ext/enterprise_script_service/mruby/src/debug.c +2 -2
- data/ext/enterprise_script_service/mruby/src/dump.c +8 -6
- data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
- data/ext/enterprise_script_service/mruby/src/error.c +157 -55
- data/ext/enterprise_script_service/mruby/src/etc.c +13 -46
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +2 -2
- data/ext/enterprise_script_service/mruby/src/gc.c +30 -11
- data/ext/enterprise_script_service/mruby/src/hash.c +23 -14
- data/ext/enterprise_script_service/mruby/src/kernel.c +16 -54
- data/ext/enterprise_script_service/mruby/src/load.c +40 -76
- data/ext/enterprise_script_service/mruby/src/numeric.c +164 -94
- data/ext/enterprise_script_service/mruby/src/object.c +16 -39
- data/ext/enterprise_script_service/mruby/src/pool.c +0 -2
- data/ext/enterprise_script_service/mruby/src/proc.c +47 -48
- data/ext/enterprise_script_service/mruby/src/range.c +22 -35
- data/ext/enterprise_script_service/mruby/src/state.c +5 -94
- data/ext/enterprise_script_service/mruby/src/string.c +874 -710
- data/ext/enterprise_script_service/mruby/src/symbol.c +73 -48
- data/ext/enterprise_script_service/mruby/src/variable.c +58 -38
- data/ext/enterprise_script_service/mruby/src/vm.c +133 -304
- data/ext/enterprise_script_service/mruby/tasks/doc.rake +48 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +3 -4
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +20 -19
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +0 -12
- data/ext/enterprise_script_service/mruby/test/assert.rb +186 -25
- data/ext/enterprise_script_service/mruby/test/t/array.rb +34 -6
- data/ext/enterprise_script_service/mruby/test/t/class.rb +26 -0
- data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +17 -17
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +2 -0
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +14 -6
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +38 -19
- data/ext/enterprise_script_service/mruby/test/t/module.rb +87 -14
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +65 -23
- data/ext/enterprise_script_service/mruby/test/t/range.rb +4 -4
- data/ext/enterprise_script_service/mruby/test/t/string.rb +211 -49
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +19 -2
- data/ext/enterprise_script_service/mruby/test/t/vformat.rb +92 -0
- data/ext/enterprise_script_service/mruby/travis_config.rb +2 -2
- data/ext/enterprise_script_service/mruby_config.rb +10 -0
- data/ext/enterprise_script_service/mruby_engine.cpp +2 -2
- data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +14 -0
- data/ext/enterprise_script_service/msgpack/Files.cmake +4 -0
- data/ext/enterprise_script_service/msgpack/README.md +1 -1
- data/ext/enterprise_script_service/msgpack/appveyor.yml +1 -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_msgpack_tuple_decl.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +3 -3
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/wstring.hpp +15 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object.h +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +17 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +27 -16
- data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +5 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +0 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/check_container_size.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/timespec.hpp +140 -0
- 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/cpp03_msgpack_tuple_decl.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +10 -10
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +5 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +40 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int_decl.hpp +3 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +121 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/pack.hpp +40 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +11 -11
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +7 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/zbuffer.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +28 -26
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/zone.h +1 -1
- data/ext/enterprise_script_service/msgpack/src/objectc.c +83 -148
- data/ext/enterprise_script_service/msgpack/src/unpack.c +73 -47
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +1 -1
- data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +15 -9
- data/ext/enterprise_script_service/msgpack/test/buffer.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/carray.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/convert.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/fixint.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +6 -1
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +8 -2
- data/ext/enterprise_script_service/msgpack/test/json.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/limit.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +128 -6
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +7 -2
- data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +20 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +159 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +8 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +23 -18
- data/ext/enterprise_script_service/msgpack/test/object.cpp +77 -45
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +28 -10
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +25 -18
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/raw.cpp +17 -12
- data/ext/enterprise_script_service/msgpack/test/reference.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +6 -2
- data/ext/enterprise_script_service/msgpack/test/streaming.cpp +10 -3
- data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/version.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/zone.cpp +6 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/mruby/engine.gembox.example +1 -0
- data/lib/tasks/script_core.rake +21 -3
- data/spec/dummy/app/helpers/fields_helper.rb +2 -2
- data/spec/dummy/mruby/engine.gembox +1 -0
- data/spec/script_core_spec.rb +1 -1
- metadata +38 -22
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.gitignore +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +0 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/unbound_method.rb +0 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.gitignore +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/packtest.rb +0 -157
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.c +0 -224
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.h +0 -80
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.h +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/.travis.yml +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/run_test.rb +0 -28
@@ -206,25 +206,41 @@ module MiniRake
|
|
206
206
|
# task with the prerequisites and actions from the rule. Set the
|
207
207
|
# source attribute of the task appropriately for the rule. Return
|
208
208
|
# the enhanced task or nil of no rule was found.
|
209
|
-
def enhance_with_matching_rule(task_name)
|
209
|
+
def enhance_with_matching_rule(task_name, level=0)
|
210
|
+
fail "Rule Recursion Too Deep: #{task_name}" if level >= 16
|
210
211
|
RULES.each do |pattern, extensions, block|
|
211
|
-
|
212
|
-
|
213
|
-
deps = extensions[1..-1]
|
212
|
+
next unless pattern && pattern.match(task_name)
|
213
|
+
sources = extensions.flat_map do |ext|
|
214
214
|
case ext
|
215
|
+
when /%/
|
216
|
+
task_name.pathmap(ext)
|
217
|
+
when %r{/}
|
218
|
+
ext
|
219
|
+
when /^\./
|
220
|
+
source = task_name.sub(pattern, ext)
|
221
|
+
source == ext ? task_name.ext(ext) : source
|
215
222
|
when String
|
216
|
-
|
217
|
-
when Proc
|
218
|
-
|
223
|
+
ext
|
224
|
+
when Proc, Method
|
225
|
+
ext.arity == 1 ? ext.call(task_name) : ext.call
|
219
226
|
else
|
220
227
|
fail "Don't know how to handle rule dependent: #{ext.inspect}"
|
221
228
|
end
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
229
|
+
end
|
230
|
+
prereqs = sources.map do |source|
|
231
|
+
if File.exist?(source) || TASKS[source]
|
232
|
+
source
|
233
|
+
elsif parent = enhance_with_matching_rule(source, level + 1)
|
234
|
+
parent.name
|
235
|
+
else
|
236
|
+
break nil
|
226
237
|
end
|
227
238
|
end
|
239
|
+
if prereqs
|
240
|
+
task = FileTask.define_task(task_name => prereqs, &block)
|
241
|
+
task.source = prereqs.first
|
242
|
+
return task
|
243
|
+
end
|
228
244
|
end
|
229
245
|
nil
|
230
246
|
end
|
@@ -86,6 +86,9 @@ MRuby::GemBox.new do |conf|
|
|
86
86
|
# Use class/module extension
|
87
87
|
conf.gem :core => "mruby-class-ext"
|
88
88
|
|
89
|
+
# Use Method/UnboundMethod class
|
90
|
+
conf.gem :core => "mruby-method"
|
91
|
+
|
89
92
|
# Use mruby-compiler to build other mrbgems
|
90
93
|
conf.gem :core => "mruby-compiler"
|
91
94
|
end
|
@@ -88,6 +88,22 @@ def -(elem)
|
|
88
88
|
array
|
89
89
|
end
|
90
90
|
|
91
|
+
##
|
92
|
+
# call-seq:
|
93
|
+
# ary.difference(other_ary1, other_ary2, ...) -> new_ary
|
94
|
+
#
|
95
|
+
# Returns a new array that is a copy of the original array, removing all
|
96
|
+
# occurrences of any item that also appear in +other_ary+. The order is
|
97
|
+
# preserved from the original array.
|
98
|
+
#
|
99
|
+
def difference(*args)
|
100
|
+
ary = self
|
101
|
+
args.each do |x|
|
102
|
+
ary = ary - x
|
103
|
+
end
|
104
|
+
ary
|
105
|
+
end
|
106
|
+
|
91
107
|
##
|
92
108
|
# call-seq:
|
93
109
|
# ary | other_ary -> new_ary
|
@@ -157,6 +173,24 @@ def &(elem)
|
|
157
173
|
array
|
158
174
|
end
|
159
175
|
|
176
|
+
##
|
177
|
+
# call-seq:
|
178
|
+
# ary.intersection(other_ary,...) -> new_ary
|
179
|
+
#
|
180
|
+
# Set Intersection---Returns a new array containing elements common to
|
181
|
+
# this array and <i>other_ary</i>s, removing duplicates. The order is
|
182
|
+
# preserved from the original array.
|
183
|
+
#
|
184
|
+
# [1, 2, 3].intersection([3, 4, 1], [1, 3, 5]) #=> [1, 3]
|
185
|
+
#
|
186
|
+
def intersection(*args)
|
187
|
+
ary = self
|
188
|
+
args.each do |x|
|
189
|
+
ary = ary & x
|
190
|
+
end
|
191
|
+
ary
|
192
|
+
end
|
193
|
+
|
160
194
|
##
|
161
195
|
# call-seq:
|
162
196
|
# ary.flatten -> new_ary
|
@@ -815,12 +849,11 @@ def dig(idx,*args)
|
|
815
849
|
# a.permutation(0).to_a #=> [[]] # one permutation of length 0
|
816
850
|
# a.permutation(4).to_a #=> [] # no permutations of length 4
|
817
851
|
def permutation(n=self.size, &block)
|
818
|
-
size = self.size
|
819
852
|
return to_enum(:permutation, n) unless block
|
820
|
-
|
853
|
+
size = self.size
|
821
854
|
if n == 0
|
822
|
-
|
823
|
-
|
855
|
+
yield []
|
856
|
+
elsif 0 < n && n <= size
|
824
857
|
i = 0
|
825
858
|
while i<size
|
826
859
|
result = [self[i]]
|
@@ -835,6 +868,7 @@ def permutation(n=self.size, &block)
|
|
835
868
|
i += 1
|
836
869
|
end
|
837
870
|
end
|
871
|
+
self
|
838
872
|
end
|
839
873
|
|
840
874
|
##
|
@@ -861,9 +895,8 @@ def permutation(n=self.size, &block)
|
|
861
895
|
# a.combination(5).to_a #=> [] # no combinations of length 5
|
862
896
|
|
863
897
|
def combination(n, &block)
|
864
|
-
size = self.size
|
865
898
|
return to_enum(:combination, n) unless block
|
866
|
-
|
899
|
+
size = self.size
|
867
900
|
if n == 0
|
868
901
|
yield []
|
869
902
|
elsif n == 1
|
@@ -872,7 +905,7 @@ def combination(n, &block)
|
|
872
905
|
yield [self[i]]
|
873
906
|
i += 1
|
874
907
|
end
|
875
|
-
|
908
|
+
elsif n <= size
|
876
909
|
i = 0
|
877
910
|
while i<size
|
878
911
|
result = [self[i]]
|
@@ -882,6 +915,7 @@ def combination(n, &block)
|
|
882
915
|
i += 1
|
883
916
|
end
|
884
917
|
end
|
918
|
+
self
|
885
919
|
end
|
886
920
|
|
887
921
|
##
|
@@ -903,8 +937,8 @@ def transpose
|
|
903
937
|
column_count = nil
|
904
938
|
self.each do |row|
|
905
939
|
raise TypeError unless row.is_a?(Array)
|
906
|
-
column_count ||= row.
|
907
|
-
raise IndexError, 'element size differs' unless column_count == row.
|
940
|
+
column_count ||= row.size
|
941
|
+
raise IndexError, 'element size differs' unless column_count == row.size
|
908
942
|
end
|
909
943
|
|
910
944
|
Array.new(column_count) do |column_index|
|
@@ -936,4 +970,8 @@ def to_h(&blk)
|
|
936
970
|
end
|
937
971
|
h
|
938
972
|
end
|
973
|
+
|
974
|
+
alias append push
|
975
|
+
alias prepend unshift
|
976
|
+
alias filter! select!
|
939
977
|
end
|
@@ -65,7 +65,7 @@ mrb_ary_rassoc(mrb_state *mrb, mrb_value ary)
|
|
65
65
|
|
66
66
|
for (i = 0; i < RARRAY_LEN(ary); ++i) {
|
67
67
|
v = RARRAY_PTR(ary)[i];
|
68
|
-
if (
|
68
|
+
if (mrb_array_p(v) &&
|
69
69
|
RARRAY_LEN(v) > 1 &&
|
70
70
|
mrb_equal(mrb, RARRAY_PTR(v)[1], value))
|
71
71
|
return v;
|
@@ -145,7 +145,7 @@ mrb_ary_slice_bang(mrb_state *mrb, mrb_value self)
|
|
145
145
|
mrb_get_args(mrb, "o|i", &index, &len);
|
146
146
|
switch (mrb_type(index)) {
|
147
147
|
case MRB_TT_RANGE:
|
148
|
-
if (mrb_range_beg_len(mrb, index, &i, &len, ARY_LEN(a), TRUE) ==
|
148
|
+
if (mrb_range_beg_len(mrb, index, &i, &len, ARY_LEN(a), TRUE) == MRB_RANGE_OK) {
|
149
149
|
goto delete_pos_len;
|
150
150
|
}
|
151
151
|
else {
|
@@ -194,7 +194,7 @@ mrb_mruby_array_ext_gem_init(mrb_state* mrb)
|
|
194
194
|
mrb_define_method(mrb, a, "at", mrb_ary_at, MRB_ARGS_REQ(1));
|
195
195
|
mrb_define_method(mrb, a, "rassoc", mrb_ary_rassoc, MRB_ARGS_REQ(1));
|
196
196
|
mrb_define_method(mrb, a, "values_at", mrb_ary_values_at, MRB_ARGS_ANY());
|
197
|
-
mrb_define_method(mrb, a, "slice!", mrb_ary_slice_bang,
|
197
|
+
mrb_define_method(mrb, a, "slice!", mrb_ary_slice_bang, MRB_ARGS_ARG(1,1));
|
198
198
|
}
|
199
199
|
|
200
200
|
void
|
@@ -1,6 +1,23 @@
|
|
1
1
|
##
|
2
2
|
# Array(Ext) Test
|
3
3
|
|
4
|
+
def assert_permutation_combination(exp, receiver, meth, *args)
|
5
|
+
act = []
|
6
|
+
ret = receiver.__send__(meth, *args) { |v| act << v }
|
7
|
+
assert "assert_#{meth}" do
|
8
|
+
assert_equal(exp, act.sort)
|
9
|
+
assert_same(receiver, ret)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def assert_permutation(exp, receiver, *args)
|
14
|
+
assert_permutation_combination(exp, receiver, :permutation, *args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def assert_combination(exp, receiver, *args)
|
18
|
+
assert_permutation_combination(exp, receiver, :combination, *args)
|
19
|
+
end
|
20
|
+
|
4
21
|
assert("Array#assoc") do
|
5
22
|
s1 = [ "colors", "red", "blue", "green" ]
|
6
23
|
s2 = [ "letters", "a", "b", "c" ]
|
@@ -76,6 +93,14 @@
|
|
76
93
|
assert_equal [1, 2, 3, 4, 5], a.union(b,c)
|
77
94
|
end
|
78
95
|
|
96
|
+
assert("Array#difference") do
|
97
|
+
a = [1, 2, 3, 1, 6, 7]
|
98
|
+
b = [1, 4, 6]
|
99
|
+
c = [1, 5, 7]
|
100
|
+
|
101
|
+
assert_equal [2, 3], a.difference(b,c)
|
102
|
+
end
|
103
|
+
|
79
104
|
assert("Array#&") do
|
80
105
|
a = [1, 2, 3, 1]
|
81
106
|
b = [1, 4]
|
@@ -86,6 +111,14 @@
|
|
86
111
|
assert_equal [1, 2, 3, 1], a
|
87
112
|
end
|
88
113
|
|
114
|
+
assert("Array#intersection") do
|
115
|
+
a = [1, 2, 3, 1, 8, 6, 7, 8]
|
116
|
+
b = [1, 4, 6, 8]
|
117
|
+
c = [1, 5, 7, 8]
|
118
|
+
|
119
|
+
assert_equal [1, 8], a.intersection(b,c)
|
120
|
+
end
|
121
|
+
|
89
122
|
assert("Array#flatten") do
|
90
123
|
assert_equal [1, 2, "3", {4=>5}, :'6'], [1, 2, "3", {4=>5}, :'6'].flatten
|
91
124
|
assert_equal [1, 2, 3, 4, 5, 6], [1, 2, [3, 4, 5], 6].flatten
|
@@ -162,12 +195,6 @@
|
|
162
195
|
b << i
|
163
196
|
end
|
164
197
|
assert_equal [ "d", "c", "b", "a" ], b
|
165
|
-
|
166
|
-
if Object.const_defined?(:Enumerator)
|
167
|
-
assert_equal [ "d", "c", "b", "a" ], a.reverse_each.to_a
|
168
|
-
else
|
169
|
-
true
|
170
|
-
end
|
171
198
|
end
|
172
199
|
|
173
200
|
assert("Array#rotate") do
|
@@ -268,9 +295,9 @@ def between(lo, x, hi)
|
|
268
295
|
end
|
269
296
|
end
|
270
297
|
|
271
|
-
|
272
|
-
|
273
|
-
end
|
298
|
+
# tested through Array#bsearch
|
299
|
+
#assert("Array#bsearch_index") do
|
300
|
+
#end
|
274
301
|
|
275
302
|
assert("Array#delete_if") do
|
276
303
|
a = [1, 2, 3, 4, 5]
|
@@ -369,30 +396,24 @@ def between(lo, x, hi)
|
|
369
396
|
|
370
397
|
assert("Array#permutation") do
|
371
398
|
a = [1, 2, 3]
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
a.permutation(3).to_a)
|
380
|
-
assert_equal([[]], a.permutation(0).to_a)
|
381
|
-
assert_equal([], a.permutation(4).to_a)
|
399
|
+
assert_permutation([[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]], a)
|
400
|
+
assert_permutation([[1],[2],[3]], a, 1)
|
401
|
+
assert_permutation([[1,2],[1,3],[2,1],[2,3],[3,1],[3,2]], a, 2)
|
402
|
+
assert_permutation([[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]], a, 3)
|
403
|
+
assert_permutation([[]], a, 0)
|
404
|
+
assert_permutation([], a, 4)
|
405
|
+
assert_permutation([], a, -1)
|
382
406
|
end
|
383
407
|
|
384
408
|
assert("Array#combination") do
|
385
409
|
a = [1, 2, 3, 4]
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
a.combination(4).to_a)
|
394
|
-
assert_equal([[]], a.combination(0).to_a)
|
395
|
-
assert_equal([], a.combination(5).to_a)
|
410
|
+
assert_combination([[1],[2],[3],[4]], a, 1)
|
411
|
+
assert_combination([[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]], a, 2)
|
412
|
+
assert_combination([[1,2,3],[1,2,4],[1,3,4],[2,3,4]], a, 3)
|
413
|
+
assert_combination([[1,2,3,4]], a, 4)
|
414
|
+
assert_combination([[]], a, 0)
|
415
|
+
assert_combination([], a, 5)
|
416
|
+
assert_combination([], a, -1)
|
396
417
|
end
|
397
418
|
|
398
419
|
assert('Array#transpose') do
|
@@ -95,7 +95,7 @@ check_file_lineno(mrb_state *mrb, struct mrb_irep *irep, const char *file, uint1
|
|
95
95
|
for (f_idx = 0; f_idx < irep->debug_info->flen; ++f_idx) {
|
96
96
|
const char *filename;
|
97
97
|
info_file = irep->debug_info->files[f_idx];
|
98
|
-
filename =
|
98
|
+
filename = mrb_sym_name_len(mrb, info_file->filename_sym, NULL);
|
99
99
|
if (!strcmp(filename, file)) {
|
100
100
|
result = MRB_DEBUG_BP_FILE_OK;
|
101
101
|
|
@@ -126,7 +126,7 @@ compare_break_method(mrb_state *mrb, mrb_debug_breakpoint *bp, struct RClass *cl
|
|
126
126
|
mrb_debug_methodpoint *method_p;
|
127
127
|
mrb_bool is_defined;
|
128
128
|
|
129
|
-
method_name =
|
129
|
+
method_name = mrb_sym_name(mrb, method_sym);
|
130
130
|
|
131
131
|
method_p = &bp->point.methodpoint;
|
132
132
|
if (strcmp(method_p->method_name, method_name) == 0) {
|
@@ -428,7 +428,7 @@ mrb_debug_disable_break_all(mrb_state *mrb, mrb_debug_context *dbg)
|
|
428
428
|
}
|
429
429
|
|
430
430
|
static mrb_bool
|
431
|
-
check_start_pc_for_line(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, uint16_t line)
|
431
|
+
check_start_pc_for_line(mrb_state *mrb, mrb_irep *irep, const mrb_code *pc, uint16_t line)
|
432
432
|
{
|
433
433
|
if (pc > irep->iseq) {
|
434
434
|
if (line == mrb_debug_get_line(mrb, irep, pc - irep->iseq - 1)) {
|
@@ -33,7 +33,7 @@ mrdb_check_syntax(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size
|
|
33
33
|
mrb_value
|
34
34
|
mrb_debug_eval(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size_t len, mrb_bool *exc, int direct_eval)
|
35
35
|
{
|
36
|
-
void (*tmp)(struct mrb_state *, struct mrb_irep *, mrb_code *, mrb_value *);
|
36
|
+
void (*tmp)(struct mrb_state *, struct mrb_irep *, const mrb_code *, mrb_value *);
|
37
37
|
mrb_value ruby_code;
|
38
38
|
mrb_value s;
|
39
39
|
mrb_value v;
|
@@ -74,7 +74,7 @@ mrb_debug_eval(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size_t
|
|
74
74
|
*exc = mrb_obj_is_kind_of(mrb, v, mrb->eException_class);
|
75
75
|
}
|
76
76
|
|
77
|
-
s =
|
77
|
+
s = mrb_inspect(mrb, v);
|
78
78
|
|
79
79
|
/* enable code_fetch_hook */
|
80
80
|
mrb->code_fetch_hook = tmp;
|
@@ -18,7 +18,6 @@ dbgcmd_print(mrb_state *mrb, mrdb_state *mrdb)
|
|
18
18
|
{
|
19
19
|
mrb_value expr;
|
20
20
|
mrb_value result;
|
21
|
-
mrb_value s;
|
22
21
|
uint8_t wcnt;
|
23
22
|
int ai;
|
24
23
|
|
@@ -39,8 +38,9 @@ dbgcmd_print(mrb_state *mrb, mrdb_state *mrdb)
|
|
39
38
|
result = mrb_debug_eval(mrb, mrdb->dbg, RSTRING_PTR(expr), RSTRING_LEN(expr), NULL, 0);
|
40
39
|
|
41
40
|
/* $print_no = result */
|
42
|
-
|
43
|
-
|
41
|
+
printf("$%lu = ", (unsigned long)mrdb->print_no++);
|
42
|
+
fwrite(RSTRING_PTR(result), RSTRING_LEN(result), 1, stdout);
|
43
|
+
putc('\n', stdout);
|
44
44
|
|
45
45
|
if (mrdb->print_no == 0) {
|
46
46
|
mrdb->print_no = 1;
|
@@ -505,7 +505,7 @@ get_and_parse_command(mrb_state *mrb, mrdb_state *mrdb)
|
|
505
505
|
}
|
506
506
|
|
507
507
|
static int32_t
|
508
|
-
check_method_breakpoint(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, mrb_value *regs)
|
508
|
+
check_method_breakpoint(mrb_state *mrb, mrb_irep *irep, const mrb_code *pc, mrb_value *regs)
|
509
509
|
{
|
510
510
|
struct RClass* c;
|
511
511
|
mrb_sym sym;
|
@@ -546,7 +546,7 @@ check_method_breakpoint(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, mrb_value
|
|
546
546
|
}
|
547
547
|
|
548
548
|
static void
|
549
|
-
mrb_code_fetch_hook(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, mrb_value *regs)
|
549
|
+
mrb_code_fetch_hook(mrb_state *mrb, mrb_irep *irep, const mrb_code *pc, mrb_value *regs)
|
550
550
|
{
|
551
551
|
const char *file;
|
552
552
|
int32_t line;
|
@@ -6,6 +6,10 @@
|
|
6
6
|
#ifndef MRDBCONF_H
|
7
7
|
#define MRDBCONF_H
|
8
8
|
|
9
|
+
#ifndef MRB_ENABLE_DEBUG_HOOK
|
10
|
+
# error Need 'MRB_ENABLE_DEBUG_HOOK' configuration in your 'build_config.rb'
|
11
|
+
#endif
|
12
|
+
|
9
13
|
/* configuration options: */
|
10
14
|
/* maximum size for command buffer */
|
11
15
|
#define MAX_COMMAND_LINE 1024
|
@@ -240,7 +240,7 @@ usage(const char *name)
|
|
240
240
|
};
|
241
241
|
const char *const *p = usage_msg;
|
242
242
|
|
243
|
-
printf("Usage: %s [switches]\n", name);
|
243
|
+
printf("Usage: %s [switches] [programfile] [arguments]\n", name);
|
244
244
|
while (*p)
|
245
245
|
printf(" %s\n", *p++);
|
246
246
|
}
|
@@ -406,6 +406,26 @@ ctrl_c_handler(int signo)
|
|
406
406
|
}
|
407
407
|
#endif
|
408
408
|
|
409
|
+
#ifndef DISABLE_MIRB_UNDERSCORE
|
410
|
+
void decl_lv_underscore(mrb_state *mrb, mrbc_context *cxt)
|
411
|
+
{
|
412
|
+
struct RProc *proc;
|
413
|
+
struct mrb_parser_state *parser;
|
414
|
+
|
415
|
+
parser = mrb_parse_string(mrb, "_=nil", cxt);
|
416
|
+
if (parser == NULL) {
|
417
|
+
fputs("create parser state error\n", stderr);
|
418
|
+
mrb_close(mrb);
|
419
|
+
exit(EXIT_FAILURE);
|
420
|
+
}
|
421
|
+
|
422
|
+
proc = mrb_generate_code(mrb, parser);
|
423
|
+
mrb_vm_run(mrb, proc, mrb_top_self(mrb), 0);
|
424
|
+
|
425
|
+
mrb_parser_free(parser);
|
426
|
+
}
|
427
|
+
#endif
|
428
|
+
|
409
429
|
int
|
410
430
|
main(int argc, char **argv)
|
411
431
|
{
|
@@ -471,6 +491,10 @@ main(int argc, char **argv)
|
|
471
491
|
|
472
492
|
cxt = mrbc_context_new(mrb);
|
473
493
|
|
494
|
+
#ifndef DISABLE_MIRB_UNDERSCORE
|
495
|
+
decl_lv_underscore(mrb, cxt);
|
496
|
+
#endif
|
497
|
+
|
474
498
|
/* Load libraries */
|
475
499
|
for (i = 0; i < args.libc; i++) {
|
476
500
|
FILE *lfp = fopen(args.libv[i], "r");
|
@@ -643,6 +667,9 @@ main(int argc, char **argv)
|
|
643
667
|
result = mrb_any_to_s(mrb, result);
|
644
668
|
}
|
645
669
|
p(mrb, result, 1);
|
670
|
+
#ifndef DISABLE_MIRB_UNDERSCORE
|
671
|
+
*(mrb->c->stack + 1) = result;
|
672
|
+
#endif
|
646
673
|
}
|
647
674
|
}
|
648
675
|
ruby_code[0] = '\0';
|