Dropped another js tool.

This commit is contained in:
Brad Nelson
2023-12-22 20:57:59 -08:00
parent c475681b0e
commit 8147d8669e
5 changed files with 59 additions and 35 deletions

View File

@ -231,8 +231,8 @@ save_restore_test: $(POSIX)/ueforth
sizes: $(ESP32_SIM)/Esp32forth-sim sizes: $(ESP32_SIM)/Esp32forth-sim
echo internals size-all bye | $< | tools/memuse.py >$(ESP32_SIM)/sizes.txt echo internals size-all bye | $< | tools/memuse.py >$(ESP32_SIM)/sizes.txt
sanity_test_web: $(WEB)/ueforth.js sanity_test_web: $(WEB)/ueforth.js tools/check_web_sanity.py
echo '120 3 + . cr bye' | $(D8) $< | tools/check_web_sanity.js echo '120 3 + . cr bye' | $(D8) $< | ./tools/check_web_sanity.py
# ---- GENERATED ---- # ---- GENERATED ----

View File

@ -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)
}

29
tools/check_web_sanity.py Executable file
View File

@ -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)

View File

@ -1,4 +1,17 @@
#! /usr/bin/env python3 #! /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 argparse
import os import os
@ -61,7 +74,7 @@ def Process():
for line in results: for line in results:
for r in replacements: for r in replacements:
name, value = r.split('=', 1) name, value = r.split('=', 1)
line = line.replace('{{' + name + 'VERSION}}', value) line = line.replace('{{' + name + '}}', value)
output.append(line) output.append(line)
# Drop comments. # Drop comments.
comment1 = False comment1 = False

View File

@ -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 import sys