Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix backend tests backport #12482

Merged
merged 5 commits into from
Apr 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 68 additions & 56 deletions dist/obs-server.spec
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

%define secret_key_file /srv/www/obs/api/config/secret.key
%define obs_backend_data_dir /srv/obs
%define obs_backend_dir /usr/lib/obs/server

%if ! %{defined _restart_on_update_reload}
%define _restart_on_update_reload() (\
Expand Down Expand Up @@ -396,6 +397,17 @@ getent passwd obsapidelayed >/dev/null || \
%files -n system-user-obsservicerun
%endif

%package -n obs-backend-testsuite
Summary: The Open Build Service -- Backend Testsuite
Group: Productivity/Networking/Web/Utilities
Requires: obs-server

%description -n obs-backend-testsuite
This package contains the backend unit tests

%files -n obs-backend-testsuite
%{obs_backend_dir}/t

#--------------------------------------------------------------------------------
%prep
%setup -q -n open-build-service-%version
Expand Down Expand Up @@ -462,8 +474,8 @@ rm -rf %{buildroot}/srv/www/obs/api/spec
rm %{buildroot}/srv/www/obs/api/config/brakeman.ignore

# fail when Makefiles created a directory
if ! test -L %{buildroot}/usr/lib/obs/server/build; then
echo "/usr/lib/obs/server/build is not a symlink!"
if ! test -L %{buildroot}%{obs_backend_dir}/build; then
echo "%{obs_backend_dir}/build is not a symlink!"
exit 1
fi

Expand Down Expand Up @@ -497,7 +509,7 @@ exit 0

export DESTDIR=$RPM_BUILD_ROOT
# check installed backend
pushd $RPM_BUILD_ROOT/usr/lib/obs/server/
pushd $RPM_BUILD_ROOT%{obs_backend_dir}/
rm -rf build
ln -sf /usr/lib/build build # just for %%check, it is a %%ghost
popd
Expand All @@ -510,7 +522,7 @@ popd

####
# start backend testing
pushd $RPM_BUILD_ROOT/usr/lib/obs/server/
pushd $RPM_BUILD_ROOT%{obs_backend_dir}/
%if 0%{?disable_obs_backend_test_suite:1} < 1
# TODO: move syntax check to backend test suite
for i in bs_*; do
Expand Down Expand Up @@ -633,11 +645,11 @@ exit 0
%posttrans
[ -d /srv/obs ] || install -d -o obsrun -g obsrun /srv/obs
# this changes from directory to symlink. rpm can not handle this itself.
if [ -e /usr/lib/obs/server/build -a ! -L /usr/lib/obs/server/build ]; then
rm -rf /usr/lib/obs/server/build
if [ -e %{obs_backend_dir}/build -a ! -L %{obs_backend_dir}/build ]; then
rm -rf %{obs_backend_dir}/build
fi
if [ ! -e /usr/lib/obs/server/build ]; then
ln -sf ../../build /usr/lib/obs/server/build
if [ ! -e %{obs_backend_dir}/build ]; then
ln -sf ../../build %{obs_backend_dir}/build
fi

%postun
Expand Down Expand Up @@ -747,7 +759,7 @@ fi
%doc dist/{README.UPDATERS,README.SETUP} docs/openSUSE.org.xml ReleaseNotes-* README.md COPYING AUTHORS
%dir /etc/slp.reg.d
%dir /usr/lib/obs
%dir /usr/lib/obs/server
%dir %{obs_backend_dir}
%config(noreplace) /etc/logrotate.d/obs-server
%{_unitdir}/obsscheduler.service
%{_unitdir}/obssrcserver.service
Expand Down Expand Up @@ -778,48 +790,48 @@ fi
/usr/sbin/rcobssigner
/usr/sbin/rcobsnotifyforward
/usr/sbin/rcobsredis
/usr/lib/obs/server/plugins
/usr/lib/obs/server/BSDispatcher
/usr/lib/obs/server/BSRepServer
/usr/lib/obs/server/BSSched
/usr/lib/obs/server/BSSrcServer
/usr/lib/obs/server/BSPublisher
/usr/lib/obs/server/XML
/usr/lib/obs/server/*.pm
/usr/lib/obs/server/BSConfig.pm.template
/usr/lib/obs/server/DESIGN
/usr/lib/obs/server/License
/usr/lib/obs/server/README
/usr/lib/obs/server/bs_admin
/usr/lib/obs/server/bs_cleanup
/usr/lib/obs/server/bs_archivereq
/usr/lib/obs/server/bs_check_consistency
/usr/lib/obs/server/bs_deltastore
/usr/lib/obs/server/bs_servicedispatch
/usr/lib/obs/server/bs_dodup
/usr/lib/obs/server/bs_getbinariesproxy
/usr/lib/obs/server/bs_mergechanges
/usr/lib/obs/server/bs_mkarchrepo
/usr/lib/obs/server/bs_notar
/usr/lib/obs/server/bs_regpush
/usr/lib/obs/server/bs_dispatch
/usr/lib/obs/server/bs_publish
/usr/lib/obs/server/bs_repserver
/usr/lib/obs/server/bs_sched
/usr/lib/obs/server/bs_serverstatus
/usr/lib/obs/server/bs_srcserver
/usr/lib/obs/server/bs_worker
/usr/lib/obs/server/bs_signer
/usr/lib/obs/server/bs_warden
/usr/lib/obs/server/bs_redis
/usr/lib/obs/server/bs_notifyforward
/usr/lib/obs/server/worker
/usr/lib/obs/server/worker-deltagen.spec
%config(noreplace) /usr/lib/obs/server/BSConfig.pm
%{obs_backend_dir}/plugins
%{obs_backend_dir}/BSDispatcher
%{obs_backend_dir}/BSRepServer
%{obs_backend_dir}/BSSched
%{obs_backend_dir}/BSSrcServer
%{obs_backend_dir}/BSPublisher
%{obs_backend_dir}/XML
%{obs_backend_dir}/*.pm
%{obs_backend_dir}/BSConfig.pm.template
%{obs_backend_dir}/DESIGN
%{obs_backend_dir}/License
%{obs_backend_dir}/README
%{obs_backend_dir}/bs_admin
%{obs_backend_dir}/bs_cleanup
%{obs_backend_dir}/bs_archivereq
%{obs_backend_dir}/bs_check_consistency
%{obs_backend_dir}/bs_deltastore
%{obs_backend_dir}/bs_servicedispatch
%{obs_backend_dir}/bs_dodup
%{obs_backend_dir}/bs_getbinariesproxy
%{obs_backend_dir}/bs_mergechanges
%{obs_backend_dir}/bs_mkarchrepo
%{obs_backend_dir}/bs_notar
%{obs_backend_dir}/bs_regpush
%{obs_backend_dir}/bs_dispatch
%{obs_backend_dir}/bs_publish
%{obs_backend_dir}/bs_repserver
%{obs_backend_dir}/bs_sched
%{obs_backend_dir}/bs_serverstatus
%{obs_backend_dir}/bs_srcserver
%{obs_backend_dir}/bs_worker
%{obs_backend_dir}/bs_signer
%{obs_backend_dir}/bs_warden
%{obs_backend_dir}/bs_redis
%{obs_backend_dir}/bs_notifyforward
%{obs_backend_dir}/worker
%{obs_backend_dir}/worker-deltagen.spec
%config(noreplace) %{obs_backend_dir}/BSConfig.pm
%config(noreplace) /etc/slp.reg.d/*
# created via %%post, since rpm fails otherwise while switching from
# directory to symlink
%ghost /usr/lib/obs/server/build
%ghost %{obs_backend_dir}/build
%attr(0775, obsrun, obsrun) %dir %{obs_backend_data_dir}
%attr(0755, obsrun, obsrun) %dir %{obs_backend_data_dir}/build
%attr(0755, obsrun, obsrun) %dir %{obs_backend_data_dir}/events
Expand All @@ -838,14 +850,14 @@ fi
%config(noreplace) /etc/logrotate.d/obs-source_service
%config(noreplace) /etc/cron.d/cleanup_scm_cache
/usr/sbin/rcobsservice
/usr/lib/obs/server/bs_service
/usr/lib/obs/server/call-service-in-docker.sh
/usr/lib/obs/server/run-service-containerized
/usr/lib/obs/server/cleanup_scm_cache
%{obs_backend_dir}/bs_service
%{obs_backend_dir}/call-service-in-docker.sh
%{obs_backend_dir}/run-service-containerized
%{obs_backend_dir}/cleanup_scm_cache

# formerly obs-productconverter
/usr/bin/obs_productconvert
/usr/lib/obs/server/bs_productconvert
%{obs_backend_dir}/bs_productconvert

# add obsservicerun user into docker group if docker
# gets installed
Expand Down Expand Up @@ -973,7 +985,7 @@ usermod -a -G docker obsservicerun
%files -n obs-common
%defattr(-,root,root)
%{_fillupdir}/sysconfig.obs-server
/usr/lib/obs/server/setup-appliance.sh
%{obs_backend_dir}/setup-appliance.sh
%{_unitdir}/obsstoragesetup.service
/usr/sbin/obsstoragesetup
/usr/sbin/rcobsstoragesetup
Expand All @@ -994,8 +1006,8 @@ usermod -a -G docker obsservicerun
%{_unitdir}/obsclouduploadserver.service
/usr/sbin/rcobsclouduploadworker
/usr/sbin/rcobsclouduploadserver
/usr/lib/obs/server/bs_clouduploadserver
/usr/lib/obs/server/bs_clouduploadworker
%{obs_backend_dir}/bs_clouduploadserver
%{obs_backend_dir}/bs_clouduploadworker
%{_bindir}/clouduploader
%dir /etc/obs
%dir /etc/obs/cloudupload
Expand Down
2 changes: 1 addition & 1 deletion dist/t/osc/fixtures/obs-testpackage-2.8._service
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<services>
<service name="tar_scm">
<param name="versionformat">%ad</param>
<param name="url">git://github.com/M0ses/obs-testpackage.git</param>
<param name="url">https://github.com/M0ses/obs-testpackage.git</param>
<param name="scm">git</param>
<param name="extract">dist/obs-testpackage.spec</param>
</service>
Expand Down
2 changes: 1 addition & 1 deletion dist/t/osc/fixtures/obs-testpackage._service
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<services>
<service name="obs_scm">
<param name="versionformat">%ad</param>
<param name="url">git://github.com/M0ses/obs-testpackage.git</param>
<param name="url">https://github.com/M0ses/obs-testpackage.git</param>
<param name="scm">git</param>
<param name="extract">dist/obs-testpackage.spec</param>
</service>
Expand Down
3 changes: 1 addition & 2 deletions src/backend/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ install: prepare_dirs install_data_dirs bs_config
cp -a ./* $(DESTDIR)$(OBS_BACKEND_PREFIX)
rm -rf $(DESTDIR)$(OBS_BACKEND_PREFIX)/build
rm -rf $(DESTDIR)$(OBS_BACKEND_PREFIX)/Makefile
rm -rf $(DESTDIR)$(OBS_BACKEND_PREFIX)/t
rm -rf $(DESTDIR)$(OBS_BACKEND_PREFIX)/testdata
rm -rf $(DESTDIR)$(OBS_BACKEND_PREFIX)/examples
# just for check section, it is a %%ghost
Expand All @@ -32,7 +31,7 @@ install_data_dirs: prepare_dirs

test_unit: bs_config
rm -rf t/tmp/*
LANG=C prove -Ibuild -I. -v t/*.t
LANG=C prove -Ibuild -I. -I/usr/lib/build -v t/*.t

cover: bs_config clean_cover
rm -rf t/tmp/*
Expand Down
14 changes: 7 additions & 7 deletions src/backend/t/0015-BSSched-EventSource-Directory.t
Original file line number Diff line number Diff line change
Expand Up @@ -78,24 +78,24 @@ my $stdout_content;
@ev = BSSched::EventSource::Directory::readevents($gctx,$eventdir->{$arch});
$expected = [
{
'evfilename' => 't/data/0015/events/x86_64/finished:devel:languages:perl:CPAN-P::openSUSE_Tumbleweed::perl-perlbench-1c7e973409998f482ce9dba10304e653',
'evfilename' => $eventdir->{$arch}.'/finished:devel:languages:perl:CPAN-P::openSUSE_Tumbleweed::perl-perlbench-1c7e973409998f482ce9dba10304e653',
'type' => 'built',
'job' => 'devel:languages:perl:CPAN-P::openSUSE_Tumbleweed::perl-perlbench-1c7e973409998f482ce9dba10304e653'
},
{
'project' => 'devel:languages:perl:CPAN-S',
'evfilename' => 't/data/0015/events/x86_64/package:devel:languages:perl::perl-Unknown-Type',
'evfilename' => $eventdir->{$arch}.'/package:devel:languages:perl::perl-Unknown-Type',
'type' => 'unknown',
'package' => 'perl-SWISH'
},
{
'project' => 'devel:languages:perl:CPAN-S',
'evfilename' => 't/data/0015/events/x86_64/package:devel:languages:perl:CPAN-S::perl-SWISH',
'evfilename' => $eventdir->{$arch}.'/package:devel:languages:perl:CPAN-S::perl-SWISH',
'type' => 'package',
'package' => 'perl-SWISH'
},
{
'evfilename' => 't/data/0015/events/x86_64/package:devel:languages:perl:CPAN-S::perl-Scalar-Boolean',
'evfilename' => $eventdir->{$arch}.'/package:devel:languages:perl:CPAN-S::perl-Scalar-Boolean',
'project' => 'devel:languages:perl:CPAN-S',
'package' => 'perl-Scalar-Boolean',
'type' => 'package'
Expand All @@ -104,10 +104,10 @@ my $stdout_content;
'type' => 'package',
'package' => 'perl-ScatterPlot',
'project' => 'devel:languages:perl:CPAN-S',
'evfilename' => 't/data/0015/events/x86_64/package:devel:languages:perl:CPAN-S::perl-ScatterPlot'
'evfilename' => $eventdir->{$arch}.'/package:devel:languages:perl:CPAN-S::perl-ScatterPlot'
},
{
'evfilename' => 't/data/0015/events/x86_64/package:project-name::test-package-name',
'evfilename' => $eventdir->{$arch}.'/package:project-name::test-package-name',
'package' => 'test-package-name',
'type' => 'package'
}
Expand All @@ -125,7 +125,7 @@ $expected = [
{
'package' => 'test-package-name',
'type' => 'package',
'evfilename' => 't/data/0015/events/i586/package:project-name::test-package-name'
'evfilename' => $eventdir->{$arch}.'/package:project-name::test-package-name'
}
];

Expand Down