tested stuff on a robot + fixed issues
diff --git a/aos/build/build.py b/aos/build/build.py
index fa0766a..14f890a 100755
--- a/aos/build/build.py
+++ b/aos/build/build.py
@@ -478,7 +478,6 @@
r += 5
return r
- # TODO(brians): test this
def deploy(self, dry_run):
# Downloads code to the prime in a way that avoids clashing too badly with
# starter (like the naive download everything one at a time).
@@ -493,22 +492,24 @@
cwd=from_dir)
to_download = subprocess.check_output(
('ssh', TARGET,
- """rm -rf {TMPDIR} && mkdir {TMPDIR} && cd {TO_DIR}
- && echo '{SUMS}' | {SUM} --check --quiet
- |& grep -F FAILED | sed 's/^\\(.*\\): FAILED.*"'$'"/\\1/g'""".
- format(TMPDIR=TEMP_DIR, TO_DIR=TARGET_DIR, SUMS=sums, SUM=SUM)))
+ """rm -rf {TMPDIR} && mkdir {TMPDIR} && cd {TO_DIR} \\
+ && echo '{SUMS}' | {SUM} --check --quiet \\
+ |& grep -F FAILED | sed 's/^\\(.*\\): FAILED.*$/\\1/g'""".
+ format(TMPDIR=TEMP_DIR, TO_DIR=TARGET_DIR, SUMS=sums.decode('utf-8'),
+ SUM=SUM)))
if not to_download:
user_output("Nothing to download")
return
self.do_deploy(
dry_run,
- ('scp', '-o', 'Compression yes') + to_download
+ ('scp', '-o', 'Compression yes')
+ + tuple([os.path.join(from_dir, f) for f in to_download.decode('utf-8').split('\n')[:-1]])
+ (('%s:%s' % (TARGET, TEMP_DIR)),))
if not dry_run:
subprocess.check_call(
('ssh', TARGET,
- """mv {TMPDIR}/* {TO_DIR}
- && echo 'Done moving new executables into place'
+ """mv {TMPDIR}/* {TO_DIR} \\
+ && echo 'Done moving new executables into place' \\
&& ionice -c 3 bash -c 'sync && sync && sync'""".format(
TMPDIR=TEMP_DIR, TO_DIR=TARGET_DIR)))
@@ -591,9 +592,8 @@
if warning[0]:
default_platforms -= self.select_platforms(sanitizer=sanitizer)
elif is_deploy:
- # TODO(brians): Switch to deploying the code built with clang.
default_platforms = self.select_platforms(architecture='arm',
- compiler='gcc',
+ compiler='clang',
debug=False)
else:
default_platforms = self.select_platforms(debug=False)
diff --git a/aos/linux_code/init.cc b/aos/linux_code/init.cc
index d8864fe..7405237 100644
--- a/aos/linux_code/init.cc
+++ b/aos/linux_code/init.cc
@@ -39,6 +39,7 @@
// Common stuff that needs to happen at the beginning of both the realtime and
// non-realtime initialization sequences. May be called twice.
void InitStart() {
+ ::aos::logging::Init();
// Allow locking as much as we want into RAM.
SetSoftRLimit(RLIMIT_MEMLOCK, RLIM_INFINITY, false);
WriteCoreDumps();
diff --git a/aos/linux_code/logging/log_displayer.cc b/aos/linux_code/logging/log_displayer.cc
index 071a87e..805267c 100644
--- a/aos/linux_code/logging/log_displayer.cc
+++ b/aos/linux_code/logging/log_displayer.cc
@@ -57,6 +57,7 @@
bool skip_to_end = false;
const char *filename = "aos_log-current";
+ ::aos::logging::Init();
::aos::logging::AddImplementation(
new ::aos::logging::StreamLogImplementation(stdout));