Jonathan "Duke" Leto
12 years ago
8 changed files with 255 additions and 13 deletions
@ -0,0 +1,7 @@ |
|||
|
|||
presentation: |
|||
rubber --pdf pres.tex |
|||
evince pres.pdf > /dev/null |
|||
|
|||
clean: |
|||
rm *.aux *.out *.snm *.toc *.log *.nav *.pdf |
After Width: | Height: | Size: 283 KiB |
After Width: | Height: | Size: 142 KiB |
@ -0,0 +1,142 @@ |
|||
\documentclass[12pt]{beamer} |
|||
\usepackage{beamerthemeHannover, graphicx, clrscode, amsmath, amssymb, multicol} |
|||
\usepackage{textcomp} \usepackage{verbatim} |
|||
\usepackage{listings} |
|||
\setbeamercolor{sidebar}{use=structure,bg=red!60!yellow} |
|||
\lstset{language=SQL} |
|||
|
|||
\title{LearnFWD: Testing CASH Music} |
|||
\author[@dukeleto]{Jonathan "Duke" Leto} |
|||
\date{} |
|||
|
|||
\begin{document} |
|||
|
|||
\frame{ |
|||
\titlepage |
|||
\begin{center} |
|||
\includegraphics[scale=0.5]{webfwd.jpg} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What does CASH Music use to test stuff?} |
|||
\begin{itemize} |
|||
\item PHP SimpleTest - http://simpletest.org |
|||
\item Test::WWW::Mechanize - http://cpan.org |
|||
\item Test::Most - http://cpan.org |
|||
\item Test::JSON - http://cpan.org |
|||
\item Jitterbug - http://jitterbug.pl |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What is Continuous Integration (CI) ?} |
|||
|
|||
\begin{itemize} |
|||
\item Continually and automatically testing code, usually with relevant notifications. |
|||
\item http://dev.cashmusic.org:3000 |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Why is CI Useful?} |
|||
\begin{itemize} |
|||
\item Know the exact commit that broke something |
|||
\item Automate testing many different combinations of different versions |
|||
of libraries, languages, OS's, browsers, etc... |
|||
\item Quickly identifies tests that only pass on the authors machine |
|||
due to implicit assumptions |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What problems does Jitterbug solve?} |
|||
\begin{itemize} |
|||
\item People forgetting to run the test suite |
|||
\item People forgetting to notify others when they see breakage |
|||
\item Not having a visual interface to which commits passed |
|||
and which failed a test suite |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Current Jitterbug Features} |
|||
\begin{itemize} |
|||
\item Extremely Memory Efficient |
|||
\item Integrates seamlessy with Github post-receive hooks |
|||
\item Can autodetect test suites in many languages |
|||
\item Highly customizable YAML configuration file |
|||
\item Email+RSS notifiers |
|||
\item Supports custom build/test scripts |
|||
\item Pretty web interface |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What does Jitterbug look like? } |
|||
|
|||
\begin{center} |
|||
\includegraphics[scale=0.3]{cm_jitterbug2} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What do our PHP tests look like?} |
|||
\begin{center} |
|||
\includegraphics[scale=0.3]{cm_system_tests} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What do our Perl tests look like?} |
|||
\begin{center} |
|||
\includegraphics[scale=0.30]{cm_perl_test} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What does passing test output look like?} |
|||
\begin{center} |
|||
\includegraphics[scale=0.25]{cthulhu_cashmusic} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What does failing test output look like?} |
|||
\begin{center} |
|||
\includegraphics[scale=0.25]{cm_fail} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Future Goals: CASH Music Testing} |
|||
\begin{itemize} |
|||
\item Javascript Unit Tests |
|||
\item Testing the Dev Installer |
|||
\item Javascript Integration Tests |
|||
\item Multi-Browser Integration Testing |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{ Thanks! } |
|||
\begin{itemize} |
|||
\item Jesse + Maggie |
|||
\item Pascal + Diane |
|||
\item WebFWD Fellows + Scouts! |
|||
\item Franck Cuny |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{ Stalk Me } |
|||
\begin{center} |
|||
\begin{itemize} |
|||
\item http://dukeleto.pl |
|||
\item @dukeleto / !leto on twitter/identi.ca |
|||
\item http://linkedin.leto.net |
|||
\item Slides available at http://github.com/leto/presentations |
|||
\end{itemize} |
|||
\end{center} |
|||
} |
|||
\end{document} |
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
@ -0,0 +1,106 @@ |
|||
\documentclass[12pt]{beamer} |
|||
\usepackage{beamerthemeHannover, graphicx, clrscode, amsmath, amssymb, multicol} |
|||
\usepackage{textcomp} \usepackage{verbatim} |
|||
\usepackage{listings} |
|||
\setbeamercolor{sidebar}{use=structure,bg=red!50!yellow} |
|||
|
|||
\title{PDXGit Meeting - August 2012 } |
|||
\author[@dukeleto]{Jonathan "Duke" Leto} |
|||
\date{} |
|||
|
|||
\begin{document} |
|||
|
|||
\frame{ |
|||
\titlepage |
|||
\begin{center} |
|||
\includegraphics[scale=1]{pdxgit.png} |
|||
\end{center} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Digging into git describe} |
|||
\begin{itemize} |
|||
\item What does it do? |
|||
\item Why is it useful? |
|||
\item Describe gotchas |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What does git describe do?} |
|||
|
|||
It shows you the most recent tag reachable from a commit. But also more. |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{What does git describe do?} |
|||
|
|||
If the commit you are on points to a tag, just that tag is shown. If not, |
|||
the closest reachable tag is shown, along with how many commits difference |
|||
there is as well as an "abbreviated object name". |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Describe me an example} |
|||
|
|||
\$ git describe \\ |
|||
v1.7.8-215-gb9cfa4e |
|||
|
|||
\$ git rev-parse HEAD \\ |
|||
b9cfa4e96be9817e744fb728360e7f37c730d133 |
|||
|
|||
\$ git checkout v1.7.8 \\ |
|||
\$ git describe \\ |
|||
v1.7.8 |
|||
|
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Why is describe useful?} |
|||
\begin{itemize} |
|||
\item Easy way to quantify how far you are from a known tag |
|||
\item Can be used to answer the question "Is this new enough?" |
|||
\item Especially useful when converting from Subversion to Git |
|||
when you have code that looks if certain revision numbers are |
|||
greater/less than others |
|||
\end{itemize} |
|||
|
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Describe gotchas} |
|||
\begin{itemize} |
|||
\item Only annotated tags by default |
|||
\item Use --tags to also consider non-annotated tags |
|||
\item Use --all consider all refs: local+remote branches or any tags |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{Should PDXGit be a regular thing?} |
|||
|
|||
Let's vote right now! |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{How do I get involved with PDXGit?} |
|||
\begin{itemize} |
|||
\item https://github.com/pdxgit |
|||
\item http://pdxgit.github.com |
|||
\item pdxgit@googlegroups.com |
|||
\end{itemize} |
|||
} |
|||
|
|||
\frame{ |
|||
\frametitle{ Stalk Me } |
|||
\begin{center} |
|||
\begin{itemize} |
|||
\item http://dukeleto.pl |
|||
\item http://linkedin.leto.net |
|||
\item http://twitter.com/dukeleto |
|||
\item http://identi.ca/leto |
|||
\item dukeleto on irc.perl.org, Freenode, Mozilla |
|||
\end{itemize} |
|||
\end{center} |
|||
} |
|||
\end{document} |
Loading…
Reference in new issue