]> mj.ucw.cz Git - moe.git/log
moe.git
14 years agoMany fixes to config parser, many (passed) tests.
Tomas Gavenciak [Sat, 29 May 2010 03:50:54 +0000 (23:50 -0400)]
Many fixes to config parser, many (passed) tests.

Not complete test coverage yet. See notes in conf.test.py

14 years agoFixed minor type typo
Tomas Gavenciak [Sat, 29 May 2010 03:48:43 +0000 (23:48 -0400)]
Fixed minor type typo

14 years agoIncluded *.pyc to .gitignore
Tomas Gavenciak [Sat, 29 May 2010 03:48:08 +0000 (23:48 -0400)]
Included *.pyc to .gitignore

14 years agoConfig parser complete, but completely untested.
Tomas Gavenciak [Tue, 25 May 2010 02:18:19 +0000 (22:18 -0400)]
Config parser complete, but completely untested.

Dozens of bugs await!

14 years agoChanges to config operations structure.
Tomas Gavenciak [Tue, 25 May 2010 01:55:07 +0000 (21:55 -0400)]
Changes to config operations structure.

Changed config operaiton from triplets to a helper class,
added operation level (as priority) instead of index and
optional source. Changed dump format.
Removal now by operation instead of index.

Test updated and passed, but still not full coverage. WIP parser test.

14 years agoSyntax constants localized to parser class.
Tomas Gavenciak [Mon, 24 May 2010 01:25:39 +0000 (21:25 -0400)]
Syntax constants localized to parser class.

14 years agoComplete, but untested config parser.
Tomas Gavenciak [Sun, 23 May 2010 16:00:41 +0000 (12:00 -0400)]
Complete, but untested config parser.

14 years agoRenamed VARNAME_re to re_VARNAME
Tomas Gavenciak [Sun, 23 May 2010 15:59:47 +0000 (11:59 -0400)]
Renamed VARNAME_re to re_VARNAME

14 years agoChanged clause->formula in ConfigCondition, added formula pretty-printing
Tomas Gavenciak [Sun, 23 May 2010 14:02:39 +0000 (10:02 -0400)]
Changed clause->formula in ConfigCondition, added formula pretty-printing

14 years agoNew file for conf parser, move and update conf file syntax
Tomas Gavenciak [Sat, 22 May 2010 01:36:58 +0000 (21:36 -0400)]
New file for conf parser, move and update conf file syntax

14 years agoAdded syntax for config files (to be reviewed)
Tomas Gavenciak [Tue, 11 May 2010 01:55:50 +0000 (21:55 -0400)]
Added syntax for config files (to be reviewed)

Add TODO note obput fixing variables

14 years agoImporoved and shortened conf.py code
Tomas Gavenciak [Sun, 9 May 2010 00:31:51 +0000 (20:31 -0400)]
Imporoved and shortened conf.py code

Removed subtrees, now only one namespace
Transparent variable creation upon lookup
Implemented general condition clauses (AND, OR, NOT, ==, !=)
Conditions now have 'parent' condition (containing condition block)
Variables refer to only one condition (and indirectly its parents)
Renamed get_value -> evaluate and evaluate -> value
Improved max-depth checking
Updated the test/example (still no conditions)
pprint replaced with dump (for consistency, but still returns an iterator)
Some dovumentation (with TODO's)

14 years agoNew module for config evaluation. Basic testing.
Tomas Gavenciak [Fri, 7 May 2010 00:15:19 +0000 (20:15 -0400)]
New module for config evaluation. Basic testing.

Implemented:
* Configuration tree,
* Variables,
* Variable-setting operations ('SET' and 'APPEND')
* Equality conditions (WIP, not tested yet),
* Substitution expressions with text and variables,
* Pretty-printing,
* Caching for variables and conditions with invalidation along reverse-dependencies,
* Add and remove operations from variables with correct reverse-dependency handling (add and remove)

TODO: smarter conditions, variable lookup (and maybe transparent creation),
possibly cleanup of unused variables and conditions

(tests full coverage except conditions)

14 years agoSaved the example task
Martin Mares [Sat, 15 Aug 2009 01:08:46 +0000 (03:08 +0200)]
Saved the example task

14 years agoBetter logging of exceptions
Martin Mares [Fri, 14 Aug 2009 09:01:34 +0000 (11:01 +0200)]
Better logging of exceptions

14 years agoMake "+=" insert spaces as necessary
Martin Mares [Fri, 14 Aug 2009 09:01:25 +0000 (11:01 +0200)]
Make "+=" insert spaces as necessary

14 years agoRemoved config resolution caching
Martin Mares [Fri, 14 Aug 2009 08:28:53 +0000 (10:28 +0200)]
Removed config resolution caching

14 years agoImplemented syntax checkers and output filters
Martin Mares [Fri, 14 Aug 2009 08:25:33 +0000 (10:25 +0200)]
Implemented syntax checkers and output filters

14 years agoBackward-compatible point files implemented
Martin Mares [Fri, 14 Aug 2009 07:58:18 +0000 (09:58 +0200)]
Backward-compatible point files implemented

14 years agoUnify names of exception variables
Martin Mares [Fri, 14 Aug 2009 07:45:38 +0000 (09:45 +0200)]
Unify names of exception variables

14 years agoe.cfgs[x] can be shortened to e[x]
Martin Mares [Fri, 14 Aug 2009 07:44:26 +0000 (09:44 +0200)]
e.cfgs[x] can be shortened to e[x]

14 years agoJudges can return single-line verdicts on stderr instead of producing a status file
Martin Mares [Fri, 14 Aug 2009 07:40:37 +0000 (09:40 +0200)]
Judges can return single-line verdicts on stderr instead of producing a status file

14 years agoCleaup of the config file
Martin Mares [Wed, 12 Aug 2009 18:09:47 +0000 (20:09 +0200)]
Cleaup of the config file

14 years agoErr -> Error in all exception names (to be consistent with naming of standard Python...
Martin Mares [Tue, 11 Aug 2009 23:55:26 +0000 (01:55 +0200)]
Err -> Error in all exception names (to be consistent with naming of standard Python exceptions)

14 years agoStatus files are now handled almost properly
Martin Mares [Tue, 11 Aug 2009 23:53:20 +0000 (01:53 +0200)]
Status files are now handled almost properly

14 years agoBatch task testing works (sort of)
Martin Mares [Tue, 11 Aug 2009 22:46:13 +0000 (00:46 +0200)]
Batch task testing works (sort of)

14 years agoMore bits of compilation
Martin Mares [Mon, 10 Aug 2009 21:18:55 +0000 (23:18 +0200)]
More bits of compilation

14 years agoAdded sandbox interface module
Martin Mares [Mon, 10 Aug 2009 18:32:43 +0000 (20:32 +0200)]
Added sandbox interface module

14 years agoParts of compilation
Martin Mares [Mon, 10 Aug 2009 18:32:13 +0000 (20:32 +0200)]
Parts of compilation

14 years agoRenamed meta files to status files to match the Moe paper
Martin Mares [Mon, 10 Aug 2009 10:06:43 +0000 (12:06 +0200)]
Renamed meta files to status files to match the Moe paper

14 years agoCleaned up exception handling and logging
Martin Mares [Sun, 9 Aug 2009 23:17:11 +0000 (01:17 +0200)]
Cleaned up exception handling and logging

14 years agoLogging
Martin Mares [Sun, 9 Aug 2009 22:38:32 +0000 (00:38 +0200)]
Logging

14 years agoImplemented configuration overrides from the command line
Martin Mares [Sun, 9 Aug 2009 22:05:14 +0000 (00:05 +0200)]
Implemented configuration overrides from the command line

14 years agoLocating batch tasks
Martin Mares [Sun, 9 Aug 2009 21:39:09 +0000 (23:39 +0200)]
Locating batch tasks

14 years agoFirst attempts at the evaluation overlord
Martin Mares [Sun, 9 Aug 2009 14:33:30 +0000 (16:33 +0200)]
First attempts at the evaluation overlord

14 years agoAdded a shabby skeleton of a logging module
Martin Mares [Sun, 9 Aug 2009 14:32:43 +0000 (16:32 +0200)]
Added a shabby skeleton of a logging module

14 years agoAdded a simple utility function for simulating mkdir -p.
Martin Mares [Sun, 9 Aug 2009 14:32:19 +0000 (16:32 +0200)]
Added a simple utility function for simulating mkdir -p.

14 years agoBetter error reporting
Martin Mares [Sun, 9 Aug 2009 13:30:17 +0000 (15:30 +0200)]
Better error reporting

14 years agoBetter error reporting on the pipeline
Martin Mares [Sun, 9 Aug 2009 13:11:25 +0000 (15:11 +0200)]
Better error reporting on the pipeline

14 years agoA better implementation of the pipeline, including hook loader
Martin Mares [Sun, 9 Aug 2009 13:06:46 +0000 (15:06 +0200)]
A better implementation of the pipeline, including hook loader

14 years agoDo not try to distinguish between single and double quotes
Martin Mares [Sun, 9 Aug 2009 11:05:27 +0000 (13:05 +0200)]
Do not try to distinguish between single and double quotes

They are the same in Python.

14 years agoA brief experiment with pipelines
Martin Mares [Sat, 8 Aug 2009 15:37:35 +0000 (17:37 +0200)]
A brief experiment with pipelines

14 years agoConfiguration values are now cached
Martin Mares [Sat, 8 Aug 2009 15:16:44 +0000 (17:16 +0200)]
Configuration values are now cached

14 years agoImplemented overrides
Martin Mares [Sat, 8 Aug 2009 15:13:54 +0000 (17:13 +0200)]
Implemented overrides

14 years agoBetter error reporting
Martin Mares [Sat, 8 Aug 2009 14:31:44 +0000 (16:31 +0200)]
Better error reporting

14 years agoAdded a prototype of the configuration module.
Martin Mares [Sat, 8 Aug 2009 14:23:44 +0000 (16:23 +0200)]
Added a prototype of the configuration module.

14 years agoInitial experimental version of the meta-file module.
Martin Mares [Sat, 8 Aug 2009 13:29:45 +0000 (15:29 +0200)]
Initial experimental version of the meta-file module.

14 years agoEval: Added STACK_LIMIT.
Martin Mares [Fri, 31 Jul 2009 18:57:06 +0000 (20:57 +0200)]
Eval: Added STACK_LIMIT.

14 years agoBox: Do not report all errors as "during startup" if syscalls are not filtered.
Martin Mares [Fri, 31 Jul 2009 18:56:01 +0000 (20:56 +0200)]
Box: Do not report all errors as "during startup" if syscalls are not filtered.

14 years agoBox: Added an option for controlling the stack size limit.
Martin Mares [Fri, 31 Jul 2009 18:50:35 +0000 (20:50 +0200)]
Box: Added an option for controlling the stack size limit.

Beware, the default has been changed to `unlimited' instead of inheriting
the limit from the parent process.

15 years agoHopefully fixed the occasional "UGH" error.
Martin Mares [Wed, 29 Apr 2009 10:22:01 +0000 (12:22 +0200)]
Hopefully fixed the occasional "UGH" error.

When the machine creaks under high load, SIGALRM can arrive during the
final wait4() in box_exit(), causing it to return EINTR. Restart waiting
in such cases.

15 years agoInclude <linux/ptrace.h>, because <sys/ptrace.h> tends to be incomplete
Martin Mares [Wed, 29 Apr 2009 10:19:15 +0000 (12:19 +0200)]
Include <linux/ptrace.h>, because <sys/ptrace.h> tends to be incomplete

15 years agoAdded a description of the meta-files
Martin Mares [Sun, 5 Apr 2009 17:01:20 +0000 (19:01 +0200)]
Added a description of the meta-files

15 years agoBox: Record in the meta-file whether the process has been killed
Martin Mares [Sun, 5 Apr 2009 16:51:40 +0000 (18:51 +0200)]
Box: Record in the meta-file whether the process has been killed

If it was, the time/memory statictics are known to be incomplete.

15 years agoBox: Implemented the `-x' (extra timeout) option
Martin Mares [Sun, 5 Apr 2009 16:48:17 +0000 (18:48 +0200)]
Box: Implemented the `-x' (extra timeout) option

15 years agoSyscall handling reform
Martin Mares [Sun, 5 Apr 2009 16:35:07 +0000 (18:35 +0200)]
Syscall handling reform

The previous code did not work with syscalls that do not return a value -- e.g.,
sysreturn(). In such cases, the kernel reports the exit from the syscall with
orig_eax == -1, which cannot be easily distinguished from a breakpoint.

I have rewritten the syscall checker to use the PTRACE_O_TRACESYSGOOD switch,
which causes the kernel to report syscalls in a slightly different way. Also,
the code now tests whether the syscall number on exit matched the one recorded
on entry (purely as a guard against possible silly bugs in synchronization
of syscall enter/exit reports with the kernel) and it also avoids suppresses
the meaningless return value of the sysreturn-like syscalls.

15 years agoBox: Use SIGSTOP to notify the parent that the child is ready to be traced
Martin Mares [Sat, 28 Mar 2009 16:21:53 +0000 (17:21 +0100)]
Box: Use SIGSTOP to notify the parent that the child is ready to be traced
instead of SIGCHLD. This should be safer.

15 years agoMerge branch 'master' of ssh://git.ucw.cz/home/mj/GIT/eval
Martin Mares [Sat, 28 Mar 2009 16:05:59 +0000 (17:05 +0100)]
Merge branch 'master' of ssh://git.ucw.cz/home/mj/GIT/eval

15 years agoSandbox: call setup_environment() before enabling syscall tracing
Martin Mares [Sat, 28 Mar 2009 16:05:55 +0000 (17:05 +0100)]
Sandbox: call setup_environment() before enabling syscall tracing

15 years agoMOP: New templates for Debian Lenny
Martin Mares [Sat, 28 Mar 2009 13:49:58 +0000 (14:49 +0100)]
MOP: New templates for Debian Lenny

15 years agoMOP: Updated the score table heading.
Martin Mares [Sat, 28 Mar 2009 13:22:38 +0000 (14:22 +0100)]
MOP: Updated the score table heading.

15 years agoAdded Milan's FPC patch (abort on runtime error)
Martin Mares [Sat, 28 Mar 2009 13:20:40 +0000 (14:20 +0100)]
Added Milan's FPC patch (abort on runtime error)

15 years agomo-score-mop: implemented merging of test case groups
Martin Mares [Sat, 28 Mar 2009 13:15:25 +0000 (14:15 +0100)]
mo-score-mop: implemented merging of test case groups

15 years agoInstall libraries with the submitter.
Martin Mares [Sat, 28 Mar 2009 13:10:40 +0000 (14:10 +0100)]
Install libraries with the submitter.

15 years agoMerge branch 'layout' layout
Martin Mares [Sat, 28 Mar 2009 13:08:14 +0000 (14:08 +0100)]
Merge branch 'layout'

15 years agoFixed typesetting of logins.
Martin Mares [Thu, 26 Mar 2009 12:59:05 +0000 (13:59 +0100)]
Fixed typesetting of logins.

15 years agoAdjusted configuration of tempfiles to new libucw.
Martin Mares [Wed, 18 Mar 2009 13:56:19 +0000 (14:56 +0100)]
Adjusted configuration of tempfiles to new libucw.

15 years agoUpdated libucw config from upstream.
Martin Mares [Wed, 18 Mar 2009 13:50:22 +0000 (14:50 +0100)]
Updated libucw config from upstream.

15 years agoNeed to switch directory when reading configuration.
Martin Mares [Wed, 18 Mar 2009 13:42:13 +0000 (14:42 +0100)]
Need to switch directory when reading configuration.

The reason is that cf/mop needs to include cf/eval, but it cannot
use absolute paths, because the config file is read both before and
after installation to $MO_ROOT/.

15 years agoDereference links when installing.
Martin Mares [Wed, 18 Mar 2009 13:42:05 +0000 (14:42 +0100)]
Dereference links when installing.

15 years agoFixed a couple of very confusing bugs in the Makefiles.
Martin Mares [Wed, 18 Mar 2009 13:41:51 +0000 (14:41 +0100)]
Fixed a couple of very confusing bugs in the Makefiles.

15 years agoMore updates of MO-P admin scripts.
Martin Mares [Wed, 18 Mar 2009 13:28:05 +0000 (14:28 +0100)]
More updates of MO-P admin scripts.

15 years agoUpdated MO-P admin scripts to new directory layout.
Martin Mares [Wed, 18 Mar 2009 13:17:28 +0000 (14:17 +0100)]
Updated MO-P admin scripts to new directory layout.

15 years agoSubmit: `make certs' is no longer used.
Martin Mares [Wed, 18 Mar 2009 13:16:38 +0000 (14:16 +0100)]
Submit: `make certs' is no longer used.

However, the certificate templates should be installed to lib/.

15 years agoUpdated create-certs to the new directory layout.
Martin Mares [Wed, 18 Mar 2009 13:16:25 +0000 (14:16 +0100)]
Updated create-certs to the new directory layout.

15 years agoInclude the right libucw config.
Martin Mares [Wed, 18 Mar 2009 13:15:40 +0000 (14:15 +0100)]
Include the right libucw config.

15 years agoUpdated tests after the recent change of judges' messages to stderr.
Martin Mares [Mon, 16 Mar 2009 22:48:39 +0000 (23:48 +0100)]
Updated tests after the recent change of judges' messages to stderr.

15 years agoDisable building of libucw utilities.
Martin Mares [Mon, 16 Mar 2009 22:45:35 +0000 (23:45 +0100)]
Disable building of libucw utilities.

15 years agoAdapted to reflect changes in libucw.
Martin Mares [Mon, 16 Mar 2009 22:43:56 +0000 (23:43 +0100)]
Adapted to reflect changes in libucw.

15 years agoUpdated libucw to current version (Sherlock commit 17f29eb1ab186e9f053299c25f47ce368e...
Martin Mares [Mon, 16 Mar 2009 22:42:52 +0000 (23:42 +0100)]
Updated libucw to current version (Sherlock commit 17f29eb1ab186e9f053299c25f47ce368ee7e1de)

15 years agoDefault Pascal flags no longer enable range and stack checking.
Martin Mares [Sun, 15 Mar 2009 12:31:14 +0000 (13:31 +0100)]
Default Pascal flags no longer enable range and stack checking.

15 years agoThe judge reports errors in a more useful way
Martin Mares [Sat, 14 Mar 2009 22:58:00 +0000 (23:58 +0100)]
The judge reports errors in a more useful way

They are reported to stderr as two lines: one is the location of the error,
another contains the error message. This is parsed by the evaluator and the
second line is displayed on the screen, while both are logged.

15 years agoThe judge IO streams remember the basename of the file instead of its full name
Martin Mares [Sat, 14 Mar 2009 22:57:02 +0000 (23:57 +0100)]
The judge IO streams remember the basename of the file instead of its full name

15 years agoCompile the judge support functions as a separate library.
Martin Mares [Sat, 14 Mar 2009 22:35:12 +0000 (23:35 +0100)]
Compile the judge support functions as a separate library.

15 years agoJudge: Added function get_nl() for checking of an expected end of line.
Martin Mares [Sat, 14 Mar 2009 22:34:57 +0000 (23:34 +0100)]
Judge: Added function get_nl() for checking of an expected end of line.

15 years agoMore makefile fixes.
Martin Mares [Sat, 14 Mar 2009 17:56:24 +0000 (18:56 +0100)]
More makefile fixes.

15 years agoFix makefiles for compilation in a different directory.
Martin Mares [Sat, 14 Mar 2009 17:55:19 +0000 (18:55 +0100)]
Fix makefiles for compilation in a different directory.

15 years agoHandle exit code translation failures gracefully.
Martin Mares [Sun, 2 Nov 2008 20:12:43 +0000 (21:12 +0100)]
Handle exit code translation failures gracefully.

Apparantly, "X=`false`" fails with a non-zero exit code
(and the script stops), even though "echo `false`" doesn't.

15 years agoAvoid Perl when printing signal names.
Martin Mares [Sat, 13 Sep 2008 13:08:18 +0000 (15:08 +0200)]
Avoid Perl when printing signal names.

Use `kill -l $SIG` as suggested by Lukas Turek.

This was the only Perl dependency in the whole libeval.

15 years agoUpdated TODO.
Martin Mares [Sun, 24 Aug 2008 22:09:47 +0000 (00:09 +0200)]
Updated TODO.

15 years agoSample memory usage only on selected syscalls.
Martin Mares [Sun, 24 Aug 2008 22:09:32 +0000 (00:09 +0200)]
Sample memory usage only on selected syscalls.

15 years agoDetect breakpoint instructions, which are reported as syscall #-1.
Martin Mares [Sun, 24 Aug 2008 21:59:24 +0000 (23:59 +0200)]
Detect breakpoint instructions, which are reported as syscall #-1.

15 years agoIntroduced sampling of memory usage.
Martin Mares [Sun, 24 Aug 2008 21:56:44 +0000 (23:56 +0200)]
Introduced sampling of memory usage.

This patch introduces the basic stuff. So far, it samples VmPeak before and after
each syscalls, which will be fixed in subsequent commits.

15 years agoOops, there was a typo in the previous patch.
Martin Mares [Sun, 24 Aug 2008 21:11:55 +0000 (23:11 +0200)]
Oops, there was a typo in the previous patch.

15 years agoThe mmap2() syscall is available even in the strict mode.
Martin Mares [Sun, 24 Aug 2008 21:08:40 +0000 (23:08 +0200)]
The mmap2() syscall is available even in the strict mode.

There is no reason to handle it differently from mmap().

15 years agoPermit the set_tid_address() syscall.
Martin Mares [Sun, 24 Aug 2008 21:07:28 +0000 (23:07 +0200)]
Permit the set_tid_address() syscall.

It used by glibc 2.3.6 automagically.

15 years agoDocument various error reporting functions.
Martin Mares [Sun, 24 Aug 2008 21:03:34 +0000 (23:03 +0200)]
Document various error reporting functions.

15 years agoThe FIXME was wrong, start_time is available whenever box_pid is.
Martin Mares [Fri, 22 Aug 2008 18:25:01 +0000 (20:25 +0200)]
The FIXME was wrong, start_time is available whenever box_pid is.

15 years agoInternal errors are reported properly.
Martin Mares [Fri, 22 Aug 2008 18:23:49 +0000 (20:23 +0200)]
Internal errors are reported properly.

15 years agoWrite all relevant information to the metafile.
Martin Mares [Fri, 22 Aug 2008 18:20:23 +0000 (20:20 +0200)]
Write all relevant information to the metafile.