mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-21 14:49:18 +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