7686729069
Extract protocol-agnostic FenceTimeline from Intel to shared src/drivers/fence.rs — atomic-based fence tracking suitable for Intel, VIRGL, and AMD drivers. Extract protocol-agnostic SyncobjManager from Intel to shared src/drivers/syncobj.rs — syncobj create/destroy/signal/reset/ wait/query and sync_file fd export/import. Wire both into VirtioDriver: - Add FenceTimeline + SyncobjManager fields - Implement all 5 GpuDriver syncobj trait methods (create, destroy, wait, export_fd, import_fd) - Track fence seqnos in virgl_submit_3d (allocate before submit, signal after completion) Intel fence.rs and syncobj.rs converted to thin re-export modules pointing at shared sources — no behavioral change for Intel driver. This gives Mesa VIRGL userspace the standard DRM syncobj API for GPU/compositor synchronization.
229 lines
7.1 KiB
Makefile
229 lines
7.1 KiB
Makefile
# Testsuite makefile for GNU sed
|
|
|
|
SHELL = /bin/sh
|
|
|
|
# These are only fallback values. They are usually overridden by runtest.
|
|
srcdir = .
|
|
SED = ./sed/sed
|
|
|
|
TIME=
|
|
#TIME=time
|
|
|
|
SEDENV_2 = LC_ALL=C
|
|
SEDENV = $(SEDENV_2) $(TIME)
|
|
TR = $(SEDENV_2) tr
|
|
|
|
CMP=cmp
|
|
RM=rm -f
|
|
elide_cr = $(SEDENV_2) $(SED) 's/\r//g'
|
|
|
|
SKIP = :>$@.skip; exit 77
|
|
|
|
enable sep inclib 8bit 8to7 newjis xabcx dollar noeol bkslashes \
|
|
numsub head madding mac-mf empty xbxcx xbxcx3 recall recall2 xemacs \
|
|
appquit fasts uniq manis linecnt khadafy allsub flipcase space modulo \
|
|
y-bracket y-newline y-zero insert brackets amp-escape newline-anchor::
|
|
$(SEDENV) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
0range::
|
|
$(SEDENV) $(SED) -s -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
zero-anchor::
|
|
$(SEDENV) $(SED) -z -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
badenc::
|
|
LC_ALL=ru_RU.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
LC_ALL=it_IT.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
LC_ALL=en_US.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
LC_ALL=en_GB.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
# Try with ru_RU.UTF-8. If it is presumably not installed, see if the current
|
|
# locale is UTF-8 and run it in the current locale.
|
|
utf8-1 utf8-2 utf8-3 utf8-4::
|
|
echo "LC_ALL=ru_RU.UTF-8" \
|
|
"$(TIME) $(SED) -f $(srcdir)/$@.sed" \
|
|
"< $(srcdir)/$@.inp | $(elide_cr) > $@.out"; \
|
|
LC_ALL=ru_RU.UTF-8 \
|
|
$(TIME) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out; \
|
|
$(CMP) $(srcdir)/$@.good $@.out && exit 0; \
|
|
$(CMP) $(srcdir)/$@.inp $@.out || exit 1; \
|
|
locale > $@.info 2>/dev/null || { rm $@.info; $(SKIP); }; \
|
|
. $@.info; rm $@.info; \
|
|
case "$$LC_CTYPE" in \
|
|
*UTF-8 | *UTF8 | *utf8 | *utf-8) \
|
|
echo "$(TIME) $(SED) -f $(srcdir)/$@.sed" \
|
|
" < $(srcdir)/$@.inp | $(elide_cr) > $@.out"; \
|
|
$(TIME) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out; \
|
|
$(CMP) $(srcdir)/$@.good $@.out && exit 0; \
|
|
$(CMP) $(srcdir)/$@.inp $@.out || exit 1 ;; \
|
|
*) ;; \
|
|
esac; \
|
|
$(SKIP)
|
|
|
|
# This checks for a bug in 3.02 and 3.02.80
|
|
stdin::
|
|
($(SEDENV) $(SED) d; $(SEDENV) $(SED) G) < $(srcdir)/numsub.inp \
|
|
| $(elide_cr) > $@.1out
|
|
$(SEDENV) cat $(srcdir)/numsub.inp \
|
|
| ($(SEDENV) $(SED) d; $(SEDENV) $(SED) G) | $(elide_cr) > $@.2out
|
|
$(CMP) $@.1out $@.2out
|
|
@$(RM) $@.1out $@.2out
|
|
|
|
inplace-hold::
|
|
echo x > $@.1out
|
|
echo y > $@.2out
|
|
echo > $@.out
|
|
$(SEDENV) $(SED) -i x $@.1out $@.2out
|
|
$(CMP) $@.1out $@.out
|
|
$(CMP) $@.2out $@.out
|
|
@$(RM) $@.1out $@.2out $@.out
|
|
|
|
cv-vars classes middle dc distrib factor numsub2 numsub3 numsub4 numsub5 \
|
|
insens::
|
|
$(SEDENV) $(SED) -n -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
noeolw::
|
|
$(SEDENV) $(SED) -n -f $(srcdir)/$@.sed \
|
|
$(srcdir)/noeol.inp $(srcdir)/noeol.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
$(elide_cr) < $@.1out | $(CMP) $(srcdir)/$@.1good -
|
|
$(elide_cr) < $@.2out | $(CMP) $(srcdir)/$@.2good -
|
|
@$(RM) $@.1out $@.2out $@.out
|
|
|
|
subwrite::
|
|
$(SEDENV) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.1out
|
|
$(CMP) $(srcdir)/subwrt1.good $@.1out
|
|
$(elide_cr) < $@.wout | $(CMP) $(srcdir)/subwrt2.good -
|
|
@$(RM) $@.1out $@.wout
|
|
|
|
bsd::
|
|
$(SEDENV_2) sh $(srcdir)/$@.sh '$(TIME) $(SED)' $@.out
|
|
$(elide_cr) < $@.out | $(CMP) $(srcdir)/$@.good -
|
|
@$(RM) $@.out
|
|
|
|
writeout::
|
|
$(SEDENV) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.1out
|
|
$(CMP) $(srcdir)/wrtout1.good $@.1out
|
|
$(elide_cr) < $@.wout | $(CMP) $(srcdir)/wrtout2.good -
|
|
@$(RM) $@.1out $@.wout
|
|
|
|
readin::
|
|
echo MOO | $(SEDENV) $(SED) b > $@.in2
|
|
$(SEDENV) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out $@.in2
|
|
|
|
eval.in2: $(srcdir)/eval.inp
|
|
cat $(srcdir)/eval.inp > $@
|
|
|
|
eval:: eval.in2
|
|
$(SEDENV) $(SED) -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/$@.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/$@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
binary binary2 binary3::
|
|
$(SEDENV) $(SED) -n -f $(srcdir)/$@.sed \
|
|
< $(srcdir)/binary.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/binary.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
#
|
|
# cmdlines targets
|
|
#
|
|
|
|
help::
|
|
$(SEDENV) $(SED) --help | grep E-mail > /dev/null 2>&1
|
|
$(SEDENV) $(SED) --help | $(SEDENV) $(SED) '1s/ [^ ]* / sed /; /^E-mail/,$$d' > $@.1out
|
|
$(SEDENV) $(SED) 2>&1 | $(SEDENV) $(SED) '1s/ [^ ]* / sed /' > $@.2out || :
|
|
$(CMP) $@.1out $@.2out
|
|
@$(RM) $@.1out $@.2out
|
|
|
|
version::
|
|
$(SEDENV) $(SED) --version 2>&1 | $(elide_cr) > $@.out
|
|
$(CMP) $@.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
file::
|
|
$(SEDENV) $(SED) --file=$(srcdir)/newjis.sed \
|
|
< $(srcdir)/newjis.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/newjis.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
quiet::
|
|
$(SEDENV) $(SED) --quiet -f $(srcdir)/cv-vars.sed \
|
|
< $(srcdir)/cv-vars.inp | $(elide_cr) > $@.out
|
|
$(CMP) $(srcdir)/cv-vars.good $@.out
|
|
@$(RM) $@.out
|
|
|
|
# The following target is not used in super sed builds (only GNU sed)
|
|
|
|
bug-regex7$(EXEEXT) bug-regex8$(EXEEXT) bug-regex9$(EXEEXT) \
|
|
bug-regex10$(EXEEXT) bug-regex11$(EXEEXT) bug-regex12$(EXEEXT) \
|
|
bug-regex13$(EXEEXT) bug-regex14$(EXEEXT) bug-regex15$(EXEEXT) bug-regex16$(EXEEXT) \
|
|
bug-regex21$(EXEEXT) runtests$(EXEEXT) runptests$(EXEEXT)::
|
|
echo "$(SEDENV) ./$@ > `echo $@ | $(SED) s/$(EXEEXT)$$/.log/`"
|
|
@$(SEDENV) ./$@ > `echo $@ | $(SED) s/$(EXEEXT)$$/.log/`
|
|
|
|
tst-pcre$(EXEEXT)::
|
|
$(SEDENV) ./tst-pcre $(srcdir)/PCRE.tests > tst-pcre.log
|
|
|
|
tst-boost$(EXEEXT)::
|
|
$(SEDENV) ./tst-boost $(srcdir)/BOOST.tests > tst-boost.log
|
|
|
|
tst-rxspencer$(EXEEXT)::
|
|
$(SEDENV) ./tst-rxspencer $(srcdir)/SPENCER.tests > tst-spencer.log
|
|
|
|
tst-regex2$(EXEEXT)::
|
|
$(SEDENV) ./tst-regex2 $(srcdir)/tst-regex2.c > tst-regex2.log
|
|
|
|
# The following target is not used in GNU sed builds (only super-sed)
|
|
|
|
pcretest$(EXEEXT)::
|
|
$(SEDENV) ./pcretest $(srcdir)/pcre1.inp pcre1.out
|
|
$(CMP) $(srcdir)/pcre1.good pcre1.out
|
|
#$(SEDENV) ./pcretest -p $(srcdir)/pcre1.inp pcre1p.out
|
|
#$(CMP) $(srcdir)/pcre1p.good pcre1p.out
|
|
$(SEDENV) ./pcretest -P $(srcdir)/pcre2.inp pcre2.out
|
|
$(CMP) $(srcdir)/pcre2.good pcre2.out
|
|
$(SEDENV) ./pcretest -P -p $(srcdir)/pcre2.inp pcre2p.out
|
|
$(CMP) $(srcdir)/pcre2p.good pcre2p.out
|
|
$(SEDENV) ./pcretest $(srcdir)/pcre3.inp pcre3.out
|
|
$(CMP) $(srcdir)/pcre3.good pcre3.out
|
|
$(SEDENV) ./pcretest -p $(srcdir)/pcre3.inp pcre3p.out
|
|
$(CMP) $(srcdir)/pcre3p.good pcre3p.out
|
|
@$(RM) pcre*.out
|
|
|
|
.PHONY: \
|
|
bug-regex7$(EXEEXT) bug-regex8$(EXEEXT) bug-regex9$(EXEEXT) \
|
|
bug-regex10$(EXEEXT) bug-regex11$(EXEEXT) bug-regex12$(EXEEXT) \
|
|
bug-regex13$(EXEEXT) bug-regex14$(EXEEXT) bug-regex15$(EXEEXT) bug-regex16$(EXEEXT) \
|
|
bug-regex21$(EXEEXT) runtests$(EXEEXT) runptests$(EXEEXT) tst-regex2$(EXEEXT) \
|
|
tst-pcre$(EXEEXT) tst-boost$(EXEEXT) tst-rxspencer$(EXEEXT) pcretest$(EXEEXT)
|