Projects
Factory:RISC-V:Base
crypto-policies
_service:tar_scm:backport-rewrite-test-nss-pl-i...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-rewrite-test-nss-pl-in-python.patch of Package crypto-policies
From 4fb6cdf626ee35623400ca557198cecb4efd4e88 Mon Sep 17 00:00:00 2001 From: Alexander Sosedkin <asosedkin@redhat.com> Date: Mon, 18 Jan 2021 17:43:53 +0100 Subject: [PATCH] tests/nss.pl: rewrite in Python --- Makefile | 2 +- tests/nss.pl | 41 ----------------------------------------- tests/nss.py | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 42 deletions(-) delete mode 100755 tests/nss.pl create mode 100755 tests/nss.py diff --git a/Makefile b/Makefile index 2699ac6..a50408e 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ check: python/build-crypto-policies.py --policy FIPS:ECDHE-ONLY --test --flat policies tests/outputs tests/openssl.pl tests/gnutls.pl - tests/nss.pl + tests/nss.py tests/java.pl tests/krb5.py top_srcdir=. tests/update-crypto-policies.sh diff --git a/tests/nss.pl b/tests/nss.pl deleted file mode 100755 index e021ffd..0000000 --- a/tests/nss.pl +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/perl - -my $RESULTFILE="result-nss.tmp"; - -use File::Which qw(which); - -print "Checking the NSS configuration\n"; - -my $dir = 'tests/outputs'; - -opendir(DIR, $dir) or die $!; - -my @nsspolicies - = grep { - /-nss/ # has -nss in name - && -f "$dir/$_" # and is a file - } readdir(DIR); - -foreach my $policyfile (@nsspolicies) { - my $policy = $policyfile; - $policy =~ s/-[^-]+$//; - - print "Checking policy $policy\n"; - my $tool = which "nss-policy-check"; - - if ($policy ne 'EMPTY' and $tool ne undef) { - - system("nss-policy-check $dir/$policyfile >$RESULTFILE 2>&1") ; - if ($? != 0) { - print "Error in NSS policy for $policy\n"; - print STDERR "NSS policy for $policy:\n"; - system("cat $dir/$policyfile 1>&2"); - print STDERR "\nnss-policy-check error:\n"; - system("cat $RESULTFILE 1>&2"); - exit 1; - } - unlink($RESULTFILE); - } -} - -exit 0; diff --git a/tests/nss.py b/tests/nss.py new file mode 100755 index 0000000..4d2cee1 --- /dev/null +++ b/tests/nss.py @@ -0,0 +1,33 @@ +#!/usr/bin/python3 + +import glob +import os +import shutil +import subprocess +import sys + + +if shutil.which('nss-policy-check') is None: + print('nss-policy-check not found, skipping check', file=sys.stderr) + sys.exit(0) + + +print('Checking the NSS configuration') + +for policy_path in glob.glob('tests/outputs/*-nss.txt'): + policy = os.path.basename(policy_path)[:-len('-nss.txt')] + print(f'Checking policy {policy}') + if policy not in ('EMPTY', 'GOST-ONLY'): + p = subprocess.Popen(['nss-policy-check', policy_path], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + output, _ = p.communicate() + if p.wait(): + print(f'Error in NSS policy for {policy}') + print(f'NSS policy for {policy}:', file=sys.stderr) + with open(policy_path) as policy_file: + shutil.copyfileobj(policy_file, sys.stderr) + sys.stderr.write('\n') + print('nss-policy-check error:', file=sys.stderr) + print(output.decode(), file=sys.stderr) + sys.exit(1) -- 1.8.3.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2