Skip to content

Berkeley-CS61B/bsag-jh61b

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jh61b for BSAG

Steps for running jh61b.jar with BSAG.

Notice

This package is currently under active development! It's probably broken. I'm working as fast as I can to un-break it and add features. Once I've verified that I can run an autograder, I will publish it on PyPI.

Usage

jh61b uses "pieces", which are a related group of test files. Each piece is defined by the set of student files and assessment files it depends on.

An example set of jh61b steps might look like

# Check that the relevant files are present
- jh61b.check_files:
      pieces:
          TestIntList:
              # Student files must be present and not clobbered by AG files
              student_files:
                  - IntList/IntListExercises.java
                  - IntList/IntList.java
                  - IntList/Primes.java
              # jh61b test files that will be run later.
              assessment_files:
                  - AGTestAddConstant.java
                  - AGTestSetToZeroIfMaxFEL.java
                  - AGTestSquarePrimes.java
          # Define multiple pieces that can succeed or fail independently
          TestArithmetic:
              student_files:
                  - Arithmetic/Arithmetic.java
              assessment_files:
                  - AGTestArithmetic.java
          TestDebugExercise:
              student_files:
                  - DebugExercise/DebugExercise2.java
              assessment_files:
                  - AGTestDebugExercise.java
# Compile every piece
- jh61b.compilation
# use `jdeps` to verify that student files don't depend on disallowed libraries
# for example, `reflect` can be used to fake behavior under test.
- jh61b.dep_check:
      disallowed_classes:
          - java.lang.reflect.**
# Run assessments
- jh61b.assessment:
      # Some pieces will have special settings. If a piece isn't special, no
      # need to specify it.
      piece_configs:
          # This test requires students to pass every test in the file(s) to
          # receive full credit. The aggregation report has gradescope test
          # number "3".
          TestDebugExercise
              require_full_score: true
              aggregated_number: 3
# Weight module scores to achieve a total score.
- jh61b.final_score:
      scoring:
          TestIntList: 80
          TestArithmetic: 16
          TestDebugExercise: 32
      max_points: 128

About

jh61b step definitions for BSAG

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages