script_core 0.2.7 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Gemfile +2 -2
- data/ext/enterprise_script_service/Rakefile +1 -1
- data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +117 -74
- data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +41 -37
- data/ext/enterprise_script_service/mruby/.github/workflows/lint.yml +23 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/oss-fuzz.yml +27 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/spell-checker.yml +17 -0
- data/ext/enterprise_script_service/mruby/.gitlab-ci.yml +3 -3
- data/ext/enterprise_script_service/mruby/.markdownlint.yml +16 -0
- data/ext/enterprise_script_service/mruby/.travis.yml +2 -2
- data/ext/enterprise_script_service/mruby/.yamllint +8 -0
- data/ext/enterprise_script_service/mruby/AUTHORS +3 -0
- data/ext/enterprise_script_service/mruby/CODEOWNERS +1 -0
- data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +6 -13
- data/ext/enterprise_script_service/mruby/Doxyfile +4 -4
- data/ext/enterprise_script_service/mruby/LICENSE +1 -1
- data/ext/enterprise_script_service/mruby/Makefile +1 -1
- data/ext/enterprise_script_service/mruby/README.md +4 -14
- data/ext/enterprise_script_service/mruby/Rakefile +18 -108
- data/ext/enterprise_script_service/mruby/TODO.md +17 -0
- data/ext/enterprise_script_service/mruby/appveyor.yml +31 -25
- data/ext/enterprise_script_service/mruby/benchmark/bm_ao_render.rb +1 -1
- data/ext/enterprise_script_service/mruby/build_config.rb +9 -152
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_ArduinoDue.rb → build_config/ArduinoDue.rb} +2 -19
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelEdison.rb → build_config/IntelEdison.rb} +2 -2
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelGalileo.rb → build_config/IntelGalileo.rb} +1 -18
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_RX630.rb → build_config/RX630.rb} +2 -19
- data/ext/enterprise_script_service/mruby/build_config/android_arm64-v8a.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/android_armeabi.rb +11 -0
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_android_armeabi_v7a_neon_hard.rb → build_config/android_armeabi_v7a_neon_hard.rb} +0 -15
- data/ext/enterprise_script_service/mruby/build_config/bench.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/boxing.rb +21 -0
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_chipKITMax32.rb → build_config/chipKITMax32.rb} +2 -19
- data/ext/enterprise_script_service/mruby/{travis_config.rb → build_config/ci/gcc-clang.rb} +10 -10
- data/ext/enterprise_script_service/mruby/build_config/ci/msvc.rb +20 -0
- data/ext/enterprise_script_service/mruby/build_config/clang-asan.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/cross-32bit.rb +14 -0
- data/ext/enterprise_script_service/mruby/build_config/default.rb +80 -0
- data/ext/enterprise_script_service/mruby/{examples/targets/build_config_dreamcast_shelf.rb → build_config/dreamcast_shelf.rb} +5 -19
- data/ext/enterprise_script_service/mruby/build_config/gameboyadvance.rb +73 -0
- data/ext/enterprise_script_service/mruby/build_config/host-cxx.rb +12 -0
- data/ext/enterprise_script_service/mruby/build_config/host-debug.rb +20 -0
- data/ext/enterprise_script_service/mruby/build_config/host-gprof.rb +14 -0
- data/ext/enterprise_script_service/mruby/build_config/host-m32.rb +15 -0
- data/ext/enterprise_script_service/mruby/build_config/host-shared.rb +36 -0
- data/ext/enterprise_script_service/mruby/build_config/mrbc.rb +11 -0
- data/ext/enterprise_script_service/mruby/build_config/no-float.rb +17 -0
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +138 -49
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +5 -4
- data/ext/enterprise_script_service/mruby/doc/guides/gc-arena-howto.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +49 -22
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +31 -14
- data/ext/enterprise_script_service/mruby/doc/guides/symbol.md +83 -0
- data/ext/enterprise_script_service/mruby/doc/limitations.md +35 -36
- data/ext/enterprise_script_service/mruby/doc/mruby3.md +163 -0
- data/ext/enterprise_script_service/mruby/doc/opcode.md +93 -107
- data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/mrblib/example.rb +1 -1
- data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +5 -1
- data/ext/enterprise_script_service/mruby/examples/mrbgems/c_extension_example/src/example.c +5 -1
- data/ext/enterprise_script_service/mruby/examples/mrbgems/ruby_extension_example/mrblib/example.rb +1 -1
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +81 -62
- data/ext/enterprise_script_service/mruby/include/mruby.h +137 -96
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +23 -6
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +73 -48
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +8 -8
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +79 -48
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +10 -8
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +4 -1
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +13 -7
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +17 -35
- data/ext/enterprise_script_service/mruby/include/mruby/endian.h +44 -0
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +39 -5
- data/ext/enterprise_script_service/mruby/include/mruby/gc.h +1 -0
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +33 -13
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +64 -14
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +6 -14
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +36 -63
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +1 -27
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +27 -23
- data/ext/enterprise_script_service/mruby/include/mruby/presym.h +40 -0
- data/ext/enterprise_script_service/mruby/include/mruby/presym/disable.h +70 -0
- data/ext/enterprise_script_service/mruby/include/mruby/presym/enable.h +37 -0
- data/ext/enterprise_script_service/mruby/include/mruby/presym/scanning.h +73 -0
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +80 -13
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +10 -15
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +14 -3
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +29 -19
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +1 -0
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +26 -7
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +198 -44
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +55 -37
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +12 -10
- data/ext/enterprise_script_service/mruby/lib/{mruby-core-ext.rb → mruby/core_ext.rb} +10 -3
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +75 -32
- data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +1 -1
- data/ext/enterprise_script_service/mruby/lib/mruby/presym.rb +132 -0
- data/ext/enterprise_script_service/mruby/mrbgems/default-no-fpu.gembox +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/default-no-stdio.gembox +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -88
- data/ext/enterprise_script_service/mruby/mrbgems/full-core.gembox +1 -4
- data/ext/enterprise_script_service/mruby/mrbgems/math.gembox +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/metaprog.gembox +15 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +28 -19
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mruby-config +18 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +3 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +10 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +14 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +23 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +11 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +41 -34
- data/ext/enterprise_script_service/mruby/mrbgems/{mruby-compiler → mruby-bin-mrbc}/bintest/mrbc.rb +0 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +19 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +25 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +22 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrblib/catch.rb +27 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +430 -399
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +49 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +559 -217
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +4774 -4193
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +18 -19
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +8 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/mrbgem.rake +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +17 -25
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +18 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +30 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +7 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +18 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +9 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +55 -52
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +4 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +99 -87
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +2 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +7 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +13 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +5 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +43 -58
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/README.md +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +77 -74
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +14 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +5 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +18 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/mrbgem.rake +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/src/memsize.c +231 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/test/memsize.rb +63 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/README.md +15 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +38 -88
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -30
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +62 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +32 -19
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +98 -43
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +39 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +20 -40
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +27 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +11 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +216 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +6 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +6 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +47 -45
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +102 -71
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +4 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +23 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +13 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +18 -25
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +6 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/README.md +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +5 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +16 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +4 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +27 -27
- data/ext/enterprise_script_service/mruby/mrbgems/stdlib-ext.gembox +18 -0
- data/ext/enterprise_script_service/mruby/mrbgems/stdlib-io.gembox +12 -0
- data/ext/enterprise_script_service/mruby/mrbgems/stdlib.gembox +54 -0
- data/ext/enterprise_script_service/mruby/mrblib/10error.rb +4 -0
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +17 -9
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +0 -20
- data/ext/enterprise_script_service/mruby/mrblib/init_mrblib.c +0 -11
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +36 -11
- data/ext/enterprise_script_service/mruby/mrblib/range.rb +25 -3
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +2 -2
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +1 -1
- data/ext/enterprise_script_service/mruby/src/array.c +43 -80
- data/ext/enterprise_script_service/mruby/src/backtrace.c +16 -17
- data/ext/enterprise_script_service/mruby/src/class.c +774 -182
- data/ext/enterprise_script_service/mruby/src/codedump.c +223 -198
- data/ext/enterprise_script_service/mruby/src/debug.c +6 -6
- data/ext/enterprise_script_service/mruby/src/dump.c +466 -141
- data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
- data/ext/enterprise_script_service/mruby/src/error.c +36 -13
- data/ext/enterprise_script_service/mruby/src/etc.c +43 -34
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +5 -6
- data/ext/enterprise_script_service/mruby/src/gc.c +73 -71
- data/ext/enterprise_script_service/mruby/src/hash.c +1050 -707
- data/ext/enterprise_script_service/mruby/src/kernel.c +75 -220
- data/ext/enterprise_script_service/mruby/src/load.c +196 -166
- data/ext/enterprise_script_service/mruby/src/numeric.c +352 -314
- data/ext/enterprise_script_service/mruby/src/object.c +97 -90
- data/ext/enterprise_script_service/mruby/src/print.c +4 -3
- data/ext/enterprise_script_service/mruby/src/proc.c +48 -56
- data/ext/enterprise_script_service/mruby/src/range.c +45 -21
- data/ext/enterprise_script_service/mruby/src/state.c +25 -32
- data/ext/enterprise_script_service/mruby/src/string.c +59 -101
- data/ext/enterprise_script_service/mruby/src/symbol.c +121 -56
- data/ext/enterprise_script_service/mruby/src/value_array.h +1 -0
- data/ext/enterprise_script_service/mruby/src/variable.c +158 -158
- data/ext/enterprise_script_service/mruby/src/vm.c +617 -602
- data/ext/enterprise_script_service/mruby/tasks/benchmark.rake +6 -6
- data/ext/enterprise_script_service/mruby/tasks/bin.rake +23 -0
- data/ext/enterprise_script_service/mruby/tasks/core.rake +12 -0
- data/ext/enterprise_script_service/mruby/tasks/doc.rake +50 -38
- data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +83 -77
- data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +10 -1
- data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +13 -1
- data/ext/enterprise_script_service/mruby/tasks/mrblib.rake +40 -0
- data/ext/enterprise_script_service/mruby/tasks/presym.rake +44 -0
- data/ext/enterprise_script_service/mruby/tasks/test.rake +68 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +6 -5
- data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +10 -14
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +17 -21
- data/ext/enterprise_script_service/mruby/test/bintest.rb +5 -5
- data/ext/enterprise_script_service/mruby/test/t/argumenterror.rb +16 -0
- data/ext/enterprise_script_service/mruby/test/t/array.rb +7 -3
- data/ext/enterprise_script_service/mruby/test/t/bs_literal.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/float.rb +18 -8
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +903 -281
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +10 -38
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/literals.rb +50 -0
- data/ext/enterprise_script_service/mruby/test/t/module.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +1 -1
- data/ext/enterprise_script_service/mruby/test/t/range.rb +83 -1
- data/ext/enterprise_script_service/mruby/test/t/string.rb +4 -0
- data/ext/enterprise_script_service/mruby/test/t/superclass.rb +10 -10
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +24 -0
- data/ext/enterprise_script_service/mruby/test/t/vformat.rb +3 -3
- data/ext/enterprise_script_service/mruby_config.rb +2 -5
- data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
- data/lib/script_core/version.rb +1 -1
- data/spec/script_core_spec.rb +13 -0
- metadata +61 -23
- data/ext/enterprise_script_service/mruby/.github/workflows/main.yml +0 -24
- data/ext/enterprise_script_service/mruby/TODO +0 -8
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +0 -46
- data/ext/enterprise_script_service/mruby/benchmark/build_config_boxing.rb +0 -28
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +0 -26
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +0 -30
- data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +0 -18
- data/ext/enterprise_script_service/mruby/src/crc.c +0 -39
- data/ext/enterprise_script_service/mruby/src/mruby_core.rake +0 -19
|
@@ -422,7 +422,6 @@ def upto(max, exclusive=false, &block)
|
|
|
422
422
|
# both edges are all digits
|
|
423
423
|
bi = self.to_i(10)
|
|
424
424
|
ei = max.to_i(10)
|
|
425
|
-
len = self.length
|
|
426
425
|
if (bi > 0 or bi == "0"*len) and (ei > 0 or ei == "0"*maxlen)
|
|
427
426
|
while bi <= ei
|
|
428
427
|
break if exclusive and bi == ei
|
|
@@ -444,4 +443,27 @@ def upto(max, exclusive=false, &block)
|
|
|
444
443
|
end
|
|
445
444
|
self
|
|
446
445
|
end
|
|
446
|
+
|
|
447
|
+
def __upto_endless(&block)
|
|
448
|
+
return to_enum(:__upto_endless) unless block
|
|
449
|
+
|
|
450
|
+
len = self.length
|
|
451
|
+
# both edges are all digits
|
|
452
|
+
bi = self.to_i(10)
|
|
453
|
+
if bi > 0 or bi == "0"*len
|
|
454
|
+
while true
|
|
455
|
+
s = bi.to_s
|
|
456
|
+
s = s.rjust(len, "0") if s.length < len
|
|
457
|
+
yield s
|
|
458
|
+
bi += 1
|
|
459
|
+
end
|
|
460
|
+
return self
|
|
461
|
+
end
|
|
462
|
+
bs = self
|
|
463
|
+
while true
|
|
464
|
+
yield bs
|
|
465
|
+
bs = bs.succ
|
|
466
|
+
end
|
|
467
|
+
self
|
|
468
|
+
end
|
|
447
469
|
end
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
#define ENC_COMP_P(enc, enc_lit) \
|
|
13
13
|
str_casecmp_p(RSTRING_PTR(enc), RSTRING_LEN(enc), enc_lit, sizeof(enc_lit"")-1)
|
|
14
14
|
|
|
15
|
-
#ifdef
|
|
15
|
+
#ifdef MRB_NO_FLOAT
|
|
16
16
|
# define mrb_float_p(o) FALSE
|
|
17
17
|
#endif
|
|
18
18
|
|
|
@@ -166,7 +166,7 @@ mrb_str_concat_m(mrb_state *mrb, mrb_value self)
|
|
|
166
166
|
{
|
|
167
167
|
mrb_value str = mrb_get_arg1(mrb);
|
|
168
168
|
|
|
169
|
-
if (
|
|
169
|
+
if (mrb_integer_p(str) || mrb_float_p(str))
|
|
170
170
|
#ifdef MRB_UTF8_STRING
|
|
171
171
|
str = int_chr_utf8(mrb, str);
|
|
172
172
|
#else
|
|
@@ -194,7 +194,8 @@ mrb_str_concat_m(mrb_state *mrb, mrb_value self)
|
|
|
194
194
|
static mrb_value
|
|
195
195
|
mrb_str_start_with(mrb_state *mrb, mrb_value self)
|
|
196
196
|
{
|
|
197
|
-
mrb_value *argv
|
|
197
|
+
const mrb_value *argv;
|
|
198
|
+
mrb_value sub;
|
|
198
199
|
mrb_int argc, i;
|
|
199
200
|
mrb_get_args(mrb, "*", &argv, &argc);
|
|
200
201
|
|
|
@@ -223,7 +224,8 @@ mrb_str_start_with(mrb_state *mrb, mrb_value self)
|
|
|
223
224
|
static mrb_value
|
|
224
225
|
mrb_str_end_with(mrb_state *mrb, mrb_value self)
|
|
225
226
|
{
|
|
226
|
-
mrb_value *argv
|
|
227
|
+
const mrb_value *argv;
|
|
228
|
+
mrb_value sub;
|
|
227
229
|
mrb_int argc, i;
|
|
228
230
|
mrb_get_args(mrb, "*", &argv, &argc);
|
|
229
231
|
|
|
@@ -1072,7 +1074,8 @@ static mrb_value
|
|
|
1072
1074
|
mrb_str_del_prefix_bang(mrb_state *mrb, mrb_value self)
|
|
1073
1075
|
{
|
|
1074
1076
|
mrb_int plen, slen;
|
|
1075
|
-
char *ptr
|
|
1077
|
+
const char *ptr;
|
|
1078
|
+
char *s;
|
|
1076
1079
|
struct RString *str = RSTRING(self);
|
|
1077
1080
|
|
|
1078
1081
|
mrb_get_args(mrb, "s", &ptr, &plen);
|
|
@@ -1105,7 +1108,7 @@ static mrb_value
|
|
|
1105
1108
|
mrb_str_del_prefix(mrb_state *mrb, mrb_value self)
|
|
1106
1109
|
{
|
|
1107
1110
|
mrb_int plen, slen;
|
|
1108
|
-
char *ptr;
|
|
1111
|
+
const char *ptr;
|
|
1109
1112
|
|
|
1110
1113
|
mrb_get_args(mrb, "s", &ptr, &plen);
|
|
1111
1114
|
slen = RSTRING_LEN(self);
|
|
@@ -1129,7 +1132,8 @@ static mrb_value
|
|
|
1129
1132
|
mrb_str_del_suffix_bang(mrb_state *mrb, mrb_value self)
|
|
1130
1133
|
{
|
|
1131
1134
|
mrb_int plen, slen;
|
|
1132
|
-
char *ptr
|
|
1135
|
+
const char *ptr;
|
|
1136
|
+
char *s;
|
|
1133
1137
|
struct RString *str = RSTRING(self);
|
|
1134
1138
|
|
|
1135
1139
|
mrb_get_args(mrb, "s", &ptr, &plen);
|
|
@@ -1160,7 +1164,7 @@ static mrb_value
|
|
|
1160
1164
|
mrb_str_del_suffix(mrb_state *mrb, mrb_value self)
|
|
1161
1165
|
{
|
|
1162
1166
|
mrb_int plen, slen;
|
|
1163
|
-
char *ptr;
|
|
1167
|
+
const char *ptr;
|
|
1164
1168
|
|
|
1165
1169
|
mrb_get_args(mrb, "s", &ptr, &plen);
|
|
1166
1170
|
slen = RSTRING_LEN(self);
|
|
@@ -1229,7 +1233,7 @@ mrb_mruby_string_ext_gem_init(mrb_state* mrb)
|
|
|
1229
1233
|
|
|
1230
1234
|
mrb_define_method(mrb, s, "__lines", mrb_str_lines, MRB_ARGS_NONE());
|
|
1231
1235
|
|
|
1232
|
-
mrb_define_method(mrb,
|
|
1236
|
+
mrb_define_method(mrb, mrb_class_get(mrb, "Integer"), "chr", mrb_int_chr, MRB_ARGS_OPT(1));
|
|
1233
1237
|
}
|
|
1234
1238
|
|
|
1235
1239
|
void
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
#include <mruby/hash.h>
|
|
14
14
|
#include <mruby/range.h>
|
|
15
15
|
#include <mruby/proc.h>
|
|
16
|
+
#include <mruby/presym.h>
|
|
16
17
|
|
|
17
18
|
#define RSTRUCT_LEN(st) RARRAY_LEN(st)
|
|
18
19
|
#define RSTRUCT_PTR(st) RARRAY_PTR(st)
|
|
@@ -20,7 +21,7 @@
|
|
|
20
21
|
static struct RClass *
|
|
21
22
|
struct_class(mrb_state *mrb)
|
|
22
23
|
{
|
|
23
|
-
return
|
|
24
|
+
return mrb_class_get_id(mrb, MRB_SYM(Struct));
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
static inline mrb_value
|
|
@@ -42,7 +43,7 @@ struct_ivar_get(mrb_state *mrb, mrb_value cls, mrb_sym id)
|
|
|
42
43
|
static mrb_value
|
|
43
44
|
struct_s_members(mrb_state *mrb, struct RClass *klass)
|
|
44
45
|
{
|
|
45
|
-
mrb_value members = struct_ivar_get(mrb, mrb_obj_value(klass),
|
|
46
|
+
mrb_value members = struct_ivar_get(mrb, mrb_obj_value(klass), MRB_SYM(__members__));
|
|
46
47
|
|
|
47
48
|
if (mrb_nil_p(members)) {
|
|
48
49
|
mrb_raise(mrb, E_TYPE_ERROR, "uninitialized struct");
|
|
@@ -113,7 +114,7 @@ mrb_struct_members(mrb_state *mrb, mrb_value obj)
|
|
|
113
114
|
static mrb_value
|
|
114
115
|
mrb_struct_ref(mrb_state *mrb, mrb_value obj)
|
|
115
116
|
{
|
|
116
|
-
mrb_int i =
|
|
117
|
+
mrb_int i = mrb_integer(mrb_proc_cfunc_env_get(mrb, 0));
|
|
117
118
|
mrb_value *ptr = RSTRUCT_PTR(obj);
|
|
118
119
|
|
|
119
120
|
if (!ptr) return mrb_nil_value();
|
|
@@ -152,7 +153,7 @@ mrb_id_attrset(mrb_state *mrb, mrb_sym id)
|
|
|
152
153
|
static mrb_value
|
|
153
154
|
mrb_struct_set_m(mrb_state *mrb, mrb_value obj)
|
|
154
155
|
{
|
|
155
|
-
mrb_int i =
|
|
156
|
+
mrb_int i = mrb_integer(mrb_proc_cfunc_env_get(mrb, 0));
|
|
156
157
|
mrb_value *ptr;
|
|
157
158
|
mrb_value val = mrb_get_arg1(mrb);
|
|
158
159
|
|
|
@@ -214,7 +215,7 @@ make_struct(mrb_state *mrb, mrb_value name, mrb_value members, struct RClass *kl
|
|
|
214
215
|
}
|
|
215
216
|
MRB_SET_INSTANCE_TT(c, MRB_TT_ARRAY);
|
|
216
217
|
nstr = mrb_obj_value(c);
|
|
217
|
-
mrb_iv_set(mrb, nstr,
|
|
218
|
+
mrb_iv_set(mrb, nstr, MRB_SYM(__members__), members);
|
|
218
219
|
|
|
219
220
|
mrb_define_class_method(mrb, c, "new", mrb_instance_new, MRB_ARGS_ANY());
|
|
220
221
|
mrb_define_class_method(mrb, c, "[]", mrb_instance_new, MRB_ARGS_ANY());
|
|
@@ -262,12 +263,12 @@ static mrb_value
|
|
|
262
263
|
mrb_struct_s_def(mrb_state *mrb, mrb_value klass)
|
|
263
264
|
{
|
|
264
265
|
mrb_value name, rest;
|
|
265
|
-
mrb_value *pargv;
|
|
266
|
+
const mrb_value *pargv;
|
|
266
267
|
mrb_int argcnt;
|
|
267
268
|
mrb_int i;
|
|
268
269
|
mrb_value b, st;
|
|
269
270
|
mrb_sym id;
|
|
270
|
-
mrb_value *argv;
|
|
271
|
+
const mrb_value *argv;
|
|
271
272
|
mrb_int argc;
|
|
272
273
|
|
|
273
274
|
name = mrb_nil_value();
|
|
@@ -310,7 +311,7 @@ num_members(mrb_state *mrb, struct RClass *klass)
|
|
|
310
311
|
{
|
|
311
312
|
mrb_value members;
|
|
312
313
|
|
|
313
|
-
members = struct_ivar_get(mrb, mrb_obj_value(klass),
|
|
314
|
+
members = struct_ivar_get(mrb, mrb_obj_value(klass), MRB_SYM(__members__));
|
|
314
315
|
if (!mrb_array_p(members)) {
|
|
315
316
|
mrb_raise(mrb, E_TYPE_ERROR, "broken members");
|
|
316
317
|
}
|
|
@@ -321,7 +322,7 @@ num_members(mrb_state *mrb, struct RClass *klass)
|
|
|
321
322
|
/*
|
|
322
323
|
*/
|
|
323
324
|
static mrb_value
|
|
324
|
-
mrb_struct_initialize_withArg(mrb_state *mrb, mrb_int argc, mrb_value *argv, mrb_value self)
|
|
325
|
+
mrb_struct_initialize_withArg(mrb_state *mrb, mrb_int argc, const mrb_value *argv, mrb_value self)
|
|
325
326
|
{
|
|
326
327
|
struct RClass *klass = mrb_obj_class(mrb, self);
|
|
327
328
|
mrb_int i, n;
|
|
@@ -343,7 +344,7 @@ mrb_struct_initialize_withArg(mrb_state *mrb, mrb_int argc, mrb_value *argv, mrb
|
|
|
343
344
|
static mrb_value
|
|
344
345
|
mrb_struct_initialize(mrb_state *mrb, mrb_value self)
|
|
345
346
|
{
|
|
346
|
-
mrb_value *argv;
|
|
347
|
+
const mrb_value *argv;
|
|
347
348
|
mrb_int argc;
|
|
348
349
|
|
|
349
350
|
mrb_get_args(mrb, "*!", &argv, &argc);
|
|
@@ -428,12 +429,8 @@ mrb_struct_aref(mrb_state *mrb, mrb_value s)
|
|
|
428
429
|
mrb_value idx = mrb_get_arg1(mrb);
|
|
429
430
|
|
|
430
431
|
if (mrb_string_p(idx)) {
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
if (mrb_nil_p(sym)) {
|
|
434
|
-
mrb_name_error(mrb, mrb_intern_str(mrb, idx), "no member '%v' in struct", idx);
|
|
435
|
-
}
|
|
436
|
-
idx = sym;
|
|
432
|
+
mrb_sym sym = mrb_intern_str(mrb, idx);
|
|
433
|
+
idx = mrb_symbol_value(sym);
|
|
437
434
|
}
|
|
438
435
|
if (mrb_symbol_p(idx)) {
|
|
439
436
|
return struct_aref_sym(mrb, s, mrb_symbol(idx));
|
|
@@ -495,12 +492,8 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s)
|
|
|
495
492
|
mrb_get_args(mrb, "oo", &idx, &val);
|
|
496
493
|
|
|
497
494
|
if (mrb_string_p(idx)) {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
if (mrb_nil_p(sym)) {
|
|
501
|
-
mrb_name_error(mrb, mrb_intern_str(mrb, idx), "no member '%v' in struct", idx);
|
|
502
|
-
}
|
|
503
|
-
idx = sym;
|
|
495
|
+
mrb_sym sym = mrb_intern_str(mrb, idx);
|
|
496
|
+
idx = mrb_symbol_value(sym);
|
|
504
497
|
}
|
|
505
498
|
if (mrb_symbol_p(idx)) {
|
|
506
499
|
return mrb_struct_aset_sym(mrb, s, mrb_symbol(idx), val);
|
|
@@ -604,8 +597,8 @@ mrb_struct_eql(mrb_state *mrb, mrb_value s)
|
|
|
604
597
|
|
|
605
598
|
/*
|
|
606
599
|
* call-seq:
|
|
607
|
-
* struct.length ->
|
|
608
|
-
* struct.size ->
|
|
600
|
+
* struct.length -> Integer
|
|
601
|
+
* struct.size -> Integer
|
|
609
602
|
*
|
|
610
603
|
* Returns number of struct members.
|
|
611
604
|
*/
|
|
@@ -654,7 +647,7 @@ static mrb_value
|
|
|
654
647
|
mrb_struct_values_at(mrb_state *mrb, mrb_value self)
|
|
655
648
|
{
|
|
656
649
|
mrb_int argc;
|
|
657
|
-
mrb_value *argv;
|
|
650
|
+
const mrb_value *argv;
|
|
658
651
|
|
|
659
652
|
mrb_get_args(mrb, "*", &argv, &argc);
|
|
660
653
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#include <mruby.h>
|
|
2
|
-
#include <mruby/khash.h>
|
|
3
2
|
#include <mruby/array.h>
|
|
4
3
|
#include <mruby/string.h>
|
|
5
4
|
|
|
@@ -18,16 +17,18 @@
|
|
|
18
17
|
* :Tms, :getwd, :$=, :ThreadGroup,
|
|
19
18
|
* :wait2, :$>]
|
|
20
19
|
*/
|
|
21
|
-
#ifdef
|
|
20
|
+
#ifdef MRB_USE_ALL_SYMBOLS
|
|
22
21
|
static mrb_value
|
|
23
22
|
mrb_sym_all_symbols(mrb_state *mrb, mrb_value self)
|
|
24
23
|
{
|
|
25
24
|
mrb_sym i, lim;
|
|
26
25
|
mrb_value ary = mrb_ary_new_capa(mrb, mrb->symidx);
|
|
27
26
|
|
|
27
|
+
for (i=1; i<=MRB_PRESYM_MAX; i++) {
|
|
28
|
+
mrb_ary_push(mrb, ary, mrb_symbol_value(i));
|
|
29
|
+
}
|
|
28
30
|
for (i=1, lim=mrb->symidx+1; i<lim; i++) {
|
|
29
|
-
|
|
30
|
-
mrb_ary_push(mrb, ary, mrb_symbol_value(sym));
|
|
31
|
+
mrb_ary_push(mrb, ary, mrb_symbol_value(i+MRB_PRESYM_MAX));
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
return ary;
|
|
@@ -58,7 +59,7 @@ void
|
|
|
58
59
|
mrb_mruby_symbol_ext_gem_init(mrb_state* mrb)
|
|
59
60
|
{
|
|
60
61
|
struct RClass *s = mrb->symbol_class;
|
|
61
|
-
#ifdef
|
|
62
|
+
#ifdef MRB_USE_ALL_SYMBOLS
|
|
62
63
|
mrb_define_class_method(mrb, s, "all_symbols", mrb_sym_all_symbols, MRB_ARGS_NONE());
|
|
63
64
|
#endif
|
|
64
65
|
mrb_define_method(mrb, s, "length", mrb_sym_length, MRB_ARGS_NONE());
|
|
@@ -50,7 +50,7 @@ eval_test(mrb_state *mrb)
|
|
|
50
50
|
static mrb_value
|
|
51
51
|
t_print(mrb_state *mrb, mrb_value self)
|
|
52
52
|
{
|
|
53
|
-
mrb_value *argv;
|
|
53
|
+
const mrb_value *argv;
|
|
54
54
|
mrb_int argc;
|
|
55
55
|
mrb_int i;
|
|
56
56
|
|
|
@@ -224,8 +224,8 @@ mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose)
|
|
|
224
224
|
mrb_define_const(mrb, mrbtest, "FIXNUM_MIN", mrb_fixnum_value(MRB_INT_MIN));
|
|
225
225
|
mrb_define_const(mrb, mrbtest, "FIXNUM_BIT", mrb_fixnum_value(MRB_INT_BIT));
|
|
226
226
|
|
|
227
|
-
#ifndef
|
|
228
|
-
#ifdef
|
|
227
|
+
#ifndef MRB_NO_FLOAT
|
|
228
|
+
#ifdef MRB_USE_FLOAT32
|
|
229
229
|
mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-6));
|
|
230
230
|
#else
|
|
231
231
|
mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-12));
|
|
@@ -252,9 +252,9 @@ mrb_t_pass_result(mrb_state *mrb_dst, mrb_state *mrb_src)
|
|
|
252
252
|
#define TEST_COUNT_PASS(name) \
|
|
253
253
|
do { \
|
|
254
254
|
res_src = mrb_gv_get(mrb_src, mrb_intern_lit(mrb_src, "$" #name)); \
|
|
255
|
-
if (
|
|
255
|
+
if (mrb_integer_p(res_src)) { \
|
|
256
256
|
mrb_value res_dst = mrb_gv_get(mrb_dst, mrb_intern_lit(mrb_dst, "$" #name)); \
|
|
257
|
-
mrb_gv_set(mrb_dst, mrb_intern_lit(mrb_dst, "$" #name),
|
|
257
|
+
mrb_gv_set(mrb_dst, mrb_intern_lit(mrb_dst, "$" #name), mrb_int_value(mrb_dst, mrb_integer(res_dst) + mrb_integer(res_src))); \
|
|
258
258
|
} \
|
|
259
259
|
} while (FALSE) \
|
|
260
260
|
|
|
@@ -3,32 +3,24 @@
|
|
|
3
3
|
spec.author = 'mruby developers'
|
|
4
4
|
spec.summary = 'mruby test'
|
|
5
5
|
|
|
6
|
-
build.bins << 'mrbtest'
|
|
7
|
-
spec.add_dependency('mruby-compiler', :core => 'mruby-compiler')
|
|
8
|
-
|
|
9
6
|
spec.test_rbfiles = Dir.glob("#{MRUBY_ROOT}/test/t/*.rb")
|
|
10
7
|
|
|
11
8
|
clib = "#{build_dir}/mrbtest.c"
|
|
12
9
|
mlib = clib.ext(exts.object)
|
|
13
10
|
exec = exefile("#{build.build_dir}/bin/mrbtest")
|
|
14
|
-
|
|
15
|
-
mrbtest_lib = libfile("#{build_dir}/mrbtest")
|
|
16
|
-
mrbtest_objs = []
|
|
17
|
-
|
|
18
|
-
driver_objs = Dir.glob("#{dir}/*.{c,cpp,cxx,cc,m,asm,s,S}").map do |f|
|
|
19
|
-
objfile(f.relative_path_from(dir).to_s.pathmap("#{build_dir}/%X"))
|
|
20
|
-
end
|
|
21
|
-
|
|
22
11
|
assert_c = "#{build_dir}/assert.c"
|
|
23
12
|
assert_rb = "#{MRUBY_ROOT}/test/assert.rb"
|
|
24
13
|
assert_lib = assert_c.ext(exts.object)
|
|
25
|
-
|
|
14
|
+
mrbtest_lib = libfile("#{build_dir}/mrbtest")
|
|
15
|
+
mrbtest_objs = [assert_lib]
|
|
16
|
+
driver_objs = srcs_to_objs(".")
|
|
26
17
|
|
|
27
18
|
file assert_lib => assert_c
|
|
28
19
|
file assert_c => [assert_rb, build.mrbcfile] do |t|
|
|
20
|
+
_pp "GEN", t.name.relative_path
|
|
29
21
|
mkdir_p File.dirname(t.name)
|
|
30
22
|
open(t.name, 'w') do |f|
|
|
31
|
-
mrbc.run f, assert_rb, 'mrbtest_assert_irep'
|
|
23
|
+
mrbc.run f, assert_rb, 'mrbtest_assert_irep', false
|
|
32
24
|
end
|
|
33
25
|
end
|
|
34
26
|
|
|
@@ -36,11 +28,13 @@
|
|
|
36
28
|
|
|
37
29
|
build.gems.each do |g|
|
|
38
30
|
test_rbobj = g.test_rbireps.ext(exts.object)
|
|
39
|
-
g.test_objs
|
|
40
|
-
|
|
31
|
+
mrbtest_objs.concat(g.test_objs)
|
|
32
|
+
mrbtest_objs << test_rbobj
|
|
33
|
+
dep_list = build.gems.tsort_dependencies([g.name], gem_table).select(&:generate_functions)
|
|
41
34
|
|
|
42
35
|
file test_rbobj => g.test_rbireps
|
|
43
36
|
file g.test_rbireps => [g.test_rbfiles, build.mrbcfile].flatten do |t|
|
|
37
|
+
_pp "GEN", t.name.relative_path
|
|
44
38
|
mkdir_p File.dirname(t.name)
|
|
45
39
|
open(t.name, 'w') do |f|
|
|
46
40
|
g.print_gem_test_header(f)
|
|
@@ -58,12 +52,12 @@
|
|
|
58
52
|
if test_preload.nil?
|
|
59
53
|
f.puts %Q[extern const uint8_t mrbtest_assert_irep[];]
|
|
60
54
|
else
|
|
61
|
-
g.build.mrbc.run f, test_preload, "gem_test_irep_#{g.funcname}_preload"
|
|
55
|
+
g.build.mrbc.run f, test_preload, "gem_test_irep_#{g.funcname}_preload", false
|
|
62
56
|
end
|
|
63
57
|
g.test_rbfiles.flatten.each_with_index do |rbfile, i|
|
|
64
|
-
g.build.mrbc.run f, rbfile, "gem_test_irep_#{g.funcname}_#{i}"
|
|
58
|
+
g.build.mrbc.run f, rbfile, "gem_test_irep_#{g.funcname}_#{i}", false
|
|
65
59
|
end
|
|
66
|
-
f.puts %Q[void mrb_#{g.funcname}_gem_test(mrb_state *mrb);]
|
|
60
|
+
f.puts %Q[void mrb_#{g.funcname}_gem_test(mrb_state *mrb);] if g.custom_test_init?
|
|
67
61
|
dep_list.each do |d|
|
|
68
62
|
f.puts %Q[void GENERATED_TMP_mrb_#{d.funcname}_gem_init(mrb_state *mrb);]
|
|
69
63
|
f.puts %Q[void GENERATED_TMP_mrb_#{d.funcname}_gem_final(mrb_state *mrb);]
|
|
@@ -81,7 +75,7 @@
|
|
|
81
75
|
f.puts %Q[ ai = mrb_gc_arena_save(mrb);]
|
|
82
76
|
f.puts %Q[ mrb2 = mrb_open_core(mrb_default_allocf, NULL);]
|
|
83
77
|
f.puts %Q[ if (mrb2 == NULL) {]
|
|
84
|
-
f.puts %Q[ fprintf(stderr, "Invalid mrb_state, exiting \%s",
|
|
78
|
+
f.puts %Q[ fprintf(stderr, "Invalid mrb_state, exiting \%s", __func__);]
|
|
85
79
|
f.puts %Q[ exit(EXIT_FAILURE);]
|
|
86
80
|
f.puts %Q[ }]
|
|
87
81
|
dep_list.each do |d|
|
|
@@ -126,41 +120,19 @@
|
|
|
126
120
|
end
|
|
127
121
|
end
|
|
128
122
|
|
|
129
|
-
build.gems.each do |v|
|
|
130
|
-
mrbtest_objs.concat v.test_objs
|
|
131
|
-
end
|
|
132
|
-
|
|
133
123
|
file mrbtest_lib => mrbtest_objs do |t|
|
|
134
124
|
build.archiver.run t.name, t.prerequisites
|
|
135
125
|
end
|
|
136
126
|
|
|
137
127
|
unless build.build_mrbtest_lib_only?
|
|
138
128
|
file exec => [*driver_objs, mlib, mrbtest_lib, build.libmruby_static] do |t|
|
|
139
|
-
|
|
140
|
-
gem_flags_before_libraries = build.gems.map { |g| g.linker.flags_before_libraries }
|
|
141
|
-
gem_flags_after_libraries = build.gems.map { |g| g.linker.flags_after_libraries }
|
|
142
|
-
gem_libraries = build.gems.map { |g| g.linker.libraries }
|
|
143
|
-
gem_library_paths = build.gems.map { |g| g.linker.library_paths }
|
|
144
|
-
build.linker.run t.name, t.prerequisites, gem_libraries, gem_library_paths, gem_flags,
|
|
145
|
-
gem_flags_before_libraries, gem_flags_after_libraries
|
|
129
|
+
build.linker.run t.name, t.prerequisites, *build.gems.linker_attrs
|
|
146
130
|
end
|
|
147
131
|
end
|
|
148
132
|
|
|
149
|
-
# store the last gem selection and make the re-build
|
|
150
|
-
# of the test gem depending on a change to the gem
|
|
151
|
-
# selection
|
|
152
|
-
active_gems_path = "#{build_dir}/active_gems_path.lst"
|
|
153
|
-
active_gem_list = File.read active_gems_path if File.exist? active_gems_path
|
|
154
|
-
current_gem_list = build.gems.map(&:name).join("\n")
|
|
155
|
-
task active_gems_path do |_t|
|
|
156
|
-
mkdir_p File.dirname(active_gems_path)
|
|
157
|
-
File.write active_gems_path, current_gem_list
|
|
158
|
-
end
|
|
159
|
-
file clib => active_gems_path if active_gem_list != current_gem_list
|
|
160
|
-
|
|
161
133
|
file mlib => clib
|
|
162
|
-
file clib => [build.mrbcfile, __FILE__] do |_t|
|
|
163
|
-
_pp "GEN",
|
|
134
|
+
file clib => ["#{build.build_dir}/mrbgems/active_gems.txt", build.mrbcfile, __FILE__] do |_t|
|
|
135
|
+
_pp "GEN", clib.relative_path
|
|
164
136
|
mkdir_p File.dirname(clib)
|
|
165
137
|
open(clib, 'w') do |f|
|
|
166
138
|
f.puts %Q[/*]
|