script_core 0.2.7 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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[/*]
|