mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-21 05:00:59 +00:00
4bb00e99fb
Disable conversion cache because all lyx instances use the same cache without any locking between read and write to the cache. Thanks to Scott catching this case.
89 lines
2.2 KiB
Perl
Executable File
89 lines
2.2 KiB
Perl
Executable File
#! /usr/bin/env perl
|
|
# -*- mode: perl; -*-
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
# Syntax: prefTest.pl [test|default] [<var1>=<Subst1> [<var2>=<Subst> ...]] [[ctest parameters]]
|
|
# If the first parameter is "test"
|
|
# allow use of -shell-escape in converters and
|
|
# allow use of external programs
|
|
# If the first parameter is "default"
|
|
# remove "-shell-escape" from converters and
|
|
# forbid use of external programs
|
|
# Else
|
|
# allow use of -shell-escape in converters and
|
|
# do not change handling the use of external programs
|
|
############################################################
|
|
|
|
BEGIN {
|
|
unshift(@INC, "@CMAKE_CURRENT_SOURCE_DIR@");
|
|
}
|
|
|
|
use prefTest;
|
|
|
|
my $bindir = "@CMAKE_BINARY_DIR@";
|
|
|
|
my $userdir = "$bindir/Testing/.lyx";
|
|
|
|
my %allowedKeys = (
|
|
"use_converter_needauth_forbidden" => ["true", "false"],
|
|
"use_converter_needauth" => ["true", "false"],
|
|
"allow_geometry_session" => ["false"],
|
|
"use_converter_cache" => ["true", "false"],
|
|
"converter_cache_maxage" => "integer",
|
|
);
|
|
|
|
my %Converter = ();
|
|
|
|
chdir($bindir);
|
|
|
|
# Parse Arguments for strings to substitute
|
|
|
|
my %Subst = ();
|
|
|
|
my @ctestpars = ();
|
|
|
|
my $shell_escapes = 1;
|
|
my $handle_argv = "";
|
|
if (defined($ARGV[0]) && ($ARGV[0] =~ /^(test|default)$/)) {
|
|
$handle_argv = $1;
|
|
shift(@ARGV);
|
|
}
|
|
|
|
if ($handle_argv eq "test") {
|
|
@ctestpars = &getSubstitutes(\%allowedKeys, \%Subst,
|
|
"allow_geometry_session=false",
|
|
"use_converter_needauth_forbidden=false",
|
|
"use_converter_needauth=false",
|
|
"use_converter_cache=false",
|
|
"converter_cache_maxage=" . 180*24*60*60,
|
|
@ARGV);
|
|
}
|
|
elsif ($handle_argv eq "default") {
|
|
$shell_escapes = 0;
|
|
@ctestpars = &getSubstitutes(\%allowedKeys, \%Subst,
|
|
"allow_geometry_session=false",
|
|
"use_converter_needauth_forbidden=true",
|
|
"use_converter_needauth=true",
|
|
"use_converter_cache=true",
|
|
"converter_cache_maxage=" . 61*24*60*60,
|
|
@ARGV);
|
|
}
|
|
else {
|
|
@ctestpars = &getSubstitutes(\%allowedKeys, \%Subst,
|
|
"allow_geometry_session=false", @ARGV);
|
|
}
|
|
|
|
&getConverters($userdir, \%Converter, $shell_escapes);
|
|
|
|
&applyChanges($userdir, \%Subst, \%Converter, $shell_escapes);
|
|
|
|
my $res = 0;
|
|
if (@ctestpars) {
|
|
$res = system("ctest", @ctestpars);
|
|
}
|
|
|
|
exit($res);
|
|
|