1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- You can run your own regressions. This can be incredibly handy for test.
- For example, when I've changed something in the kernel and want to test it,
- I can put a throwaway print line in the kernel.
- Then I cd to ~/nxm, and run this script:
- sh ~/jenkinshook.
- The script is tailored to my environment and looks like this:
- #!/bin/bash
- PATH=/home/rminnich/bin:$PATH
- set
- # The jenkinshook uses this variable.
- export JENKINSHOME="/home/rminnich"
- # sh -x ./jenkinshook
- echo "For debugging errors, we cat the jenkins hook here"
- echo "==="
- cat jenkinshook
- echo "==="
- . ./jenkinshook
- This does a clean build of everything -- libraries, commands,
- kernels -- and then boots the k8regression kernel. If all goes well, you see
- a date at the end. If not, you see lots of output. The output
- is the diff between sys/src/correctoutput and sys/src/qemuout.
- You're also going to need one more file, for the inferno config.
- It is called mkconfig.jenkins
- It goes in $JENKINSHOME. Mine looks like this:
- #
- # Set the following 4 variables. The host system is the system where
- # the software will be built; the target system is where it will run.
- # They are almost always the same.
- ROOT=$NXM/inferno-os/
- TKSTYLE=std
- SYSHOST=Linux # build system OS type (Hp, Inferno, Irix, Linux, MacOSX, Nt, Plan9, Solaris)
- SYSTARG=$SYSHOST # target system OS type (Hp, Inferno, Irix, Linux, Nt, Plan9, Solaris)
- OBJTYPE=386
- OBJDIR=$SYSTARG/$OBJTYPE
- <$ROOT/mkfiles/mkhost-$SYSHOST # variables appropriate for host system
- <$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE # variables used to build target object type
- Just recently, I was testing the new system call stuff.
- I put a print in that tested whether the new args matched the args
- on the stack.
- It did not, and it was really easy to find out this way before trying
- to run on real hardware. Going beyond build to a full boot, in the linux
- command line, is a real timesaver.
|