diff --git a/.github/workflows/itest.yml b/.github/workflows/itest.yml index 3a6c79b..c2e1b96 100644 --- a/.github/workflows/itest.yml +++ b/.github/workflows/itest.yml @@ -32,16 +32,14 @@ concurrency: group: itest-${{ github.ref }} cancel-in-progress: true jobs: - build: + itest: strategy: matrix: os: [ ubuntu-24.04, macos-15, windows-2022 ] - java: [ 21 ] + java: [ 22 ] node: [ 16 ] # lang: [Java, JavaScript] lang: [ Java ] - parser: [ 0.48.2 ] - tag: [ 0.48.2 ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -53,9 +51,16 @@ jobs: distribution: 'zulu' java-version: ${{ matrix.java }} - run: npm install - - run: | + - shell: bash + run: | cd itest - node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch "--language=${{ matrix.lang }}" --easy dataize program - node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch --alone "--language=${{ matrix.lang }}" --easy dataize program - node ../src/eoc.js clean - node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch "--language=${{ matrix.lang }}" --easy test + declare -a opts=( + "../src/eoc.js" + "--batch" + "--language=${{ matrix.lang }}" + "--easy" + ) + node "${opts[@]}" link + node "${opts[@]}" --alone dataize program + node "${opts[@]}" clean + node "${opts[@]}" test diff --git a/eo-version.txt b/eo-version.txt index e85205d..36328c4 100644 --- a/eo-version.txt +++ b/eo-version.txt @@ -1 +1 @@ -0.48.2 +0.49.1 diff --git a/home-tag.txt b/home-tag.txt index e85205d..36328c4 100644 --- a/home-tag.txt +++ b/home-tag.txt @@ -1 +1 @@ -0.48.2 +0.49.1 diff --git a/mvnw/pom.xml b/mvnw/pom.xml index 024cf19..41c37db 100644 --- a/mvnw/pom.xml +++ b/mvnw/pom.xml @@ -30,6 +30,8 @@ SOFTWARE. UTF-8 undefined 0.6.22 + 256M + 64M @@ -101,6 +103,8 @@ SOFTWARE. true false false + random + -Xmx${heap-size} -Xss${stack-size} diff --git a/src/commands/java/test.js b/src/commands/java/test.js index 1eaeba7..f6373f9 100644 --- a/src/commands/java/test.js +++ b/src/commands/java/test.js @@ -30,5 +30,11 @@ const {mvnw, flags} = require('../../mvnw'); * @return {Promise} of compile task */ module.exports = function(opts) { - return mvnw(['surefire:test'].concat(flags(opts))); + return mvnw( + [ + 'surefire:test', + `-Dstack-size=${opts.stack}`, + `-Dheap-size=${opts.heap}`, + ].concat(flags(opts)) + ); }; diff --git a/src/eoc.js b/src/eoc.js index 031b9e6..f67b7a2 100755 --- a/src/eoc.js +++ b/src/eoc.js @@ -310,7 +310,7 @@ program.command('link') program.command('dataize') .description('Run the single executable binary and dataize an object') - .option('--stack ', 'Set stack size for the virtual machine', '1M') + .option('--stack ', 'Set stack size for the virtual machine', '64M') .option('--heap ', 'Set the heap size for the VM', '256M') .action((str, opts) => { clear(str); @@ -333,6 +333,8 @@ program.command('dataize') program.command('test') .description('Run all visible unit tests') + .option('--stack ', 'Set stack size for the virtual machine', '64M') + .option('--heap ', 'Set the heap size for the VM', '256M') .action((str, opts) => { clear(str); if (program.opts().alone == undefined) { @@ -342,9 +344,9 @@ program.command('test') .then((r) => coms().transpile(program.opts())) .then((r) => coms().compile(program.opts())) .then((r) => coms().link(program.opts())) - .then((r) => coms().test(program.opts())); + .then((r) => coms().test({...program.opts(), ...str})); } else { - coms().test(program.opts()); + coms().test({...program.opts(), ...str}); } }); diff --git a/test/commands/test_test.js b/test/commands/test_test.js index 0a111b4..92d4184 100644 --- a/test/commands/test_test.js +++ b/test/commands/test_test.js @@ -60,6 +60,8 @@ describe('test', function() { '--easy', `--parser=${parser}`, `--home-tag=${hash}`, + '--stack=16M', + '--heap=128M', '-s', path.resolve(home, 'src'), '-t', path.resolve(home, 'target'), `--language=${lang}`