mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-21 06:39:17 +02:00
adding chroot-based install test
This commit is contained in:
parent
abf0db97d2
commit
f897ecc9c1
2 changed files with 69 additions and 0 deletions
57
tests/install/install-tests.pl
Executable file
57
tests/install/install-tests.pl
Executable file
|
@ -0,0 +1,57 @@
|
|||
#! /usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $ROOT="tests/install/root";
|
||||
my $USER=$ENV{USER};
|
||||
|
||||
my $ignore = qr!/lib\d*/modules|/X11|alsa-lib|aspell|dosemu|emacs|erlang|/perl|python|ruby|lisp|sbcl|/ghc-|ocaml|evolution|office|gimp|gtk|mysql|postgres|wordnet|xulrunner!;
|
||||
|
||||
sub linkdir ($$$) {
|
||||
my ($FROM, $TO, $DEPTH) = @_;
|
||||
mkdir $TO;
|
||||
for my $f (`ls $FROM`) {
|
||||
chomp $f;
|
||||
if (-d "$FROM/$f") {
|
||||
if (($DEPTH > 0) && ($FROM !~ $ignore)) {
|
||||
linkdir("$FROM/$f", "$TO/$f", $DEPTH-1);
|
||||
}
|
||||
} else {
|
||||
link "$FROM/$f", "$TO/$f";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mkdir "$ROOT";
|
||||
mkdir "$ROOT/bin";
|
||||
mkdir "$ROOT/sbin";
|
||||
mkdir "$ROOT/dev";
|
||||
mkdir "$ROOT/etc";
|
||||
mkdir "$ROOT/etc/alternatives";
|
||||
mkdir "$ROOT/lib";
|
||||
mkdir "$ROOT/lib64";
|
||||
mkdir "$ROOT/usr";
|
||||
mkdir "$ROOT/usr/bin";
|
||||
mkdir "$ROOT/usr/include";
|
||||
mkdir "$ROOT/usr/lib";
|
||||
mkdir "$ROOT/usr/lib/gcc";
|
||||
|
||||
linkdir "/bin", "$ROOT/bin", 1;
|
||||
linkdir "/sbin", "$ROOT/sbin", 1;
|
||||
link "/etc/passwd", "$ROOT/etc/passwd";
|
||||
linkdir "/etc/alternatives", "$ROOT/etc/alternatives", 1;
|
||||
linkdir "/lib", "$ROOT/lib", 3;
|
||||
linkdir "/lib64", "$ROOT/lib64", 3;
|
||||
linkdir "/usr/bin", "$ROOT/usr/bin", 3;
|
||||
linkdir "/usr/include", "$ROOT/usr/include", 2;
|
||||
linkdir "/usr/lib", "$ROOT/usr/lib", 3;
|
||||
linkdir "/usr/lib/gcc", "$ROOT/usr/lib/gcc", 3;
|
||||
|
||||
`make dist`;
|
||||
my $VERSION=`cat VERSION`;
|
||||
chomp $VERSION;
|
||||
`cp chibi-scheme-$VERSION.tgz $ROOT/`;
|
||||
`sed -e 's/\@VERSION\@/$VERSION/g' <tests/install/run-install-test.sh >$ROOT/bin/run-install-test.sh`;
|
||||
`chmod 755 $ROOT/bin/run-install-test.sh`;
|
||||
exec "sudo chroot $ROOT run-install-test.sh";
|
12
tests/install/run-install-test.sh
Executable file
12
tests/install/run-install-test.sh
Executable file
|
@ -0,0 +1,12 @@
|
|||
#! /bin/bash
|
||||
|
||||
export PATH=/usr/local/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
||||
|
||||
tar xzvf chibi-scheme-@VERSION@.tgz
|
||||
cd chibi-scheme-@VERSION@
|
||||
make
|
||||
make install
|
||||
cp tests/r5rs-tests.scm ..
|
||||
cd ..
|
||||
chibi-scheme r5rs-tests.scm | tee r5rs-tests.out
|
Loading…
Add table
Reference in a new issue