Compare commits

...

No commits in common. "c8s" and "c8" have entirely different histories.
c8s ... c8

20 changed files with 2 additions and 682 deletions

5
.gitignore vendored
View File

@ -1,4 +1 @@
intltool-0.41.1.tar.gz
/intltool-0.50.0.tar.gz
/intltool-0.50.2.tar.gz
/intltool-0.51.0.tar.gz
SOURCES/intltool-0.51.0.tar.gz

1
.intltool.metadata Normal file
View File

@ -0,0 +1 @@
a0c3bcb99d1bcfc5db70f8d848232a47c47da090 SOURCES/intltool-0.51.0.tar.gz

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,20 +0,0 @@
--- intltool-0.35.5/intltool-merge.in.in.dont-duplicate-msgid 2007-03-21 13:10:28.000000000 -0400
+++ intltool-0.35.5/intltool-merge.in.in 2007-03-21 13:13:43.000000000 -0400
@@ -428,7 +428,7 @@
if (/^msgid "((\\.|[^\\]+)*)"/ )
{
- $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr;
+ $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr && $msgid ne $msgstr;
$msgid = "";
$msgstr = "";
@@ -455,7 +455,7 @@
$msgstr .= unescape_po_string($1) if $inmsgstr;
}
}
- $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr;
+ $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr && $msgstr ne $msgid;
}
}

View File

@ -1,25 +0,0 @@
--- trunk/intltool-update.in.in 2007/02/14 04:12:19 671
+++ trunk/intltool-update.in.in 2007/03/02 16:43:19 674
@@ -563,13 +563,21 @@
exit 1;
}
+sub isIntltoolExtractInPath
+{
+ my ($file) = @_;
+ # If either a file exists, or when run it returns 0 exit status
+ return 1 if ((-x $file) or (system("$file >/dev/null") == 0));
+ return 0;
+}
+
sub GenerateHeaders
{
my $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} || "intltool-extract";
## Generate the .h header files, so we can allow glade and
## xml translation support
- if (! -x "$EXTRACT")
+ if (! isIntltoolExtractInPath("$EXTRACT"))
{
print STDERR "\n *** The intltool-extract script wasn't found!"
."\n *** Without it, intltool-update can not generate files.\n";

View File

@ -1,32 +0,0 @@
diff -up intltool-0.35.5/intltool.m4.polkit intltool-0.35.5/intltool.m4
--- intltool-0.35.5/intltool.m4.polkit 2007-07-31 17:23:52.000000000 -0400
+++ intltool-0.35.5/intltool.m4 2007-07-31 17:24:20.000000000 -0400
@@ -65,6 +65,7 @@ INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.
INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+ INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
AC_SUBST(INTLTOOL_DESKTOP_RULE)
AC_SUBST(INTLTOOL_DIRECTORY_RULE)
@@ -84,6 +85,7 @@ AC_SUBST(INTLTOOL_CAVES_RULE)
AC_SUBST(INTLTOOL_SCHEMAS_RULE)
AC_SUBST(INTLTOOL_THEME_RULE)
AC_SUBST(INTLTOOL_SERVICE_RULE)
+AC_SUBST(INTLTOOL_POLICY_RULE)
# Use the tools built into the package, not the ones that are installed.
AC_SUBST(INTLTOOL_EXTRACT, '$(top_builddir)/intltool-extract')
diff -up intltool-0.35.5/intltool-update.in.in.polkit intltool-0.35.5/intltool-update.in.in
--- intltool-0.35.5/intltool-update.in.in.polkit 2007-07-31 17:10:52.000000000 -0400
+++ intltool-0.35.5/intltool-update.in.in 2007-07-31 17:21:45.000000000 -0400
@@ -71,7 +71,8 @@ my $xml_support =
"sheet(?:\\.in)+|". # ?
"schemas(?:\\.in)+|". # GConf specific
"pong(?:\\.in)+|". # DEPRECATED: PONG is not used [by GNOME] any longer.
-"kbd(?:\\.in)+"; # GOK specific.
+"kbd(?:\\.in)+|". # GOK specific.
+"policy(?:\\.in)+"; # PolicyKit files
my $ini_support =
"icon(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec

View File

@ -1,153 +0,0 @@
diff -up intltool-0.40.6/intltool-merge.in.schemas intltool-0.40.6/intltool-merge.in
--- intltool-0.40.6/intltool-merge.in.schemas 2009-02-14 17:12:28.000000000 -0500
+++ intltool-0.40.6/intltool-merge.in 2009-04-27 01:41:11.099450891 -0400
@@ -38,8 +38,9 @@ my $PACKAGE = "@PACKAGE@";
my $VERSION = "@VERSION@";
## Loaded modules
-use strict;
+use strict;
use Getopt::Long;
+use Cwd;
use Text::Wrap;
use File::Basename;
use Encode;
@@ -68,6 +69,9 @@ my $PASS_THROUGH_ARG = 0;
my $UTF8_ARG = 0;
my $MULTIPLE_OUTPUT = 0;
my $cache_file;
+my $GETTEXT_PACKAGE = "";
+my %varhash = ();
+my $SRCDIR = $ENV{"srcdir"} || ".";
## Handle options
GetOptions
@@ -87,7 +91,8 @@ GetOptions
"pass-through|p" => \$PASS_THROUGH_ARG,
"utf8|u" => \$UTF8_ARG,
"multiple-output|m" => \$MULTIPLE_OUTPUT,
- "cache|c=s" => \$cache_file
+ "cache|c=s" => \$cache_file,
+ "gettext-package|g=s" => \$GETTEXT_PACKAGE
) or &error;
my $PO_DIR;
@@ -103,6 +108,8 @@ my $w = "[-A-Za-z0-9._:]";
# XML quoted string contents
my $q = "[^\\\"]*";
+my $MODULE = $GETTEXT_PACKAGE || FindPackageName() || "unknown";
+
## Check for options.
if ($VERSION_ARG)
@@ -216,6 +223,8 @@ Other options:
a single file containing all localized elements
-c, --cache=FILE specify cache file name
(usually \$top_builddir/po/.intltool-merge-cache)
+ -g, --gettext-package=NAME
+ specify gettext domain, needed for --schemas-style
-q, --quiet suppress most messages
--help display this help and exit
--version output version information and exit
@@ -241,6 +250,25 @@ sub print_message
}
+sub FindPackageName
+{
+ my $name = "";
+
+ my $conf_source; {
+ local (*IN);
+ open (IN, "<Makefile") || return $name;
+ seek (IN, 0, 0);
+ local $/; # slurp mode
+ $conf_source = <IN>;
+ close IN;
+ }
+
+ $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE = \[?([^\n\]]+)/m;
+
+ return $name if $name;
+}
+
+
sub preparation
{
$PO_DIR = $ARGV[0];
@@ -1246,50 +1274,41 @@ sub schemas_merge_translations
my $short_string = $9 ? $9 : '';
my $long_string = $12 ? $12 : '';
- print OUTPUT "$locale_start_spaces$c_default_block";
-
$default_string =~ s/\s+/ /g;
- $default_string = entity_decode($default_string);
$short_string =~ s/\s+/ /g;
- $short_string = entity_decode($short_string);
$long_string =~ s/\s+/ /g;
- $long_string = entity_decode($long_string);
- for my $lang (sort keys %po_files_by_lang)
- {
- my $default_translation = $translations{$lang, $default_string};
- my $short_translation = $translations{$lang, $short_string};
- my $long_translation = $translations{$lang, $long_string};
-
- next if (!$default_translation && !$short_translation &&
- !$long_translation);
-
- print OUTPUT "\n$locale_start_spaces<locale name=\"$lang\">";
+ print OUTPUT "$locale_start_spaces<gettext_domain>$MODULE</gettext_domain>";
+ print OUTPUT "$locale_start_spaces<locale name=\"C\">";
print OUTPUT "$default_spaces";
-
- if ($default_translation)
- {
- $default_translation = entity_encode($default_translation);
- print OUTPUT "<default>$default_translation</default>";
+ if ($default_string) {
+ print OUTPUT "<default>$default_string</default>";
}
+ print OUTPUT "$short_spaces";
+ if ($short_string) {
+ print OUTPUT "<short>$short_string</short>";
+ }
+ print OUTPUT "$long_spaces";
+ if ($long_string) {
+ print OUTPUT "<long>$long_string</long>";
+ }
+ print OUTPUT "$locale_end_spaces</locale>";
- print OUTPUT "$short_spaces";
+ $default_string = entity_decode($default_string);
+ $short_string = entity_decode($short_string);
+ $long_string = entity_decode($long_string);
- if ($short_translation)
- {
- $short_translation = entity_encode($short_translation);
- print OUTPUT "<short>$short_translation</short>";
- }
+ for my $lang (sort keys %po_files_by_lang)
+ {
+ my $default_translation = $translations{$lang, $default_string};
- print OUTPUT "$long_spaces";
+ next if (!$default_translation || ($default_translation eq $default_string));
- if ($long_translation)
- {
- $long_translation = entity_encode($long_translation);
- print OUTPUT "<long>$long_translation</long>";
- }
+ $default_translation = entity_encode($default_translation);
+ print OUTPUT "\n$locale_start_spaces<locale name=\"$lang\">";
+ print OUTPUT "$default_spaces<default>$default_translation</default>";
print OUTPUT "$locale_end_spaces</locale>";
}
}
diff -up intltool-0.40.6/tests/results/test.schemas intltool-0.40.6/tests/results/test

View File

@ -1 +0,0 @@
SHA512 (intltool-0.51.0.tar.gz) = 4c93cb26592ed0b1622d3b7800b5d6622ffa36f58ac73f2ef0bddfab522565fdfb8fa73d81914b9a202f1d62bc995a08960f8adb9f62c86918e75498e85fbfdf

View File

@ -1,62 +0,0 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of intltool/tests/intltool-tests
# Description: Functional tests for intltool.
# Author: Sundeep Anand <suanand@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=tests/intltool-tests
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) Makefile runtest.sh
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Sundeep Anand <suanand@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Functional test for the intltool module" >> $(METADATA)
@echo "Type: Functional" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: python3" >> $(METADATA)
@echo "Requires: python3" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -1,8 +0,0 @@
[Desktop Entry]
_Name=Nautilus
_Comment=Nautilus File Manager and Graphic Shell
TryExec=run-nautilus
Exec=run-nautilus
Icon=nautilus-launch-icon.png
Terminal=0
Type=Application

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<gimp-tips>
<!-- This is a list of tips for the GIMP. Every time the GIMP is -->
<!-- started, one tip will be selected from this file and will be -->
<!-- displayed in the "Tip of the day" dialog. -->
<!-- The tips parser supports a very basic markup language. You may use -->
<!-- the tag b to specify bold text, big to increase the font size and -->
<!-- tt to switch to a monospace font. -->
<tip level="start">
<_welcome>
<big>Welcome to The GIMP !</big>
</_welcome>
<_thetip>
Nearly all image operations are performed by right-clicking
on the image. And don't worry, you can undo most mistakes...
</_thetip>
</tip>
<!-- -->
<!-- Tips for beginners start here -->
<!-- (for people who are not familiar yet with layers and image formats) -->
<!-- -->
<tip level="beginner">
<_thetip>
You can get context-sensitive help for most of the GIMP's features by
pressing the F1 key at any time. This also works inside the menus.
</_thetip>
</tip>
<tip level="beginner">
<_thetip>
The GIMP uses layers to let you organize your image. Think of them
as a stack of slides or filters, such that looking through them you
see a composite of their contents.
</_thetip>
</tip>
<tip level="beginner">
<_thetip>
You can perform many layer operations by right-clicking on the text
label of a layer in the &quot;Layers, Channels and Paths&quot; dialog.
</_thetip>
</tip>
<tip level="beginner">
<_thetip>
When you save an image to work on it again later, try using XCF,
the GIMP's native file format (use the file extension <tt>.xcf</tt>).
This preserves the layers and every aspect of your work-in-progress.
Once a project is completed, you can save it as JPEG, PNG, GIF, ...
</_thetip>
</tip>
<tip level="beginner">
<_thetip>
The layer named &quot;Background&quot; it special because it lacks
transparency. This prevents you from adding a layer mask or moving
the layer up in the stack. You may add transparency to it by
right-clicking in the &quot;Layers, Channels and Paths&quot; dialog
and selecting &quot;Add Alpha Channel&quot;.
</_thetip>
</tip>
<tip level="beginner">
<_thetip>
Most plug-ins work on the current layer of the current image. In
some cases, you will have to merge all layers (Layers-&gt;Flatten Image)
if you want the plug-in to work on the whole image.
</_thetip>
</tip>
<tip level="beginner">
<_thetip>
Not all effects can be applied to all kinds of images. This is
indicated by a grayed-out menu-entry. You may need to change
the image mode to RGB (Image-&gt;Mode-&gt;RGB), add an alpha-channel
(Layers-&gt;Add Alpha Channel) or flatten it (Layers-&gt;Flatten Image).
</_thetip>
</tip>
<!-- -->
<!-- (end of tips) -->
<!-- -->
</gimp-tips>

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<error-list domain="shell" xml:space="preserve">
<error id="upgrade-nospace" type="error">
<_primary>Insufficient disk space for upgrade.</_primary>
<_secondary>Upgrading your data and settings will require up to {0} of disk
space, but you only have {1} available.
You will need to make more space available in your home directory before you can
continue.</_secondary>
<button stock="gtk-quit" response="GTK_RESPONSE_CANCEL"/>
</error>
<!-- lets test reverting xml:space to default as well -->
<error xml:space="default">
<_primary>This is not an error.</_primary>
<_secondary>And this message should take no more than
one single row, no matter the spacing in
the source file.
</_secondary>
</error>
</error-list>

View File

@ -1,44 +0,0 @@
# Test file for intltool.
# Danilo Segan <danilo@gnome.org>, 2005.
#
# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
msgid ""
msgstr ""
"Project-Id-Version: space preserving test\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-06-26 12:46+0200\n"
"PO-Revision-Date: 2005-06-26 12:49+0200\n"
"Last-Translator: Данило Шеган <danilo@gnome.org>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: space-preserve.xml.in.h:1
msgid ""
"And this message should take no more than one single row, no matter the "
"spacing in the source file."
msgstr "Ова порука не сме заузети више од једног реда, без обзира на начин приказа у изворној датотеци."
#: space-preserve.xml.in.h:2
msgid "Insufficient disk space for upgrade."
msgstr "Недовољно места на диску за освежавање."
#: space-preserve.xml.in.h:3
msgid "This is not an error."
msgstr "Ово није грешка."
#: space-preserve.xml.in.h:4
msgid ""
"Upgrading your data and settings will require up to {0} of disk\n"
"space, but you only have {1} available.\n"
"\n"
"You will need to make more space available in your home directory before you "
"can\n"
"continue."
msgstr ""
"Освежавање ваших података и подешавања захтева бар {0} простора\n"
"на диску, а вама је остало само {1}.\n"
"\n"
"Мораћете да ослободите још простора у вашем личном директоријуму\n"
"пре него што наставите."

View File

@ -1,53 +0,0 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of intltool/tests/intltool-tests
# Description: Functional tests for intltool.
# Author: Sundeep Anand <suanand@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
[ -e /usr/bin/rhts-environment.sh ] && . /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="intltool"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
rlRun "cp -r test_intltool.py cases $TmpDir"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlLog "Run test_intltool.py"
rlRun "python3 test_intltool.py"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -1,158 +0,0 @@
# -*- coding: utf-8 -*-
import logging
import os
import subprocess
# Saving logs
logging.basicConfig(level=logging.INFO)
DECORATE_STR = "************************************"
logging.info("TEST RESULTS FOR INTLTOOL\n{0}".format(DECORATE_STR))
# CONSTANTS
PACKAGE_TO_TEST = "intltool"
PYTHON_INTERPRETER = "python3"
TEST_I18N_FILE = "test_intltool.py"
LOG_INFO_PASS = "[ PASS ]"
LOG_INFO_FAIL = "[ FAIL ]"
LOG_INFO_SKIP = "[ SKIP ]"
LOG_INFO_OS_ERROR = "[ OS Error ]"
INTLTOOL_CMDS = [
'intltool-extract',
'intltool-merge',
'intltool-prepare',
'intltool-update'
]
TEST_FILES = [
'cases/extract1.desktop',
'cases/extract7.xml',
'cases/space-preserve.xml.in',
'cases/spacepreserve.po',
]
GENERATED_FILES = [
'cases/extract1.desktop.h',
'cases/extract7.xml.h'
]
TEMP_PO_FILE = 'cases/space-preserve.po'
def _quick_clean():
[os.unlink(g_file)
for g_file in GENERATED_FILES
if os.path.exists(g_file)]
if os.path.exists(TEMP_PO_FILE):
subprocess.Popen(
"mv {0} {1}".format(TEMP_PO_FILE, TEST_FILES[3]),
shell=True
).communicate()
def test_intltool_installed():
"""
Test if intltool is installed
"""
subject = "GNU Intltool Installation Test"
try:
cmd_check_intltool = ['rpm', '-q', PACKAGE_TO_TEST]
p1 = subprocess.Popen(cmd_check_intltool, stdout=subprocess.PIPE)
std_data, stderr = p1.communicate()
std_data = std_data.decode()
logging.info("Found {0} NVR: {1}".format(PACKAGE_TO_TEST, std_data))
if PACKAGE_TO_TEST in std_data:
logging.info("{0}: {1}\n".format(subject, LOG_INFO_PASS))
else:
logging.error("{0}: {1}\n".format(subject, LOG_INFO_FAIL))
except OSError as e:
logging.error("{0}: {1}\n".format(subject, LOG_INFO_OS_ERROR))
def test_intltool_extract():
"""
Test intltool-extract command
"""
subject = "GNU Intltool Extract Command Test"
try:
cmd_intltool_extract_ini = \
"{0} --type=gettext/ini --quiet --update {1}".format(INTLTOOL_CMDS[0],
TEST_FILES[0])
p1 = subprocess.Popen(cmd_intltool_extract_ini, shell=True)
p1.communicate()
cmd_intltool_extract_xml = \
"{0} --type=gettext/xml --quiet --update {1}".format(INTLTOOL_CMDS[0],
TEST_FILES[1])
p2 = subprocess.Popen(cmd_intltool_extract_xml, shell=True)
p2.communicate()
if os.path.isfile(GENERATED_FILES[0]) and os.path.isfile(GENERATED_FILES[1]):
logging.info("{0}: {1}\n".format(subject, LOG_INFO_PASS))
else:
logging.error("{0}: {1}\n".format(subject, LOG_INFO_FAIL))
except OSError as e:
logging.error("{0}: {1} - {2}\n".format(subject, LOG_INFO_OS_ERROR, e))
def test_intltool_merge():
"""
Test intltool-extract command
"""
subject = "GNU Intltool Merge Command Test"
if not os.path.exists(TEST_FILES[2]) and not os.path.exists(TEST_FILES[3]):
logging.error("{0}: {1}\n".format(subject, LOG_INFO_SKIP))
return
try:
cmd_file_type = "file {0}".format(TEST_FILES[3])
p1 = subprocess.Popen(cmd_file_type, stdout=subprocess.PIPE, shell=True)
std_data_p1, stderr_p1 = p1.communicate()
file_type_before_merge = std_data_p1.decode()
subprocess.Popen("cp {0} {1}".format(TEST_FILES[3], TEMP_PO_FILE),
shell=True).communicate()
cmd_intltool_merge = "{0} -x --quiet cases {1} {2}".format(INTLTOOL_CMDS[1],
TEST_FILES[2],
TEST_FILES[3])
p2 = subprocess.Popen(cmd_intltool_merge, shell=True)
p2.communicate()
p3 = subprocess.Popen(cmd_file_type, stdout=subprocess.PIPE, shell=True)
std_data_p3, stderr_p3 = p3.communicate()
file_type_after_merge = std_data_p3.decode()
if 'GNU gettext message catalogue' in file_type_before_merge and \
'XML 1.0 document' in file_type_after_merge:
logging.info("{0}: {1}\n".format(subject, LOG_INFO_PASS))
else:
logging.error("{0}: {1}\n".format(subject, LOG_INFO_FAIL))
except OSError as e:
logging.error("{0}: {1} - {2}\n".format(subject, LOG_INFO_OS_ERROR, e))
if __name__ == "__main__":
"""
Entry point for intltool tests
"""
env_tests = [test_intltool_installed,
test_intltool_extract,
test_intltool_merge]
# Execute tests
[env_test() for env_test in env_tests]
_quick_clean()

View File

@ -1,13 +0,0 @@
---
# Tests run on Atomic, Classic and Container
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- atomic
- classic
- container
tests:
- intltool-tests
required_packages:
- intltool