]> mj.ucw.cz Git - moe.git/log
moe.git
14 years agoAdded status write to string
Tomas Gavenciak [Sat, 18 Sep 2010 06:58:05 +0000 (08:58 +0200)]
Added status write to string

Writing to file still direct, but I would like to rewrite using strings.

14 years agoMade ConfigTree.fix take list os well, added test
Tomas Gavenciak [Sat, 11 Sep 2010 16:35:09 +0000 (18:35 +0200)]
Made ConfigTree.fix take list os well, added test

14 years agoTimeline change, multiple changes in Eval
Tomas Gavenciak [Sat, 11 Sep 2010 15:59:38 +0000 (17:59 +0200)]
Timeline change, multiple changes in Eval

I am sorry for this giga-commit, but it would be too much
work to split it

Update (some) docs, small timeline change
(move loading tasktype from init to pipeline)

Eval.stat -> Eval.status (cosmetic)
Add basic (builtins) and testing configuration
Eval.init fills mainline with basic hooks
Eval.init loads and initializes extensions
Increase indentation (2 by gavento -> 4 by MJ)
Write all main hooks in Eval
Eval.hook_init_tasktype loads tasktype module

It may not seem so, but most of the important
code is reused :-)

14 years agoMoved module loading, use __import__() now
Tomas Gavenciak [Sat, 11 Sep 2010 15:55:09 +0000 (17:55 +0200)]
Moved module loading, use __import__() now

General util.load_module returns module by name.
Hook adding in pipeline removed (and distributed to
tasktype module loading and extension module loading, both in Eval)

14 years agoForgotten __init__.py
Tomas Gavenciak [Sat, 11 Sep 2010 15:53:42 +0000 (17:53 +0200)]
Forgotten __init__.py

14 years agoHOOKS->EXTENSIONS (with explanation), added dummy extension
Tomas Gavenciak [Sat, 11 Sep 2010 15:45:12 +0000 (17:45 +0200)]
HOOKS->EXTENSIONS (with explanation), added dummy extension

Hooks had some problems - the hook modules have to insert self
into the pipeline, but cannot decide into which (only main) and
cannot see Eval during init() (or use the logs)

Having HOOKS with explicit timing:
HOOKS="m:8:my_main_pipeline_hook t:79:cleanup_in_test_pipeline"
would be a possibility, but a little too complex.

Extension is almost the same thing as hook (sugary name change),
but can do anything during init, can insert multiple hooks
(to both main and test pipelines), read/change configuration
and use logs.

Good extension example is fetching tasks via RSYNC or GIT.

14 years agoAdded dummy task type
Tomas Gavenciak [Sat, 11 Sep 2010 15:44:43 +0000 (17:44 +0200)]
Added dummy task type

14 years agoUpdate makefile
Tomas Gavenciak [Fri, 10 Sep 2010 21:56:49 +0000 (23:56 +0200)]
Update makefile

14 years agoAdd ConfigTree.fix, improve parse_file and use it in Eval.init
Tomas Gavenciak [Fri, 10 Sep 2010 21:55:03 +0000 (23:55 +0200)]
Add ConfigTree.fix, improve parse_file and use it in Eval.init

14 years agoPlayed with the documentation
Tomas Gavenciak [Fri, 10 Sep 2010 21:36:11 +0000 (23:36 +0200)]
Played with the documentation

No real work done, really. Just fun.

Created a hyperlink! (and base docs for moe.eval)

14 years agoMinor doc updates and fixes
Tomas Gavenciak [Fri, 10 Sep 2010 20:37:37 +0000 (22:37 +0200)]
Minor doc updates and fixes

Fixed syntactic typo in eval.py

14 years agoUpdated documentation and tidyed up eval.py
Tomas Gavenciak [Fri, 10 Sep 2010 19:44:28 +0000 (21:44 +0200)]
Updated documentation and tidyed up eval.py

Updated INIT part of the timeline
Shifted some stuff in eval.py around
(re)Created Eval.run() (run in init did not make sense)

Made an observation:
  Tried porgrameer make many mitsakes.

14 years agoFidex several errors in log.py
Tomas Gavenciak [Fri, 10 Sep 2010 19:36:01 +0000 (21:36 +0200)]
Fidex several errors in log.py

several copy'n'paste errors, forgot to set the level, doc errors,
change main log Formatter

14 years agoRewriting eval.py with new log, config and timeline
Tomas Gavenciak [Fri, 10 Sep 2010 19:14:40 +0000 (21:14 +0200)]
Rewriting eval.py with new log, config and timeline

Moving initializaton together, remaining init_* will be called from main pipeline
Most changes are moves and rewrites - the meaning did not change much
The actions are as listed in doc/timeline

14 years agoCreated documentation
Tomas Gavenciak [Fri, 10 Sep 2010 18:24:47 +0000 (20:24 +0200)]
Created documentation

Unsing Sphinx, restructured text
Updated documentation strings in config.py and config_parser.py
Makefile for running nosetests and building docs

14 years agoRewrite of moe.log using python logging
Tomas Gavenciak [Fri, 10 Sep 2010 17:47:00 +0000 (19:47 +0200)]
Rewrite of moe.log using python logging

Bells, whistles, formatters, per-test logfiles included!

14 years agoRenamed conf -> config, refactoring inside config
Tomas Gavenciak [Tue, 7 Sep 2010 12:16:57 +0000 (14:16 +0200)]
Renamed conf -> config, refactoring inside config

Added ConfigTree.parse and ConfigTree.parse_file
Minor global renaming changes inside parser and tests

14 years agoAdded shorthand access moe.ConfTree[key] to conf
Tomas Gavenciak [Tue, 7 Sep 2010 11:30:22 +0000 (13:30 +0200)]
Added shorthand access moe.ConfTree[key] to conf

14 years agoUpdated tests, added priority (levels) test
Tomas Gavenciak [Sat, 10 Jul 2010 11:40:43 +0000 (13:40 +0200)]
Updated tests, added priority (levels) test

14 years agoFixed small error (which should manifest anyway)
Tomas Gavenciak [Sat, 10 Jul 2010 11:36:38 +0000 (13:36 +0200)]
Fixed small error (which should manifest anyway)

14 years agoImplemented varname as a shorthand for "{varname}"
Tomas Gavenciak [Sat, 10 Jul 2010 11:05:23 +0000 (13:05 +0200)]
Implemented varname as a shorthand for "{varname}"

Fixed: variable parsing at end of file
Updated grammar and tests, new test

14 years agoAdd unicode and file parsing test
Tomas Gavenciak [Sat, 10 Jul 2010 10:38:50 +0000 (12:38 +0200)]
Add unicode and file parsing test

14 years agoTest variable fixing, update TODO
Tomas Gavenciak [Sat, 10 Jul 2010 09:20:53 +0000 (11:20 +0200)]
Test variable fixing, update TODO

14 years agoFixed stupid order error in fixing
Tomas Gavenciak [Sat, 10 Jul 2010 09:11:21 +0000 (11:11 +0200)]
Fixed stupid order error in fixing

14 years agoSanitize by adding newlines detween defs
Tomas Gavenciak [Sat, 10 Jul 2010 08:56:07 +0000 (10:56 +0200)]
Sanitize by adding newlines detween defs

14 years agoImplemented simple variable fixing.
Tomas Gavenciak [Sat, 10 Jul 2010 08:46:36 +0000 (10:46 +0200)]
Implemented simple variable fixing.

14 years agoFix local import name
Tomas Gavenciak [Sat, 10 Jul 2010 08:42:22 +0000 (10:42 +0200)]
Fix local import name

14 years agoConfig parser: added one forgotten WS
Martin Mares [Fri, 9 Jul 2010 18:47:48 +0000 (20:47 +0200)]
Config parser: added one forgotten WS

14 years agoSeveral new tests, updated, all passed
Tomas Gavenciak [Sat, 29 May 2010 17:34:06 +0000 (13:34 -0400)]
Several new tests, updated, all passed

Also covers all important code

14 years agoNow moe module, update ConfigError, minor fix
Tomas Gavenciak [Sat, 29 May 2010 17:26:47 +0000 (13:26 -0400)]
Now moe module, update ConfigError, minor fix

14 years agoNew ConfigError subclasses, move re_VARNAME
Tomas Gavenciak [Sat, 29 May 2010 16:59:57 +0000 (12:59 -0400)]
New ConfigError subclasses, move re_VARNAME

Moved re_VARNAME to conf.py
Minor fix VARNAME checking in ConfigTree.lookup()

14 years agoFixed invalidating conditions and chained condition parsing
Tomas Gavenciak [Sat, 29 May 2010 16:42:04 +0000 (12:42 -0400)]
Fixed invalidating conditions and chained condition parsing

14 years agoFixed minor bug in conf condition eval
Tomas Gavenciak [Sat, 29 May 2010 15:57:26 +0000 (11:57 -0400)]
Fixed minor bug in conf condition eval

Fixed mismatch of params of eval(cl, depth)

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)

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

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

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

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

15 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

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

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

15 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]

15 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

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

15 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)

15 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

15 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)

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

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

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

15 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

15 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

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

15 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

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

15 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

15 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

15 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.

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

15 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

15 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

15 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.

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

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

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

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

15 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.

15 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.

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

15 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.

15 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.