mirror of https://github.com/Nonannet/copapy.git
ci: fixed make_example.py and path names
This commit is contained in:
parent
d041312315
commit
9b78947202
|
|
@ -68,10 +68,10 @@ jobs:
|
||||||
bash tools/create_asm.sh
|
bash tools/create_asm.sh
|
||||||
|
|
||||||
echo '<p>example</p>' >> $GITHUB_STEP_SUMMARY
|
echo '<p>example</p>' >> $GITHUB_STEP_SUMMARY
|
||||||
python tools/clean_asm.py build/asm/example.asm >> $GITHUB_STEP_SUMMARY
|
python tools/clean_asm.py build/runner/example.asm >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
echo '<p>stencils_x86_64_O3.o</p>' >> $GITHUB_STEP_SUMMARY
|
echo '<p>stencils_x86_64_O3.o</p>' >> $GITHUB_STEP_SUMMARY
|
||||||
python tools/clean_asm.py build/asm/stencils.asm >> $GITHUB_STEP_SUMMARY
|
python tools/clean_asm.py build/runner/stencils.asm >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
- name: Run tests with pytest
|
- name: Run tests with pytest
|
||||||
run: pytest
|
run: pytest
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ def main() -> None:
|
||||||
if outp_flag:
|
if outp_flag:
|
||||||
print(line + '<br>')
|
print(line + '<br>')
|
||||||
|
|
||||||
if "Disassembly of section .text:" in line:
|
if "Disassembly of section .text" in line:
|
||||||
outp_flag = True
|
outp_flag = True
|
||||||
|
|
||||||
print('</code>')
|
print('</code>')
|
||||||
|
|
|
||||||
|
|
@ -5,29 +5,29 @@ set -v
|
||||||
|
|
||||||
mkdir -p build/runner
|
mkdir -p build/runner
|
||||||
|
|
||||||
arch=$(python3 -c "import copapy; print(copapy._stencils.detect_process_arch())")
|
cparch=$(python3 -c "import copapy; print(copapy._stencils.detect_process_arch())")
|
||||||
|
|
||||||
# Disassemble stencil object file
|
# Disassemble stencil object file
|
||||||
objdump -d -x src/copapy/obj/stencils_${arch}_O3.o > build/runner/stencils.asm
|
objdump -d -x src/copapy/obj/stencils_${cparch}_O3.o > build/runner/stencils.asm
|
||||||
|
|
||||||
# Create example code disassembly
|
# Create example code disassembly
|
||||||
python3 tools/make_example.py
|
python3 tools/make_example.py
|
||||||
build/runner/coparun build/runner/test.copapy build/runner/test.copapy.bin
|
build/runner/coparun build/runner/test.copapy build/runner/test.copapy.bin
|
||||||
|
|
||||||
if [ $(arch) = 'x86_64' ]; then
|
if [ "$cparch" = 'x86_64' ]; then
|
||||||
arch="i386:x86-64"
|
cparch="i386:x86-64"
|
||||||
elif [ $(arch) = 'x86' ]; then
|
elif [ "$cparch" = 'x86' ]; then
|
||||||
arch="i386"
|
cparch="i386"
|
||||||
elif [ $(arch) = 'arm64' ]; then
|
elif [ "$cparch" = 'arm64' ]; then
|
||||||
arch="aarch64"
|
cparch="aarch64"
|
||||||
elif [ $(arch) = 'armv6' ]; then
|
elif [ "$cparch" = 'armv6' ]; then
|
||||||
arch="arm"
|
cparch="arm"
|
||||||
elif [ $(arch) = 'armv7' ]; then
|
elif [ "$cparch" = 'armv7' ]; then
|
||||||
arch="arm"
|
cparch="arm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Archtitecture: '$arch'"
|
echo "Archtitecture: '$cparch'"
|
||||||
|
|
||||||
objdump -D -b binary -m $arch --adjust-vma=0x10000 build/runner/test.copapy.bin > build/runner/example.asm
|
objdump -D -b binary -m $cparch --adjust-vma=0x10000 build/runner/test.copapy.bin > build/runner/example.asm
|
||||||
|
|
||||||
rm build/runner/test.copapy.bin
|
rm build/runner/test.copapy.bin
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from copapy._binwrite import Command
|
||||||
import copapy as cp
|
import copapy as cp
|
||||||
|
|
||||||
|
|
||||||
def compile_to_x86_64() -> None:
|
def compile_example(arch: str = 'native') -> None:
|
||||||
"""Test compilation of a simple program for x86_64."""
|
"""Test compilation of a simple program for x86_64."""
|
||||||
c1 = value(9.0)
|
c1 = value(9.0)
|
||||||
|
|
||||||
|
|
@ -16,65 +16,16 @@ def compile_to_x86_64() -> None:
|
||||||
|
|
||||||
out = [Write(r) for r in ret]
|
out = [Write(r) for r in ret]
|
||||||
|
|
||||||
sdb = stencil_db_from_package('x86_64')
|
sdb = stencil_db_from_package(arch)
|
||||||
dw, _ = compile_to_dag(out, sdb)
|
dw, _ = compile_to_dag(out, sdb)
|
||||||
|
|
||||||
dw.write_com(Command.DUMP_CODE)
|
dw.write_com(Command.DUMP_CODE)
|
||||||
|
|
||||||
print('* Data to runner:')
|
#print('* Data to runner:')
|
||||||
dw.print()
|
#dw.print()
|
||||||
|
|
||||||
dw.to_file('build/runner/test.copapy')
|
dw.to_file('build/runner/test.copapy')
|
||||||
|
|
||||||
|
|
||||||
def compile_to_x86() -> None:
|
|
||||||
"""Test compilation of a simple program for x86 32 bit."""
|
|
||||||
c1 = value(9.0)
|
|
||||||
|
|
||||||
#ret = [c1 / 4, c1 / -4, c1 // 4, c1 // -4, (c1 * -1) // 4]
|
|
||||||
ret = [c1 // 3.3 + 5]
|
|
||||||
#ret = [cp.sqrt(c1)]
|
|
||||||
#c2 = cp._math.get_42()
|
|
||||||
#ret = [c2]
|
|
||||||
ret = [cp.sin(value(2.5))]
|
|
||||||
|
|
||||||
out = [Write(r) for r in ret]
|
|
||||||
|
|
||||||
sdb = stencil_db_from_package('x86')
|
|
||||||
dw, _ = compile_to_dag(out, sdb)
|
|
||||||
|
|
||||||
dw.write_com(Command.DUMP_CODE)
|
|
||||||
|
|
||||||
print('* Data to runner:')
|
|
||||||
dw.print()
|
|
||||||
|
|
||||||
dw.to_file('build/runner/test-x86.copapy')
|
|
||||||
|
|
||||||
|
|
||||||
def compile_to_aarch64() -> None:
|
|
||||||
"""Test compilation of a simple program for arm64."""
|
|
||||||
c1 = value(9.0)
|
|
||||||
|
|
||||||
#ret = [c1 / 4, c1 / -4, c1 // 4, c1 // -4, (c1 * -1) // 4]
|
|
||||||
#ret = [cp.sin(c1), cp.sqrt(c1) + 5]
|
|
||||||
ret = [c1 // 3.3 + 5]
|
|
||||||
#c2 = cp._math.get_42()
|
|
||||||
#ret = [c2]
|
|
||||||
|
|
||||||
out = [Write(r) for r in ret]
|
|
||||||
|
|
||||||
sdb = stencil_db_from_package('arm64')
|
|
||||||
dw, _ = compile_to_dag(out, sdb)
|
|
||||||
|
|
||||||
dw.write_com(Command.DUMP_CODE)
|
|
||||||
|
|
||||||
print('* Data to runner:')
|
|
||||||
dw.print()
|
|
||||||
|
|
||||||
dw.to_file('build/runner/test-arm64.copapy')
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
compile_to_x86_64()
|
compile_example()
|
||||||
compile_to_x86()
|
|
||||||
compile_to_aarch64()
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue