or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-4/

{
  "context": "This criteria evaluates how well the engineer uses metro-memory-fs's symbolic link operations to implement a file link manager. The focus is on proper usage of symlinkSync for creating symbolic links, readlinkSync for reading link targets, and lstatSync for verifying link types.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses symlinkSync",
      "description": "Uses fs.symlinkSync() or equivalent method to create symbolic links with correct parameter order (target, path)",
      "max_score": 30
    },
    {
      "name": "Uses readlinkSync",
      "description": "Uses fs.readlinkSync() to read the target path that a symbolic link points to",
      "max_score": 25
    },
    {
      "name": "Uses lstatSync",
      "description": "Uses fs.lstatSync() to get stats about the link itself (not following the link) and uses .isSymbolicLink() method to check if a path is a symbolic link",
      "max_score": 25
    },
    {
      "name": "Handles symlink errors",
      "description": "Properly handles EEXIST error when attempting to create a link at an existing path, and handles ENOENT or other errors when reading non-existent links",
      "max_score": 15
    },
    {
      "name": "Correct API implementation",
      "description": "Implements the FileLinkManager class with constructor accepting fs parameter, createLink method returning boolean, and verifyLink method returning string or null",
      "max_score": 5
    }
  ]
}