Permalink
Commits on Dec 1, 2011
  1. Show missed packet contents.

    aclements committed Dec 1, 2011
    This gives something to compare unexpected packets with.
Commits on Nov 30, 2011
Commits on Nov 29, 2011
  1. Awesomely better match_packet_seq for testinput and testoutput.

    aclements committed Nov 29, 2011
    Use difflib to match up the real and expected packet sequences and
    produce a failure message based on the full diff.  Previously, we
    assumed they would align perfectly---which is almost certainly *not*
    the case if something goes wrong---and reported on only the first
    mismatched packet.
    
    This also eliminates the dependency on tcpdump, instead reading the
    pcap file directly.
  2. Only report "Waiting for packets" once the ARP reply has been received

    aclements committed Nov 29, 2011
    testinput sends the ARP request asynchronously, via IPC to the output
    environment.  Because of this, the grade script could start sending
    packets before QEMU was ready to receive them.
    
    Bug reported by Brian Hamrick.
Commits on Nov 28, 2011
Commits on Nov 24, 2011
  1. Python 2.5 compatibility

    aclements committed Nov 24, 2011
  2. Python 2.5 compatibility

    aclements committed Nov 24, 2011
Commits on Nov 23, 2011
  1. lab7

    aclements committed Nov 23, 2011
  2. New Python-based grading infrastructure.

    aclements committed Nov 23, 2011
    This replaces the aging and increasingly convoluted shell-based
    grading infrastructure.
    
    Features
    * Superior failure messages that show context from the QEMU output.
    * Failed tests always save their full output in jos.out.<testname>.
    * You can now filter which tests are run.  E.g., ./grade-lab3 hello
      will run only tests with "hello" in their title.
    * Many tests terminate faster because we monitor QEMU more closely.
    * And, because we can, color output.
Commits on Nov 21, 2011
  1. Automatically rebuild affected files on compile flag changes.

    aclements committed Nov 21, 2011
    This eliminates the need to carefully remove object files when we
    run make with different compile flags.
    
    While the core of this change is remarkably simple, it has
    repercussions.  We have to split out flags for kern/init.c and net/*.c
    because, now, changing DEFS will cause everything to be rebuilt (as it
    should).  We also have to sleep after running make in the grade
    scripts because, otherwise, we'll call make more than once per second,
    which means it won't be able to detect mtime changes and will fail to
    rebuild things (previously we forced it to rebuild exactly what we
    knew we needed).
  2. Panic if sys_time_msec fails.

    aclements committed Nov 21, 2011
    This prevents JOS from simply hanging early in the lab.
Commits on Nov 18, 2011
  1. map_segment should use readn, not read.

    aclements committed Nov 18, 2011
    Thanks to Dan Weber.
Commits on Nov 17, 2011
  1. lab6

    aclements committed Nov 17, 2011
Commits on Nov 12, 2011
  1. Correct short alloc of free bitmap in fsformat.

    aclements committed Nov 12, 2011
    Bug found by Robert Bowden.
Commits on Nov 7, 2011
  1. Put QEMU in snapshot mode for most of the FS tests.

    aclements committed Nov 7, 2011
    This substantially improves the performance of the basic file system
    tests on Athena (especially the large file test).
  2. Split debug symbol out of user binaries.

    aclements committed Nov 7, 2011
    Since these binaries are baked in to the kernel image, it's important
    that we keep them small enough to prevent the kernel from exceeding
    the 4MB early boot limit imposed by the entrypgdir.
Commits on Nov 4, 2011
  1. lab5

    aclements committed Nov 4, 2011
Commits on Nov 3, 2011
  1. Generate handin tarballs via git.

    aclements committed Nov 3, 2011
    Previously, the tarball rule sucked in everything in sight.  This
    allows students to better control what gets handed in and code
    reviewed.  The rule checks several sanity conditions before creating
    the archive.
Commits on Nov 1, 2011
  1. env_destroy() might race when the env to destory is currently running

    aclements committed Nov 1, 2011
    on another CPU. Add an ENV_ZOMBIE state to postpone env_free() until
    the next time the zombie env traps into the kernel.
    
    (Thanks to Christopher Ryan Johnson for pointing this out.)
Commits on Oct 24, 2011
  1. Use backticks intead of $().

    aclements committed Oct 24, 2011
    Old versions of bash, like the one on Athena, don't parse the original
    syntax correctly.
Commits on Oct 19, 2011
Commits on Oct 16, 2011
Commits on Oct 13, 2011
  1. lab4

    aclements committed Oct 13, 2011
  2. Minor lab3 updates

    aclements committed Oct 13, 2011
Commits on Sep 29, 2011
  1. lab3

    aclements committed Sep 29, 2011
Commits on Sep 15, 2011
  1. update lab2

    Haogang Chen
    Haogang Chen committed Sep 15, 2011
Commits on Sep 7, 2011
  1. Code style fix

    aclements committed Sep 7, 2011
  2. _start --> entry

    haogang committed Sep 7, 2011