[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Add support for running "calltool" on Tor via "make callgraph".
commit 283be00b0bf515ee80b4b1d809d99a2cd682c46b
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Thu Sep 7 10:51:02 2017 -0400
Add support for running "calltool" on Tor via "make callgraph".
Closes #19307.
---
.gitignore | 1 +
Makefile.am | 4 ++++
changes/19037 | 7 +++++++
scripts/maint/run_calltool.sh | 29 +++++++++++++++++++++++++++++
4 files changed, 41 insertions(+)
diff --git a/.gitignore b/.gitignore
index 0e0640de2..e9992fd1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,6 +70,7 @@ uptime-*.json
/Tor*Bundle.dmg
/tor-*-win32.exe
/coverage_html/
+/callgraph/
# /contrib/
/contrib/dist/tor.sh
diff --git a/Makefile.am b/Makefile.am
index f1f64f210..3982f1e8a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -224,6 +224,10 @@ check-changes:
update-versions:
$(PERL) $(top_builddir)/scripts/maint/updateVersions.pl
+.PHONY: callgraph
+callgraph:
+ $(top_builddir)/scripts/maint/run_calltool.sh
+
version:
@echo "Tor @VERSION@"
@if test -d "$(top_srcdir)/.git" && test -x "`which git 2>&1;true`"; then \
diff --git a/changes/19037 b/changes/19037
new file mode 100644
index 000000000..35f323f1b
--- /dev/null
+++ b/changes/19037
@@ -0,0 +1,7 @@
+ o Minor features (development support):
+ - Developers can now generate a call-graph for Tor using the
+ "calltool" python program, which post-processes object dumps. It
+ should work okay on many Linux and OSX platforms, and might work
+ elsewhere too. To run this, install calltool from
+ https://gitweb.torproject.org/user/nickm/calltool.git and run
+ "make callgraph". Closes ticket 19307.
diff --git a/scripts/maint/run_calltool.sh b/scripts/maint/run_calltool.sh
new file mode 100755
index 000000000..f7fa0c305
--- /dev/null
+++ b/scripts/maint/run_calltool.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# You can find calltool at https://gitweb.torproject.org/user/nickm/calltool.git
+
+set -e
+
+if test "x$CALLTOOL_PATH" != "x"; then
+ PYTHONPATH="${CALLTOOL_PATH}:${PYTHONPATH}"
+ export PYTHONPATH
+fi
+
+mkdir -p callgraph
+
+SUBITEMS="fn_invgraph fn_scc fn_scc_weaklinks module_graph module_invgraph module_scc module_scc_weaklinks"
+
+for calculation in $SUBITEMS; do
+ echo "======== $calculation"
+ python -m calltool $calculation > callgraph/$calculation
+done
+
+echo <<EOF > callgraph/README
+This directory holds output from calltool, as run on Tor. For more
+information about each of these files, see the NOTES and README files in
+the calltool distribution.
+
+You can find calltool at
+ https://gitweb.torproject.org/user/nickm/calltool.git
+EOF
+
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits