[107161] branches/gsoc13-tests/tests/test/checksums-1
marius at macports.org
marius at macports.org
Thu Jun 20 11:06:20 PDT 2013
Revision: 107161
https://trac.macports.org/changeset/107161
Author: marius at macports.org
Date: 2013-06-20 11:06:20 -0700 (Thu, 20 Jun 2013)
Log Message:
-----------
Checksum testing using tcltest.
Modified Paths:
--------------
branches/gsoc13-tests/tests/test/checksums-1/Portfile
Added Paths:
-----------
branches/gsoc13-tests/tests/test/checksums-1/checksum.tcl
branches/gsoc13-tests/tests/test/checksums-1/test_checksum.tcl
Modified: branches/gsoc13-tests/tests/test/checksums-1/Portfile
===================================================================
--- branches/gsoc13-tests/tests/test/checksums-1/Portfile 2013-06-20 18:02:21 UTC (rev 107160)
+++ branches/gsoc13-tests/tests/test/checksums-1/Portfile 2013-06-20 18:06:20 UTC (rev 107161)
@@ -32,4 +32,4 @@
test {
# test is actually running checksum target
-}
\ No newline at end of file
+}
Added: branches/gsoc13-tests/tests/test/checksums-1/checksum.tcl
===================================================================
--- branches/gsoc13-tests/tests/test/checksums-1/checksum.tcl (rev 0)
+++ branches/gsoc13-tests/tests/test/checksums-1/checksum.tcl 2013-06-20 18:06:20 UTC (rev 107161)
@@ -0,0 +1,89 @@
+set autoconf "../../../Mk/macports.autoconf.mk"
+
+# Sets $bindir variable from macports.autoconf.mk
+# autogenerated file.
+proc load_variables {} {
+ global autoconf
+ global bindir
+
+ if { [file exists $autoconf] == 0 } {
+ puts "$autoconf does not exist."
+ exit 1
+ }
+
+ set line [get_line $autoconf "prefix"]
+ set prefix [lrange [split $line " "] 1 1]
+
+ set line [get_line $autoconf "bindir"]
+ set bin [lrange [split $line "/"] 1 1]
+
+ set bindir $prefix/$bin/
+}
+
+# Executes port clean.
+proc clean {} {
+ global bindir
+
+ set args "clean"
+ set cmd "port"
+
+ set result [eval exec $bindir$cmd $args]]
+}
+
+# Runs the portfile.
+proc run {} {
+ global bindir
+
+ set args "-d test"
+ set output "output"
+ set cmd "port"
+
+ set result [catch {eval exec $bindir$cmd $args >&output} ]
+ return $result
+}
+
+# Returns the line containint a given string
+# from a given file, or -1 if nothing is found.
+proc get_line {filename lookup} {
+ set fp [open $filename r]
+
+ while {[gets $fp line] != -1} {
+ set line [string tolower $line]
+
+ if {[string first $lookup $line 0] != -1} {
+ close $fp
+ return $line
+ }
+ }
+ return -1
+}
+
+
+proc get_md5 {filename} {
+ set md5 "debug: calculated (md5)"
+
+ set line [get_line $filename $md5]
+ set result [lrange [split $line " "] 4 4]
+
+ return $result
+}
+
+
+proc get_sha {filename} {
+ set sha "debug: calculated (sha1)"
+
+ set line [get_line $filename $sha]
+ set result [lrange [split $line " "] 4 4]
+
+ return $result
+}
+
+
+proc get_rmd {filename} {
+ set sha "debug: calculated (rmd160)"
+
+ set line [get_line $filename $sha]
+ set result [lrange [split $line " "] 4 4]
+
+ return $result
+}
Added: branches/gsoc13-tests/tests/test/checksums-1/test_checksum.tcl
===================================================================
--- branches/gsoc13-tests/tests/test/checksums-1/test_checksum.tcl (rev 0)
+++ branches/gsoc13-tests/tests/test/checksums-1/test_checksum.tcl 2013-06-20 18:06:20 UTC (rev 107161)
@@ -0,0 +1,57 @@
+package require tcltest 2
+namespace import tcltest::*
+
+source checksum.tcl
+
+set file "output"
+set dir "work"
+
+test md5_checksum {
+ Regression test for MD5 Checksum.
+} -constraints {
+ root
+} -setup {
+ if { [file exists $file] == 0 } {
+ load_variables
+ clean
+ run
+ }
+} -body {
+ get_md5 $file
+} -result "d41d8cd98f00b204e9800998ecf8427e"
+
+
+test sha1_checksum {
+ Regression test for SHA1 Checksum.
+} -constraints {
+ root
+} -setup {
+ if { [file exists $file] == 0 } {
+ load_variables
+ clean
+ run
+ }
+} -body {
+ get_sha $file
+} -result "da39a3ee5e6b4b0d3255bfef95601890afd80709"
+
+
+test rmd160_checksum {
+ Regression test for RMD160 Checksum.
+} -constraints {
+ root
+} -setup {
+ if { [file exists $file] == 0 } {
+ load_variables
+ clean
+ run
+ }
+} -body {
+ get_rmd $file
+} -result "9c1185a5c5e9fc54612808977ee8f548b2258d31"
+
+
+# remove output file and print results
+removeFile $file
+removeDirectory $dir
+cleanupTests
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130620/f154e470/attachment.html>
More information about the macports-changes
mailing list