[OE-core] python's assert doesn't work

Robert Yang liezhi.yang at windriver.com
Thu Apr 25 13:09:41 UTC 2013


Both native and target python's assert doesn't work, because python
has been optimized by default by us:

--- Python-2.6.1.orig/Python/compile.c
+++ Python-2.6.1/Python/compile.c
@@ -32,7 +32,7 @@
  #include "symtable.h"
  #include "opcode.h"

-int Py_OptimizeFlag = 0;
+int Py_OptimizeFlag = 1;

  #define DEFAULT_BLOCK_SIZE 16
  #define DEFAULT_BLOCKS 8

The optimization should be specified by the user, for example,  run by
"python -O/OO", or "export PYTHONOPTIMIZE" in the env, but we have hardcode
it, then we can't change it back to 0, and this causes the "assert" doesn't
work, e.g.: the "assert False" should raise error, but it doesn't, this may
hide or cause unexpected errors.

I'd like to send a patch to change it back if you are fine with it,
and we can set PYTHONOPTIMIZE in the env if we really need it, this
gives the user a way to disable the optimization.

-- 
Thanks

Robert




More information about the Openembedded-core mailing list