1 Star 2 Fork 1

李伟国 / ACM-judge-module

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
lorun.md 980 Bytes
一键复制 编辑 原始数据 按行查看 历史
李伟国 提交于 2023-01-01 16:49 . judge模块

Loco program runner core

We use this python-c library to run program in a sandbox-like environment. With it, we can accurately known the resource using of the program and limit its resource using including system-call interrupt.

Usage

For run a program without tracing:




    runcfg = {
        'args':['./m'],
        'fd_in':fin.fileno(),
        'fd_out':ftemp.fileno(),
        'timelimit':1000, #in MS
        'memorylimit':20000, #in KB
    }
    
    rst = lorun.run(runcfg)

For check one output:

    ftemp = file('temp.out')
    fout = file(out_path)
    crst = lorun.check(fout.fileno(), ftemp.fileno())

You can set runcfg['trace'] to True to ensure runner's security.

Here is a simple usage:

runcfg['trace'] = True
runcfg['calls'] = [1, 2, 3, 4] # system calls that could be used by testing programs
runcfg['files'] = {'/etc/ld.so.cache': 0} # open flag permitted (value is the flags of open)
1
https://gitee.com/Cirmasters/acm-judge-module.git
git@gitee.com:Cirmasters/acm-judge-module.git
Cirmasters
acm-judge-module
ACM-judge-module
master

搜索帮助