StdChal module¶
Standard challenge module.
-
class
StdChal.IORedirJudge(container_path, build_relpath)[source]¶ Bases:
objectI/O redirect spcial judge.
-
container_path¶ string
Container path.
-
build_relpath¶ string
Relative build path.
-
build_path¶ string
Build path.
-
build(build_ugid, res_path, callback=None)[source]¶ Build environment.
Parameters: - build_ugid ((int, int) – Build UID/GID.
- res_path (string) – Resource path.
- callback (function) – Callback of return_future.
Returns: None
-
judge(src_path, exe_relpath, argv, envp, check_ugid, test_ugid, test_relpath, test_param, metadata, callback=None)[source]¶ I/O redirect special judge.
Parameters: - src_path (string) – Executable source path.
- exe_relpath (string) – Executable or interpreter path in the sandbox.
- argv ([string]) – List of arguments.
- envp ([string]) – List of environment variables.
- check_ugid (int, int) – Check UID/GID.
- test_ugid (int, int) – Test UID/GID.
- test_relpath (string) – Test relative path.
- test_param (dict) – Test parameters.
- metadata (dict) – Metadata.
- callback (function) – Callback of return_future.
Returns: None
-
-
class
StdChal.StdChal(chal_id, code_path, comp_typ, judge_typ, res_path, test_list, metadata)[source]¶ Bases:
objectStandard challenge.
- Static attributes:
- last_uniqid (int): Last ID. last_standard_uid (int): Last UID for standard tasks. last_restrict_uid (int): Last UID for restricted tasks. null_fd (int): File descriptor of /dev/null. build_cache (dict): Cache information of builds. build_cache_refcount (dict): Refcount of build caches.
-
uniqid¶ int
Unique ID.
-
code_path¶ string
Code path.
-
res_path¶ string
Resource path.
-
comp_typ¶ string
Type of compile.
-
judge_typ¶ string
Type of judge.
-
test_list¶ [dict]
Test parameter lists.
-
metadata¶ dict
Metadata for judge.
-
chal_id¶ int
Challenge ID.
-
chal_path¶ string
Challenge path.
-
static
build_cache_decref(cache_hash)[source]¶ Decrement the refcount of the build cache.
Delete the build cache if the refcount = 0.
Parameters: cache_hash (int) – Cache hash. Returns: None
-
static
build_cache_find(res_path)[source]¶ Get build cache.
Parameters: res_path (string) – Resource path. Returns: (cache hash, GID) or None if not found. Return type: (string, int)
-
static
build_cache_incref(cache_hash)[source]¶ Increment the refcount of the build cache.
Parameters: cache_hash (int) – Cache hash. Returns: None
-
static
build_cache_update(res_path, cache_hash, gid)[source]¶ Update build cache.
Parameters: - res_path (string) – Resource path.
- cache_hash (int) – Cache hash.
- gid (int) – GID.
Returns: None
-
comp_cxx(callback=None)[source]¶ GCC, Clang compile.
Parameters: callback (function) – Callback of return_future. Returns: None
-
comp_make(callback=None)[source]¶ Makefile compile.
Parameters: callback (function) – Callback of return_future. Returns: None
-
comp_python(callback=None)[source]¶ Python3.4 compile.
Parameters: callback (function) – Callback of return_future. Returns: None
-
static
get_restrict_ugid()[source]¶ Generate restrict UID/GID.
Returns: Restrict UID/GID Return type: (int, int)
-
static
get_standard_ugid()[source]¶ Generate standard UID/GID.
Returns: Standard UID/GID Return type: (int, int)
-
judge_diff(src_path, exe_path, argv, envp, in_path, ans_path, timelimit, memlimit, callback=None)[source]¶ Diff judge.
Parameters: - src_path (string) – Executable source path.
- exe_path (string) – Executable or interpreter path in the sandbox.
- argv ([string]) – List of arguments.
- envp ([string]) – List of environment variables.
- in_path (string) – Input file path.
- ans_path (string) – Answer file path.
- timelimit (int) – Timelimit.
- memlimit (int) – Memlimit.
- callback (function) – Callback of return_future.
Returns: None
-
last_restrict_uid= 1073741824¶
-
last_standard_uid= 16777232¶
-
last_uniqid= 0¶
-
null_fd= None¶