tree: 17bd2be758189fdbac13e52df1d1aa18fbad9d37 [path history] [tgz]
  1. diffs/
  2. .gitignore
  3. action_diff_notebook.py
  4. BUILD.bazel
  5. clangcompile.py
  6. collect.py
  7. commands.py
  8. difftool.py
  9. difftool_test.py
  10. README.md
scripts/difftool/README.md

Difftool

This directory contains tools to compare build artifacts from two separate build invocations as a way of gauging build correctness and debugging potential problems with build systems under development.

Usage

Use of these tools requires a multistep process:

  1. Build using legacy build system:
    $ m libc
    
  2. Collect results to a tmp directory.
    $ ./collect.py out/combined-aosp_flame.ninja \
          out/target/product/flame/obj/libc.so \
          /tmp/legacyFiles
    
  3. Build using the new build system:
    $ m --bazel-mode-dev libc
    
  4. Collect results to a tmp directory.
    $ ./collect.py out/combined-aosp_flame.ninja \
          out/target/product/flame/obj/libc.so \
          /tmp/newFiles
    
  5. Run comparative analysis on the two tmp directories. (See documentation of difftool.py for exact usage.)
    $ ./difftool.py /tmp/legacyFiles \
          out/target/product/flame/obj/libc.so \
          /tmp/newFiles \
          out/target/product/flame/obj/libc.so
    

Use ./collect.py -h or ./difftool.py -h for full usage information of these subtools.