run loop for generation
parent
96d22098df
commit
b9edd23af1
|
@ -122,7 +122,7 @@ int main(int argc, const char **argv)
|
|||
return_value = generation(hex_string, rand_offset, rand_flip);
|
||||
if (return_value)
|
||||
{
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
48
run.py
48
run.py
|
@ -12,10 +12,6 @@ class Sins():
|
|||
logger = logging.getLogger()
|
||||
|
||||
def __init__(self, parent, seed=None, run_dir=None):
|
||||
self.logger.info('run: {}'.format((
|
||||
(parent, seed, run_dir))
|
||||
))
|
||||
|
||||
self.parent = os.path.abspath(parent)
|
||||
if not os.path.isfile(parent):
|
||||
raise ValueError('Invalid executable image path.')
|
||||
|
@ -32,31 +28,22 @@ class Sins():
|
|||
|
||||
shutil.copy2(self.seed, self.run_dir)
|
||||
|
||||
parsed = self.parent, self.seed, self.run_dir
|
||||
self.logger.info('parsed\n {}'.format((parsed)))
|
||||
parsed = (self.parent, self.seed, self.run_dir)
|
||||
self.logger.info('init path: {}'.format(parsed))
|
||||
|
||||
paths = (self.seed)
|
||||
paths = (self.seed,)
|
||||
while True:
|
||||
for path in paths:
|
||||
scrap_path = os.path.join(self.run_dir, path)
|
||||
if os.path.isfile(scrap_path):
|
||||
with open(scrap_path, 'rb') as scrap_file:
|
||||
scrap_bin = scrap_file.read()
|
||||
|
||||
scrap_hex = binascii.b2a_hex(scrap_bin).upper()
|
||||
|
||||
child = self.generation(
|
||||
self.parent,
|
||||
scrap_hex,
|
||||
str(random.randint(0, len(scrap_hex))),
|
||||
str(random.randint(0, 255)),
|
||||
scrap_path,
|
||||
self.run_dir
|
||||
)
|
||||
|
||||
if child:
|
||||
raise Exception(child)
|
||||
|
||||
paths = sorted(os.listdir(self.run_dir))
|
||||
print(child)
|
||||
# paths = sorted(os.listdir(self.run_dir))
|
||||
|
||||
def scrap_recent(self, run_dir):
|
||||
scraps = sorted(os.listdir(run_dir))
|
||||
|
@ -66,18 +53,27 @@ class Sins():
|
|||
|
||||
return None
|
||||
|
||||
def generation(self, parent, scrap, offset, flip, cwd):
|
||||
def generation(self, parent, scrap, cwd):
|
||||
with open(scrap, 'rb') as scrap_file:
|
||||
scrap_bin = scrap_file.read()
|
||||
|
||||
scrap_hex = binascii.b2a_hex(scrap_bin).upper()
|
||||
offset = random.randint(0, len(scrap_hex))
|
||||
flip = random.randint(0, 255)
|
||||
|
||||
self.logger.debug(
|
||||
'generation: {}'.format((parent, scrap, offset, flip, cwd))
|
||||
'generation: {}'.format((parent, scrap_hex, offset, flip, cwd))
|
||||
)
|
||||
|
||||
proc = subprocess.run(
|
||||
[parent, scrap, offset, flip],
|
||||
[parent, scrap_hex, str(offset), str(flip)],
|
||||
cwd=cwd,
|
||||
stdout=subprocess.PIPE
|
||||
)
|
||||
children = proc.stdout
|
||||
return children
|
||||
|
||||
if proc.stdout:
|
||||
child_hex = binascii.a2b_hex(proc.stdout)
|
||||
return child_hex
|
||||
|
||||
|
||||
def hex_dumps(scrap_dir):
|
||||
|
@ -127,7 +123,7 @@ if __name__ == '__main__':
|
|||
|
||||
logger = logging.getLogger()
|
||||
formatter = logging.Formatter(
|
||||
'#%(asctime)s %(levelname)s\n##%(message)s\n'
|
||||
'# %(asctime)s %(levelname)s\n%(message)s\n'
|
||||
)
|
||||
|
||||
if args.verbose:
|
||||
|
@ -146,6 +142,8 @@ if __name__ == '__main__':
|
|||
logger.setLevel(logging.INFO)
|
||||
logger.addHandler(stream_handler)
|
||||
|
||||
logger.info('run: {}'.format(args))
|
||||
|
||||
if args.provision:
|
||||
provision = ['sudo', 'sh', 'provision-ubuntu.sh']
|
||||
prov_proc = subprocess.run(provision)
|
||||
|
|
Loading…
Reference in New Issue