diff --git a/Makefile b/Makefile index 7be8be0b5008ba16d3d55409a12d090359a26c60..e6c463e7e4be0e2f90017d328128b5f66343cb23 100644 --- a/Makefile +++ b/Makefile @@ -11,8 +11,9 @@ install: install centr /usr/bin/centr clean: - rm *.o - rm centr + @rm -f *.o + @rm -f centr + @rm -f centr.local centr: buf.o pages.o centr.c gcc centr.c buf.o pages.o -o centr diff --git a/tests/aux/Makefile.aux b/tests/aux/Makefile.aux new file mode 100644 index 0000000000000000000000000000000000000000..9ae52d05476ff5fd0570aa628ccebc2566fe280b --- /dev/null +++ b/tests/aux/Makefile.aux @@ -0,0 +1,2 @@ +centr.local: buf.o pages.o centr.local.c + gcc centr.local.c buf.o pages.o -o centr.local diff --git a/tests/aux/install-package b/tests/aux/install-package new file mode 100755 index 0000000000000000000000000000000000000000..db4d6d490603f5aee28d55d0ac6f70ad1bfb5a4d --- /dev/null +++ b/tests/aux/install-package @@ -0,0 +1,9 @@ +#!/bin/bash + +PN=$( head -c 32 /dev/urandom|base64|sed -e 's/[/+=]//g' ) +VERSION=$( echo "3k $( head -c 1 /dev/urandom|hexdump -d|head -n 1|sed -e 's/[^ ]*[ ]*//'|sed -e 's/ //g' ) $( head -c 1 /dev/urandom|hexdump -d|head -n 1|sed -e 's/[^ ]*[ ]*//' ) / p"|dc ) + +#echo "${PN}-${VERSION}" +mkdir -p "R/library/${1}/${PN}" + +echo "Version: ${VERSION}" > "R/library/${1}/${PN}/DESCRIPTION" diff --git a/tests/test.json b/tests/test.json new file mode 100644 index 0000000000000000000000000000000000000000..4b4cae0f9289bad840b3bd5ecf4b72cac816da5f --- /dev/null +++ b/tests/test.json @@ -0,0 +1,50 @@ +{ + "name" : "centR tests", + "what is this" : " These are the tests to be run after centr is built ", + + "serial_tasks" : [ + { + "name" : "Build centr.local", + "requirements" : [{ "type":"dir", "target":".", "as":"repo", "mode":"link" }], + "actions" : ["cat repo/centr.c|sed -e 's/\"\\/appl\\/centr\\/repo/\"\\/tmp\\/fakerepo/' > repo/centr.local.c", + "cat repo/Makefile repo/tests/aux/Makefile.aux > repo/Makefile.tmp", + "cd repo","make -f Makefile.tmp centr.local", "rm -f Makefile.tmp", "rm -f centr.local.c", + "cd .." + ], + "success_conditions" : [ { "name" : "centr.local exists", "type" : "file_exists", "file" : "repo/centr.local" } ] + }, + { + "name" : "Build fake repo", + "requirements" : [{ "type":"dir", "target":".", "as":"repo", "mode":"link" }, + { "type":"dir", "target":"/tmp", "as":"tmp", "mode":"link" } + ], + "actions" : [ "mkdir tmp/fakerepo", "touch tmp/fakerepo/mine" ], + "success_conditions" : [ { "name" : "fake repo exists", "type" : "file_exists", "file" : "tmp/fakerepo/mine" } ] + }, + { + "name" : "Generate and donate fake packages", + "requirements" : [{ "type":"dir", "target":".", "as":"repo", "mode":"link" }, + { "type":"dir", "target":"/tmp", "as":"tmp", "mode":"link" } + ], + "actions" : [ "for n in {1..365}; do repo/tests/aux/install-package 6.6; done", "repo/centr.local donate", "repo/centr.local dump|sort -k 1 > repo/list1" ], + "success_conditions" : [ { "name" : "no errors", "type" : "exitcode0" } ] + }, + { + "name" : "Rebuild project from previous manifest", + "requirements" : [{ "type":"dir", "target":".", "as":"repo", "mode":"link" }, + { "type":"dir", "target":"/tmp", "as":"tmp", "mode":"link" } + ], + "actions" : [ "cat repo/list1|repo/centr.local rebuild", "repo/centr.local dump|sort -k 1 > repo/list2", "diff repo/list1 repo/list2 > repo/diffresult" ], + "success_conditions" : [ {"name" : "rebuilt project is the same", "type":"md5sum", "file":"repo/diffresult", "checksum":"d41d8cd98f00b204e9800998ecf8427e" } ,{ "name" : "no errors", "type" : "exitcode0" } ] + }, + { + "name" : "Remove unnecessary files", + "requirements" : [{ "type":"dir", "target":".", "as":"repo", "mode":"link" }, + { "type":"dir", "target":"/tmp", "as":"tmp", "mode":"link" } + ], + "actions" : [ "rm -f repo/list1 repo/list2 repo/diffresult repo/centr.local", "chmod -R u+w tmp/fakerepo" ,"rm -rf tmp/fakerepo" ], + "success_conditions" : [ { "name" : "no errors", "type" : "exitcode0" } ] + } + + ] +}