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}`