hintron / computer-enhance

An 8086 simulator in Rust (built during Casey Muratori's Computer Enhance performance-aware programming course)
0 stars 0 forks source link

Get regressions working on Windows and macOS #41

Closed hintron closed 6 months ago

hintron commented 6 months ago

Currently, I can't run the regressions on Windows because I don't have NASM installed on Windows. I can run the regression script just fine with Git Bash, but I can't compile the 8086 toolchain's NASM because I don't have make, and even if I used something like chocolatey to install make, I would need to install g++ and all that.

The most promising option is just to save off the compiled assembly binaries Into the regressions source files, and cut out the NASM step. Then, if I want to change any of the assembly, I just need to recompile them on a Linux machine.

What I could do is have a script that recompiles the assembly on non-Windows machines and checks to make sure they haven't changed before running regressions. If they have changed, then quit the regression so I can address it.

hintron commented 6 months ago

The problem is that the decode regressions use nasm to verify that the decode process worked properly. So I don't see a way of getting around that if I want to run the decode regressions on Windows.

Perhaps I can just ignore the decode regressions on Windows as a quick workaround...

hintron commented 6 months ago

I am going to postpone this for now - it's not worth the effort, in my opinion. If I copy over the assembled binaries to the Windows side from WSL, I am able to run it just fine. I can leave regressions and development to WSL and just test out the graphics on WIndows.

hintron commented 6 months ago

I can actually run regressions just fine on Windows in Git Bash and on macOS if I simply save off all the assembled binaries so that we don't need nasm. This requires reworking the regression infrastructure, but I was able to do it in 41-v1-wip3. So now I just need to test this out on Windows and macOS before committing it.

Also, for the decode regressions, I can still do the decode regressions just fine, it's just the reassembly check that I will skip on non-Linux machines. I will still catch aborts and panics.

hintron commented 6 months ago

This has been implemented with commits 04248c2...65907f4