import re
import glob
-
+import sys
class Arg(object):
continue
match = re.match(
r'^(\S+)\s+([^\)\(\s]+)\s*\(*(.*)\)\s*(\[\[.*\]\])?\s*;\s*?$', line)
- assert match, line
+ if not match:
+ raise AssertionError(line)
ret, name, args, attrs = match.groups()
sargs = []
if not re.match(r"^\s*$", args):
elif attr == "nohandler":
handler = False
else:
- assert False, "Unknown attribute %s in: %s" % (attr, line)
+ raise AssertionError("Unknown attribute %s in: %s" % (attr, line))
sim = Simcall(name, handler, Arg('result', ret), sargs, ans)
if resdi is None:
simcalls.append(sim)
ok &= all(map(Simcall.check, simcalls))
for k, v in simcalls_dict.items():
ok &= all(map(Simcall.check, v))
- # FIXME: we should not hide it
- # if not ok:
- # print ("Some checks fail!")
- # sys.exit(1)
+ if not ok:
+ print ("Some checks fail!")
+ sys.exit(1)
#
# popping_accessors.hpp
fd.write('#include "xbt/ex.h"\n')
fd.write('#include <functional>\n')
fd.write('#include <simgrid/simix.hpp>\n')
+ fd.write('#include <xbt/log.h>\n')
fd.write("/** @cond */ // Please Doxygen, don't look at this\n")
fd.write('''
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix);
+
template<class R, class... T>
inline static R simcall(e_smx_simcall_t call, T const&... t)
{