diff --git a/Makefile b/Makefile index ca6ca94..556c5b3 100644 --- a/Makefile +++ b/Makefile @@ -231,8 +231,8 @@ save_restore_test: $(POSIX)/ueforth sizes: $(ESP32_SIM)/Esp32forth-sim echo internals size-all bye | $< | tools/memuse.py >$(ESP32_SIM)/sizes.txt -sanity_test_web: $(WEB)/ueforth.js - echo '120 3 + . cr bye' | $(D8) $< | tools/check_web_sanity.js +sanity_test_web: $(WEB)/ueforth.js tools/check_web_sanity.py + echo '120 3 + . cr bye' | $(D8) $< | ./tools/check_web_sanity.py # ---- GENERATED ---- diff --git a/tools/check_web_sanity.js b/tools/check_web_sanity.js deleted file mode 100755 index 77838dd..0000000 --- a/tools/check_web_sanity.js +++ /dev/null @@ -1,31 +0,0 @@ -#! /usr/bin/env nodejs -// Copyright 2022 Bradley D. Nelson -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -var fs = require('fs'); -var process = require('process'); - -var source = fs.readFileSync('/dev/stdin').toString(); - -if (source.match(/Invalid/)) { - console.log('BAD ASM.JS'); - console.log(source); - process.exit(1) -} - -if (!source.match(/[-][-][>] 123[ \r\n]+$/)) { - console.log('MISSING EXPECTED OUTPUT'); - console.log(source); - process.exit(1) -} diff --git a/tools/check_web_sanity.py b/tools/check_web_sanity.py new file mode 100755 index 0000000..72186a1 --- /dev/null +++ b/tools/check_web_sanity.py @@ -0,0 +1,29 @@ +#! /usr/bin/env python3 +# Copyright 2023 Bradley D. Nelson +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import re +import sys + +source = sys.stdin.read() + +if 'Invalid' in source: + print('BAD ASM.JS') + print(source) + sys.exit(1) + +if not source.strip().endswith('--> 123'): + print('MISSING EXPECTED OUTPUT') + print(source) + sys.exit(1) diff --git a/tools/importation.py b/tools/importation.py index 3ead57c..7b66209 100755 --- a/tools/importation.py +++ b/tools/importation.py @@ -1,4 +1,17 @@ #! /usr/bin/env python3 +# Copyright 2023 Bradley D. Nelson +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import argparse import os @@ -61,7 +74,7 @@ def Process(): for line in results: for r in replacements: name, value = r.split('=', 1) - line = line.replace('{{' + name + 'VERSION}}', value) + line = line.replace('{{' + name + '}}', value) output.append(line) # Drop comments. comment1 = False diff --git a/tools/memuse.py b/tools/memuse.py index 568cf88..4b4a789 100755 --- a/tools/memuse.py +++ b/tools/memuse.py @@ -1,4 +1,17 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 +# Copyright 2023 Bradley D. Nelson +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import sys