GetPoplog / Seed

Scripts for getting Poplog onto your Linux machine
MIT License
7 stars 3 forks source link

Refactor tests into python + add a few new ones #102

Closed willprice closed 3 years ago

willprice commented 3 years ago

This PR revamps the testing suite we have, rewriting all existing tests into python with more descriptive names and adds a bunch of new tests to verify the behaviour of the poplog commander and the different build variants.

Happy path tests:

Unhappy path tests:

willprice commented 3 years ago

@sfkleach I'm not sure poplog popc, poplog poplink or poplog poplibr work.

For poplog popc test.p with

;;; file: test.p
define hi;
"hello"=>
enddefine;

I get

UNINITIALISED CONSTANT $-Pop$-Main

;;; MISHAP - POPLINK: ABORTED (see above)
;;; PRINT DOING
;;; DOING    :  sysprmishap prmishap sys_pr_exception sys_exception_final
;;;     sys_exception_handler
;;;     sys_raise_exception() wfile_link Main make_saved_image 00000000005CB5F
;;;     8 sysEXECUTE pop11_exec_stmnt_seq_to sysCOMPILE pop11_comp_stream
;;;     pop11_compile pop_setpop_compiler setpop

;;; MISHAP - POPC: ERRORS RUNNING POPLINK (see above)
;;; PRINT DOING
;;; DOING    :  sysprmishap prmishap sys_pr_exception sys_exception_final
;;;     sys_exception_handler
;;;     sys_raise_exception() run_comp_util Main make_saved_image 000000000062
;;;     E000 sysEXECUTE pop11_exec_stmnt_seq_to sysCOMPILE pop11_comp_stream
;;;     pop11_compile pop_setpop_compiler setpop

I don't know if I'm using it right, but it doesn't look like it should do that out of the box... here are the other commands:

$ poplog poplink
UNINITIALISED CONSTANT $-Pop$-Main
UNINITIALISED (USED) CONSTANT $-Sys$-_entry_point (NP)
WARNING -- NON-EXISTENT IDENTIFIER decimal_key
WARNING -- NON-EXISTENT IDENTIFIER biginteger_key
WARNING -- NON-EXISTENT IDENTIFIER ratio_key

;;; MISHAP - POPLINK: ABORTED (see above)
;;; PRINT DOING
;;; DOING    :  sysprmishap prmishap sys_pr_exception sys_exception_final
;;;     sys_exception_handler
;;;     sys_raise_exception() wfile_link Main make_saved_image 00000000005CB5F
;;;     8 sysEXECUTE pop11_exec_stmnt_seq_to sysCOMPILE pop11_comp_stream
;;;     pop11_compile pop_setpop_compiler setpop

$ poplog poplibr
;;; MISHAP - POPLIBR: INSUFFICIENT ARGUMENTS
;;; INVOLVING:  []
;;; PRINT DOING
;;; DOING    :  sysprmishap prmishap sys_pr_exception sys_exception_final
;;;     sys_exception_handler
;;;     sys_raise_exception() Main make_saved_image 00000000005B9120 sysEXECUT
;;;     E pop11_exec_stmnt_seq_to sysCOMPILE pop11_comp_stream pop11_compile
;;;     pop_setpop_compiler setpop
sfkleach commented 3 years ago

When I run make test locally I get a systests/report.xml file generated. This is in the .gitignore but not in the list of files cleaned up by target clean. I am not entirely sure what option makes this file to be generated - I think needs commenting as I had trouble tracking it down!

Also we still have nose2-junit.xml in the folder, which needs deleting now. And also removing from the .gitignore.

willprice commented 3 years ago

Where do you think it needs documenting? If you grep for report.xml you'll see the line specifying it in pytest.ini. Alternatively, I can remove that from pytest.ini and we can add the flag directly in the Makefile so it's more explicit?