Google Chrome does not yet exist as an end-user application for the Linux platform. Therefore the first article of this series explored both why you should, and how you can, engage with Google Chrome on the Linux platform at the current time. The outcome of the how part is a number of unit tests that are explored here.
In software engineering, unit tests validate correct operation of a program, function or procedure. (Strictly speaking, this is the procedural-programming perspective. In the object-oriented case, unit tests target methods.) I ran through the build process, as described in my previous article, on an Ubuntu 8.04 (Hardy Heron) distribution of Linux. As alluded to in that article, as a consequence of this build process the “$CHROMIUM_ROOT/src/chrome/Hammer” directory is created. This new directory is populated with a number of build byproducts. Of these, those with the string “test” in their name are actionable.
Unit Tests for Google Chrome
After moving into the “$CHROMIUM_ROOT/src/chrome/Hammer” directory, most of the available tests for Google Chrome on Linux can be executed by typing “./unit_tests” at the shell prompt. (As before, you may prefer to type “./unit_tests >& unit_tests_results.txt &” to redirect output from your terminal to the “unit_tests_results.txt” file.)
Because Google Chrome for Linux is a work-in-progress, the nature of the tests will definitely change as the Chromium Project progresses. For the Google Chrome tarball that I acquired, a total of 64 tests from 17 test cases were run. Although the tests target a number of features and/or functionalities, safe browsing receives significant attention. (Safe browsing is a key feature of Google Chrome. It attempts to prevent the inappropriate passage of personal and/or financial information - e.g., via malware, phishing, spoofing, etc.) As you may gather, these unit tests result in command-line output. Successful conclusion is stated succinctly: “[==========] 64 tests from 17 test cases ran. \ [ PASSED ] 64 tests.”
“./test_shell” produces the graphical output shared at the end of the previous article. Although visually promising, with buttons that raise during mouseovers and appear to accept clicks, this is a very preliminary rendering at the current time.
Contributing to the Chromium Project
It’s not too surprising that I was able to successfully build and test Google Chrome. Why? The Ubuntu 8.04 I used matches closely the Linux development platform used by those working on the Chromium Project.
I’m toying with the idea of building Google Chrome on my Xandros Linux based Asus Eee PC. Although the Chromium Project attempts to produce code that will build and test cleanly on an reasonably modern Linux distro, compilation and/or runtime issues may be encountered. At this stage, such issues are actually excellent opportunities for mere mortals to get involved in the Chromium Project. Before filing a report, you should check the issues area. In addition to monitoring progress on issues of interest, activity in this area of the project will also provide a sense of the progress being made toward the ultimate outcome - Google Chrome as a fully functional end-user application for Linux.
This post is part of the series: Google Chrome for Linux
Google Chrome is shaking up the status quo for Web browsers. This series explores and expounds Chrome as it evolves for the Linux platform.
- Google Chrome for Linux: Building from Source
- Google Chrome for Linux: Testing and Contributing
- Google Chrome for Linux: The WebKit Web Browser Engine
- Google Chrome for Linux: Android Availability