Giter Site home page Giter Site logo

go-lib's Introduction

Deepin GoLang Library

Deepin GoLang Library is a library containing many useful go routines for things such as glib, gettext, archive, graphic,etc.

Dependencies

Build dependencies

  • gio-2.0
  • glib-2.0
  • x11
  • gdk-pixbuf-2.0
  • libpulse
  • mobile-broadband-provider-info

Installation

Install prerequisites

$ go get github.com/smartystreets/goconvey
$ go get github.com/howeyc/fsnotify
$ go get gopkg.in/check.v1
$ go get github.com/linuxdeepin/go-x11-client

Install

mkdir -p $GOPATH/src/github.com/linuxdeepin/
cp -r go-lib $GOPATH/src/github.com/linuxdeepin/go-lib

Getting help

Any usage issues can ask for help via

Getting involved

We encourage you to report issues and contribute changes.

License

Deepin GoLang Library is licensed under GPL-3.0-or-later.

go-lib's People

Contributors

black-desk avatar blumia avatar caixr23 avatar chengbo7135 avatar decodetalkers avatar deepin-bot[bot] avatar deepinzhangshuang avatar dengbo11 avatar dependabot[bot] avatar electricface avatar felixonmars avatar ganjing0224 avatar gs342 avatar hubenchang0515 avatar hudeng-go avatar iceyer avatar jouyouyun avatar justforlxz avatar kosl90 avatar leaeasy avatar liaohanqin avatar luokai1993 avatar rocet92 avatar snyh avatar ssk-wh avatar tujingwei72 avatar weizhixiangcoder avatar wubw0508 avatar yixinshark avatar zsien avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go-lib's Issues

Failed to build Golang dde packages with Golang 1.15

Dde-api (and also dde-daemon and startdde) failed to build on Fedora 33 with Golang 1.15.

The main error is the same for all the three packages:

/usr/share/gocode/src/pkg.deepin.io/lib/asound/asound.go:1354:17: cannot use _Ctype_enum_snd_mixer_selem_regopt_abstract(val) (type _Ctype_enum_snd_mixer_selem_regopt_abstract) as type uint32 in assignment

go-lib tested with 5.5.0.0 and 5.0.0.
Golang version 1.15 rc1.

Full build log: https://download.copr.fedorainfracloud.org/results/cheeselee/deepin-f33-fix/fedora-rawhide-x86_64/01593753-deepin-api/build.log.gz

Build failed

dpkg-buildpackage -rfakeroot -us -uc -ui
dpkg-buildpackage: info: source package go-dlib
dpkg-buildpackage: info: source version 5.5.0.0
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by pixel pixel@Note
dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
fakeroot debian/rules clean
dh clean --buildsystem=golang --with=golang
dh_auto_clean -O--buildsystem=golang
dh_clean -O--buildsystem=golang
dpkg-source -b .
dpkg-source: info: using source format '3.0 (native)'
dpkg-source: info: building go-dlib in go-dlib_5.5.0.0.tar.xz
dpkg-source: info: building go-dlib in go-dlib_5.5.0.0.dsc
debian/rules build
dh build --buildsystem=golang --with=golang
dh_update_autotools_config -O--buildsystem=golang
dh_auto_configure -O--buildsystem=golang
dh_auto_build -O--buildsystem=golang
cd obj-x86_64-linux-gnu && go install -trimpath -v -p 1 pkg.deepin.io/lib pkg.deepin.io/lib/app pkg.deepin.io/lib/appinfo pkg.deepin.io/lib/appinfo/desktopappinfo pkg.deepin.io/lib/arch pkg.deepin.io/lib/archive pkg.deepin.io/lib/archive/gzip pkg.deepin.io/lib/archive/utils pkg.deepin.io/lib/asound pkg.deepin.io/lib/backlight/common pkg.deepin.io/lib/backlight/display pkg.deepin.io/lib/backlight/keyboard pkg.deepin.io/lib/calendar pkg.deepin.io/lib/calendar/lunar pkg.deepin.io/lib/calendar/util pkg.deepin.io/lib/cgroup pkg.deepin.io/lib/dbus pkg.deepin.io/lib/dbus/interfaces pkg.deepin.io/lib/dbus/introspect pkg.deepin.io/lib/dbus/property pkg.deepin.io/lib/dbus1 pkg.deepin.io/lib/dbus1/introspect pkg.deepin.io/lib/dbus1/prop pkg.deepin.io/lib/dbusutil pkg.deepin.io/lib/dbusutil/gsprop pkg.deepin.io/lib/dbusutil/proxy pkg.deepin.io/lib/encoding/kv pkg.deepin.io/lib/event pkg.deepin.io/lib/fsnotify pkg.deepin.io/lib/gdkpixbuf pkg.deepin.io/lib/gettext pkg.deepin.io/lib/graphic pkg.deepin.io/lib/gsettings pkg.deepin.io/lib/imgutil pkg.deepin.io/lib/initializer pkg.deepin.io/lib/initializer/v2 pkg.deepin.io/lib/iso pkg.deepin.io/lib/keyfile pkg.deepin.io/lib/libc pkg.deepin.io/lib/locale pkg.deepin.io/lib/log pkg.deepin.io/lib/mime pkg.deepin.io/lib/mobileprovider pkg.deepin.io/lib/multierr pkg.deepin.io/lib/notify pkg.deepin.io/lib/notify/dbusnotify pkg.deepin.io/lib/pam pkg.deepin.io/lib/pinyin pkg.deepin.io/lib/pinyin_search pkg.deepin.io/lib/procfs pkg.deepin.io/lib/profile pkg.deepin.io/lib/proxy pkg.deepin.io/lib/pulse pkg.deepin.io/lib/pulse/simple pkg.deepin.io/lib/shell pkg.deepin.io/lib/sound pkg.deepin.io/lib/sound_effect pkg.deepin.io/lib/sound_effect/theme pkg.deepin.io/lib/stb_vorbis pkg.deepin.io/lib/strv pkg.deepin.io/lib/tasker pkg.deepin.io/lib/timer pkg.deepin.io/lib/users/group pkg.deepin.io/lib/users/passwd pkg.deepin.io/lib/users/shadow pkg.deepin.io/lib/utils pkg.deepin.io/lib/xdg/basedir pkg.deepin.io/lib/xdg/userdir
internal/cpu
internal/bytealg
runtime/internal/atomic
runtime/internal/sys
runtime/internal/math
runtime
internal/reflectlite
errors
internal/race
sync/atomic
sync
io
unicode
unicode/utf8
bytes
bufio
crypto/internal/subtle
crypto/subtle
math/bits
math
strconv
reflect
encoding/binary
crypto/cipher
crypto/aes
internal/oserror
syscall
internal/syscall/unix
sort
internal/fmtsort
time
internal/poll
internal/testlog
os
fmt
math/rand
strings
math/big
crypto/rand
hash
crypto
crypto/sha1
encoding/hex
encoding
encoding/xml
path/filepath
io/ioutil
log
context
vendor/golang.org/x/net/dns/dnsmessage
internal/nettrace
internal/singleflight
runtime/cgo
net
os/exec
os/user
path
pkg.deepin.io/lib/dbus/interfaces
pkg.deepin.io/lib/dbus/introspect
pkg.deepin.io/lib/dbus
pkg.deepin.io/lib
github.com/alecthomas/units
go/token
go/scanner
go/ast
regexp/syntax
regexp
internal/lazyregexp
net/url
text/template/parse
text/template
go/doc
gopkg.in/alecthomas/kingpin.v2
encoding/base64
unicode/utf16
encoding/json
log/syslog
crypto/md5
pkg.deepin.io/gir/glib-2.0
pkg.deepin.io/gir/gobject-2.0

pkg.deepin.io/gir/gobject-2.0

fix_gobject.c: In function ‘_g_type_param_value_array’:
fix_gobject.c:70:13: warning: Deprecated pre-processor symbol
70 | GType _g_type_param_value_array() { return G_TYPE_PARAM_VALUE_ARRAY; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkg.deepin.io/gir/gio-2.0
pkg.deepin.io/lib/fsnotify
pkg.deepin.io/lib/utils
pkg.deepin.io/lib/log
os/signal
pkg.deepin.io/lib/initializer/v2
compress/flate
hash/crc32
compress/gzip
text/tabwriter
runtime/pprof
pkg.deepin.io/lib/profile
pkg.deepin.io/lib/app
container/list
github.com/linuxdeepin/go-x11-client
pkg.deepin.io/lib/appinfo
pkg.deepin.io/lib/locale
pkg.deepin.io/lib/keyfile
pkg.deepin.io/lib/shell
pkg.deepin.io/lib/xdg/basedir
pkg.deepin.io/lib/appinfo/desktopappinfo
pkg.deepin.io/lib/arch
archive/tar
pkg.deepin.io/lib/archive/utils
pkg.deepin.io/lib/archive/gzip
pkg.deepin.io/lib/archive
pkg.deepin.io/lib/asound
pkg.deepin.io/lib/backlight/common
pkg.deepin.io/lib/backlight/display
pkg.deepin.io/lib/backlight/keyboard
pkg.deepin.io/lib/calendar/util
pkg.deepin.io/lib/calendar/lunar
pkg.deepin.io/lib/calendar
pkg.deepin.io/lib/cgroup
pkg.deepin.io/lib/gsettings
pkg.deepin.io/lib/dbus/property
golang.org/x/net/context
pkg.deepin.io/lib/dbus1
pkg.deepin.io/lib/dbus1/introspect
pkg.deepin.io/lib/dbus1/prop
pkg.deepin.io/lib/strv
pkg.deepin.io/lib/dbusutil
pkg.deepin.io/lib/dbusutil/gsprop
pkg.deepin.io/lib/dbusutil/proxy
pkg.deepin.io/lib/encoding/kv
pkg.deepin.io/lib/event
image/color
image
golang.org/x/image/bmp
hash/adler32
compress/zlib
golang.org/x/image/ccitt
golang.org/x/image/tiff/lzw
golang.org/x/image/tiff
image/internal/imageutil
image/draw
image/jpeg
image/png
pkg.deepin.io/lib/graphic
pkg.deepin.io/lib/gdkpixbuf
pkg.deepin.io/lib/gettext
compress/lzw
image/color/palette
image/gif
pkg.deepin.io/lib/imgutil
pkg.deepin.io/lib/initializer
pkg.deepin.io/lib/iso
pkg.deepin.io/lib/libc
pkg.deepin.io/lib/mime
pkg.deepin.io/lib/mobileprovider
pkg.deepin.io/lib/multierr
pkg.deepin.io/lib/notify/dbusnotify
pkg.deepin.io/lib/notify
pkg.deepin.io/lib/pam
pkg.deepin.io/lib/pinyin
github.com/mozillazg/go-pinyin
pkg.deepin.io/lib/pinyin_search
pkg.deepin.io/lib/procfs
pkg.deepin.io/lib/proxy
pkg.deepin.io/lib/pulse
pkg.deepin.io/lib/pulse/simple
pkg.deepin.io/lib/sound
github.com/cryptix/wav
pkg.deepin.io/lib/sound_effect/theme
pkg.deepin.io/lib/stb_vorbis
pkg.deepin.io/lib/sound_effect
pkg.deepin.io/lib/tasker
pkg.deepin.io/lib/timer
pkg.deepin.io/lib/users/group
pkg.deepin.io/lib/users/passwd
pkg.deepin.io/lib/users/shadow
pkg.deepin.io/lib/xdg/userdir
dh_auto_test -O--buildsystem=golang
cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1 pkg.deepin.io/lib pkg.deepin.io/lib/app pkg.deepin.io/lib/appinfo pkg.deepin.io/lib/appinfo/desktopappinfo pkg.deepin.io/lib/arch pkg.deepin.io/lib/archive pkg.deepin.io/lib/archive/gzip pkg.deepin.io/lib/archive/utils pkg.deepin.io/lib/asound pkg.deepin.io/lib/backlight/common pkg.deepin.io/lib/backlight/display pkg.deepin.io/lib/backlight/keyboard pkg.deepin.io/lib/calendar pkg.deepin.io/lib/calendar/lunar pkg.deepin.io/lib/calendar/util pkg.deepin.io/lib/cgroup pkg.deepin.io/lib/dbus pkg.deepin.io/lib/dbus/interfaces pkg.deepin.io/lib/dbus/introspect pkg.deepin.io/lib/dbus/property pkg.deepin.io/lib/dbus1 pkg.deepin.io/lib/dbus1/introspect pkg.deepin.io/lib/dbus1/prop pkg.deepin.io/lib/dbusutil pkg.deepin.io/lib/dbusutil/gsprop pkg.deepin.io/lib/dbusutil/proxy pkg.deepin.io/lib/encoding/kv pkg.deepin.io/lib/event pkg.deepin.io/lib/fsnotify pkg.deepin.io/lib/gdkpixbuf pkg.deepin.io/lib/gettext pkg.deepin.io/lib/graphic pkg.deepin.io/lib/gsettings pkg.deepin.io/lib/imgutil pkg.deepin.io/lib/initializer pkg.deepin.io/lib/initializer/v2 pkg.deepin.io/lib/iso pkg.deepin.io/lib/keyfile pkg.deepin.io/lib/libc pkg.deepin.io/lib/locale pkg.deepin.io/lib/log pkg.deepin.io/lib/mime pkg.deepin.io/lib/mobileprovider pkg.deepin.io/lib/multierr pkg.deepin.io/lib/notify pkg.deepin.io/lib/notify/dbusnotify pkg.deepin.io/lib/pam pkg.deepin.io/lib/pinyin pkg.deepin.io/lib/pinyin_search pkg.deepin.io/lib/procfs pkg.deepin.io/lib/profile pkg.deepin.io/lib/proxy pkg.deepin.io/lib/pulse pkg.deepin.io/lib/pulse/simple pkg.deepin.io/lib/shell pkg.deepin.io/lib/sound pkg.deepin.io/lib/sound_effect pkg.deepin.io/lib/sound_effect/theme pkg.deepin.io/lib/stb_vorbis pkg.deepin.io/lib/strv pkg.deepin.io/lib/tasker pkg.deepin.io/lib/timer pkg.deepin.io/lib/users/group pkg.deepin.io/lib/users/passwd pkg.deepin.io/lib/users/shadow pkg.deepin.io/lib/utils pkg.deepin.io/lib/xdg/basedir pkg.deepin.io/lib/xdg/userdir
? pkg.deepin.io/lib [no test files]

pkg.deepin.io/gir/gobject-2.0

fix_gobject.c: In function ‘_g_type_param_value_array’:
fix_gobject.c:70:13: warning: Deprecated pre-processor symbol
70 | GType _g_type_param_value_array() { return G_TYPE_PARAM_VALUE_ARRAY; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
? pkg.deepin.io/lib/app [no test files]
? pkg.deepin.io/lib/appinfo [no test files]
=== RUN TestNewDesktopAppInfoFromKeyFile

NewDesktopAppInfoFromKeyFile failed, empty keyfile ✔✔✔

3 total assertions

NewDesktopAppInfoFromKeyFile failed, invalid type ✔✔✔

6 total assertions

NewDesktopAppInfoFromKeyFile sucess ✔✔✔✔✔

11 total assertions

--- PASS: TestNewDesktopAppInfoFromKeyFile (0.02s)
desktopappinfo_test.go:38: first section is not Desktop Entry
desktopappinfo_test.go:49: type is not Application
=== RUN TestNewDesktopAppInfo

NewDesktopAppInfo ✔
NewDesktopAppInfoFromFile ✔✔✔✔✔✔
NewDesktopAppInfo By Id ✔✔✔✔

22 total assertions

--- PASS: TestNewDesktopAppInfo (0.02s)
=== RUN TestGetActions

DesktopAppInfo.GetActions ✔✔✔✔

26 total assertions

--- PASS: TestGetActions (0.00s)
desktopappinfo_test.go:106: actions: [{0xc0000a6460 Full_Screenshot Shortcut Group Full Screenshot deepin-screenshot -f} {0xc0000a6460 Delay_Screenshot Shortcut Group Delay Screenshot deepin-screenshot -d 5}]
=== RUN TestGetCurrentDestkops

getCurrentDesktop ✔

27 total assertions

--- PASS: TestGetCurrentDestkops (0.00s)
=== RUN TestGetShowIn

GetShowIn destkop env: Deepin
GetShowIn OnlyShowIn=Deepin ✔✔✔✔
GetShowIn OnlyShowIn=GNOME ✔✔✔✔
GetShowIn OnlyShowIn undefined and NotShowIn undefined ✔✔✔✔
GetShowIn OnlyShowIn=GNOME;Deepin ✔✔✔✔
GetShowIn OnlyShowIn=Xfce;KDE ✔✔✔✔
GetShowIn NotShowIn=Deepin ✔✔✔✔
GetShowIn NotShowIn=KDE;GNOME; ✔✔✔✔

55 total assertions

--- PASS: TestGetShowIn (0.01s)
=== RUN TestGetExecutable

GetExecutable Exec undefined ✔✔✔✔✔

60 total assertions

GetExecutable Exec=sh ✔✔✔✔✔

65 total assertions

GetExecutable Exec=sh $ ✔✔✔✔✔

70 total assertions

GetExecutable Exec=/bin/sh ✔✔✔✔✔

75 total assertions

GetExecutable Exec=/bin/sh/notexist ✔✔✔✔✔

80 total assertions

GetExecutable Exec=notexist ✔✔✔✔✔

85 total assertions

--- PASS: TestGetExecutable (0.00s)
=== RUN Test_splitExec

splitExec ✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔

116 total assertions

--- PASS: Test_splitExec (0.00s)
=== RUN Test_expandFieldCode

expandFieldCode ✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔

138 total assertions

--- PASS: Test_expandFieldCode (0.00s)
PASS
ok pkg.deepin.io/lib/appinfo/desktopappinfo 0.152s
? pkg.deepin.io/lib/arch [no test files]
=== RUN Test
OK: 2 passed
--- PASS: Test (0.01s)
PASS
ok pkg.deepin.io/lib/archive 0.033s
=== RUN Test
OK: 2 passed
--- PASS: Test (0.20s)
PASS
ok pkg.deepin.io/lib/archive/gzip 0.232s
? pkg.deepin.io/lib/archive/utils [no test files]
? pkg.deepin.io/lib/asound [no test files]
? pkg.deepin.io/lib/backlight/common [no test files]
=== RUN Test_list

Test list ✔✔
Test Controller
Test intel_backlight ✔✔✔✔✔✔✔✔✔
Test acpi_video0 ✔✔✔✔✔✔✔✔✔
Test GetByEDID ✔✔✔

23 total assertions

--- PASS: Test_list (0.03s)
display_test.go:52: []byte{0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x30, 0xe4, 0x5e, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x1, 0x4, 0x95, 0x1f, 0x11, 0x78, 0xea, 0xeb, 0xf5, 0x95, 0x59, 0x54, 0x90, 0x27, 0x1e, 0x50, 0x54, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xd0, 0x1d, 0x56, 0xf4, 0x50, 0x0, 0x16, 0x30, 0x30, 0x20, 0x35, 0x0, 0x36, 0xae, 0x10, 0x0, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x4c, 0x47, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0xa, 0x20, 0x20, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x4c, 0x50, 0x31, 0x34, 0x30, 0x57, 0x48, 0x38, 0x2d, 0x54, 0x50, 0x44, 0x31, 0x0, 0x25}
=== RUN TestList
--- PASS: TestList (0.00s)
display_test.go:92:
PASS
ok pkg.deepin.io/lib/backlight/display 0.047s
=== RUN TestList
--- PASS: TestList (0.00s)
keyboard_test.go:29:
keyboard_test.go:31: not found
=== RUN Test_list

Test list ✔✔
Test Controller ✔✔✔✔

6 total assertions

--- PASS: Test_list (0.01s)
PASS
ok pkg.deepin.io/lib/backlight/keyboard 0.014s
=== RUN Test_SolarToLunar

2016-02-19 ✔✔✔✔✔✔✔

7 total assertions

2012-01-23 ✔✔✔✔✔✔✔✔

15 total assertions

2014-06-01 ✔✔✔✔✔✔✔✔✔

24 total assertions

2057-10-27 ✔✔✔✔✔✔✔✔

32 total assertions

--- PASS: Test_SolarToLunar (0.25s)
PASS
ok pkg.deepin.io/lib/calendar 0.258s
=== RUN TestDay

year 2012
01-01 ✔✔✔✔✔✔✔✔
02-04 ✔✔✔✔✔✔✔✔
05-20 ✔✔✔✔✔✔✔✔
06-10 ✔✔✔✔✔✔✔✔

32 total assertions

year 2016
01-01 ✔✔✔✔✔✔✔✔
02-26 ✔✔✔✔✔✔✔✔
03-05 ✔✔✔✔✔✔✔✔
06-09 ✔✔✔✔✔✔✔✔
12-31 ✔✔✔✔✔✔✔✔

72 total assertions

--- PASS: TestDay (0.11s)
=== RUN Test_GetMoonEclipticParameter
--- PASS: Test_GetMoonEclipticParameter (0.00s)
elp82_test.go:28: 5.995449587753299
elp82_test.go:29: 4.539547122305791
elp82_test.go:30: 2.763841606725734
elp82_test.go:31: 4.834199704794017
elp82_test.go:32: 1.5037329269128321
elp82_test.go:33: 0.99688272047215
=== RUN Test_CalcMoonECLongitudePeriodic
--- PASS: Test_CalcMoonECLongitudePeriodic (0.00s)
elp82_test.go:39: 5.995449587753299
elp82_test.go:40: -7.154701742495374e+06
=== RUN Test_GetMoonEclipticLongitudeEC
--- PASS: Test_GetMoonEclipticLongitudeEC (0.00s)
elp82_test.go:45: 2.3242072614697618
elp82_test.go:48: 133.16726679587634
=== RUN Test_CalcEarthLongitudeNutation
--- PASS: Test_CalcEarthLongitudeNutation (0.00s)
iau1980_test.go:28: 8.100124639846415e-05
=== RUN Test_CalcEarthObliquityNutation
--- PASS: Test_CalcEarthObliquityNutation (0.00s)
iau1980_test.go:33: -1.1636193896145415e-05
=== RUN Test_New

New 2012
month Shuo Times ✔
Solar Term Times ✔

74 total assertions

--- PASS: Test_New (0.00s)
=== RUN Test_GetYearZodiac

GetYearZodiac ✔✔✔✔✔

79 total assertions

--- PASS: Test_GetYearZodiac (0.00s)
=== RUN Test_cyclical

cyclical ✔

80 total assertions

--- PASS: Test_cyclical (0.00s)
=== RUN Test_GetYearGanZhi

GetYearGanZhi ✔✔✔

83 total assertions

--- PASS: Test_GetYearGanZhi (0.00s)
=== RUN TestMathUtil

convert
ToRadians ✔
SecondsToRadians ✔
SecondsToDegrees ✔
DmsToDegrees ✔
DmsToSeconds ✔
DmsToRadians ✔

89 total assertions

modpi
Mod2Pi ✔✔
ModPi ✔✔

93 total assertions

NewtonIteration ✔

94 total assertions

--- PASS: TestMathUtil (0.01s)
=== RUN Test_getNewMoonJD
--- PASS: Test_getNewMoonJD (0.00s)
newmoon_test.go:29: jd0: 2455937.000000
newmoon_test.go:32: 2012-01-23 07:39:24 +0000 UTC
=== RUN TestSolarTerms

GetSolarTermName ✔✔

96 total assertions

GetSolarTermJD ✔

97 total assertions

--- PASS: TestSolarTerms (0.00s)
=== RUN Test_GetEarthXX
--- PASS: Test_GetEarthXX (0.00s)
vsop87earthd_test.go:49: 1.7593164002151753
vsop87earthd_test.go:50: 6283.321343746378
vsop87earthd_test.go:51: 0.00048015806671343
vsop87earthd_test.go:52: -2.0348686839208415e-06
vsop87earthd_test.go:53: 1.181788911423344e-06
vsop87earthd_test.go:54: 1.04784502467017e-08
vsop87earthd_test.go:61: 9.195980843516505e-07
vsop87earthd_test.go:62: -8.176280102428935e-08
vsop87earthd_test.go:63: 1.053061904289721e-08
vsop87earthd_test.go:64: -1.896352038642576e-10
vsop87earthd_test.go:65: 5.355146303003018e-11
vsop87earthd_test.go:73: 1.0164590262870763
vsop87earthd_test.go:74: -0.0005618444525180632
vsop87earthd_test.go:75: -3.441189095606426e-05
vsop87earthd_test.go:76: 7.367493304907047e-07
vsop87earthd_test.go:77: 2.7243516292656044e-08
vsop87earthd_test.go:78: R5 = -3.0365498582758015e-10
=== RUN Test_GetSunEclipticLongitudeForEarth
--- PASS: Test_GetSunEclipticLongitudeForEarth (0.00s)
vsop87earthd_test.go:85: 2.5656395950327777
=== RUN Test_GetSunEclipticLatitudeForEarth
--- PASS: Test_GetSunEclipticLatitudeForEarth (0.00s)
vsop87earthd_test.go:91: 4.322042754016038e-06
=== RUN Test_GetSunRadiusForEarth
--- PASS: Test_GetSunRadiusForEarth (0.00s)
vsop87earthd_test.go:97: 0.9878061716605899
PASS
ok pkg.deepin.io/lib/calendar/lunar 0.141s
=== RUN Test_GetDateFromJulianDay
--- PASS: Test_GetDateFromJulianDay (0.00s)
julianday_test.go:28: 2016 2 19
julianday_test.go:30: ok
julianday_test.go:36: 1444 2 19
julianday_test.go:38: ok
=== RUN Test_GetTimeFromJulianDay
--- PASS: Test_GetTimeFromJulianDay (0.00s)
julianday_test.go:46: 14 17 27
julianday_test.go:48: ok
julianday_test.go:54: 14 21 51
julianday_test.go:56: ok
=== RUN Test_GetDateTimeFromJulianDay
--- PASS: Test_GetDateTimeFromJulianDay (0.00s)
julianday_test.go:64: 2016-02-19 14:29:22 +0000 UTC
julianday_test.go:66: ok
=== RUN Test_IsLeapYear
--- PASS: Test_IsLeapYear (0.00s)
util_test.go:29: ok
=== RUN Test_GetSolarMonthDays
--- PASS: Test_GetSolarMonthDays (0.00s)
util_test.go:37: ok
util_test.go:42: ok
util_test.go:47: ok
=== RUN Test_ToJulianDate
--- PASS: Test_ToJulianDate (0.00s)
util_test.go:56: ok
=== RUN Test_ToJulianDateHMS
--- PASS: Test_ToJulianDateHMS (0.00s)
util_test.go:63: 2.4432297542361114e+06
util_test.go:65: ok
=== RUN Test_GetJulianThousandYears
--- PASS: Test_GetJulianThousandYears (0.00s)
util_test.go:72: -0.5997296256369298
util_test.go:74: ok
=== RUN Test_GetJulianCentury
--- PASS: Test_GetJulianCentury (0.00s)
util_test.go:81: -5.997296256369297
util_test.go:83: ok
=== RUN Test_GetWeekday
--- PASS: Test_GetWeekday (0.00s)
util_test.go:91: ok
PASS
ok pkg.deepin.io/lib/calendar/util 0.018s
? pkg.deepin.io/lib/cgroup [no test files]
=== RUN TestSessionBus
--- PASS: TestSessionBus (0.02s)
=== RUN TestSystemBus
--- SKIP: TestSystemBus (0.00s)
conn_test.go:33: ignore test system bus in jenkins
=== RUN TestSend
--- PASS: TestSend (0.00s)
=== RUN TestIsStructreMatched
int32 != uint32
--- PASS: TestIsStructreMatched (0.00s)
=== RUN TestIsExportedStructField
--- PASS: TestIsExportedStructField (0.00s)
=== RUN TestEmbededStrcut
--- PASS: TestEmbededStrcut (0.01s)
=== RUN TestProto
--- PASS: TestProto (0.00s)
=== RUN TestProtoMap
--- PASS: TestProtoMap (0.00s)
=== RUN TestProtoVariantStruct
--- PASS: TestProtoVariantStruct (0.00s)
=== RUN TestProtoStructTag
--- PASS: TestProtoStructTag (0.00s)
=== RUN TestProtoStoreStruct
--- PASS: TestProtoStoreStruct (0.00s)
=== RUN TestProtoStoreNestedStruct
--- PASS: TestProtoStoreNestedStruct (0.00s)
=== RUN TestMessage
--- PASS: TestMessage (0.00s)
=== RUN TestProtoStructInterfaces
--- PASS: TestProtoStructInterfaces (0.00s)
=== RUN TestSig
--- PASS: TestSig (0.00s)
=== RUN TestSignalChannle
--- PASS: TestSignalChannle (1.80s)
=== RUN TestUnixFDs
--- PASS: TestUnixFDs (0.00s)
=== RUN TestSplitObjectPath
--- PASS: TestSplitObjectPath (0.00s)
=== RUN TestFormatVariant
--- PASS: TestFormatVariant (0.00s)
=== RUN TestParseVariant
--- PASS: TestParseVariant (0.00s)
PASS
ok pkg.deepin.io/lib/dbus 1.843s
? pkg.deepin.io/lib/dbus/interfaces [no test files]
=== RUN TestParse

Create a reader ✔
Check interfaces ✔✔✔✔
Check annotations ✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔

22 total assertions

--- PASS: TestParse (0.00s)
PASS
ok pkg.deepin.io/lib/dbus/introspect 0.014s
=== RUN TestGVariant
--- PASS: TestGVariant (0.00s)
PASS
ok pkg.deepin.io/lib/dbus/property 0.027s
=== RUN TestSessionBus
--- PASS: TestSessionBus (0.00s)
=== RUN TestSystemBus
--- SKIP: TestSystemBus (0.00s)
conn_test.go:19: do not call SystemBus
=== RUN TestSend
--- PASS: TestSend (0.00s)
=== RUN TestFlagNoReplyExpectedSend
--- PASS: TestFlagNoReplyExpectedSend (0.00s)
=== RUN TestRemoveSignal
--- PASS: TestRemoveSignal (0.00s)
=== RUN TestCloseBeforeSignal
--- PASS: TestCloseBeforeSignal (0.00s)
=== RUN TestGetKey
--- PASS: TestGetKey (0.00s)
=== RUN TestDecodeArrayEmptyStruct
--- PASS: TestDecodeArrayEmptyStruct (0.00s)
=== RUN TestEncodeArrayOfMaps
--- PASS: TestEncodeArrayOfMaps (0.00s)
=== RUN TestEncodeMapStringInterface
--- PASS: TestEncodeMapStringInterface (0.00s)
=== RUN TestEncodeMapStringNamedInterface
--- PASS: TestEncodeMapStringNamedInterface (0.00s)
=== RUN TestEncodeMapStringNonEmptyInterface
--- PASS: TestEncodeMapStringNonEmptyInterface (0.00s)
=== RUN TestEncodeSliceInterface
--- PASS: TestEncodeSliceInterface (0.00s)
=== RUN TestEncodeSliceNamedInterface
--- PASS: TestEncodeSliceNamedInterface (0.00s)
=== RUN TestEncodeNestedInterface
--- PASS: TestEncodeNestedInterface (0.00s)
=== RUN TestEncodeInt
--- PASS: TestEncodeInt (0.00s)
=== RUN TestEncodeIntToNonCovertible
--- PASS: TestEncodeIntToNonCovertible (0.00s)
=== RUN TestEncodeUint
--- PASS: TestEncodeUint (0.00s)
=== RUN TestEncodeUintToNonCovertible
--- PASS: TestEncodeUintToNonCovertible (0.00s)
=== RUN TestEncodeOfAssignableType
--- PASS: TestEncodeOfAssignableType (0.00s)
=== RUN TestEncodeVariant
--- PASS: TestEncodeVariant (0.00s)
=== RUN TestEncodeVariantToList
--- PASS: TestEncodeVariantToList (0.00s)
=== RUN TestEncodeVariantToUint64
--- PASS: TestEncodeVariantToUint64 (0.00s)
=== RUN TestExport
--- PASS: TestExport (0.01s)
=== RUN TestExport_message
--- PASS: TestExport_message (0.00s)
=== RUN TestExport_invalidPath
--- PASS: TestExport_invalidPath (0.00s)
=== RUN TestExport_unexportedMethod
--- PASS: TestExport_unexportedMethod (0.00s)
=== RUN TestExport_badSignature
--- PASS: TestExport_badSignature (0.00s)
=== RUN TestExportWithMap
--- PASS: TestExportWithMap (0.00s)
=== RUN TestExportWithMap_bypassAlias
--- PASS: TestExportWithMap_bypassAlias (0.00s)
=== RUN TestExportSubtree
--- PASS: TestExportSubtree (0.00s)
=== RUN TestExportSubtree_noMessage
--- PASS: TestExportSubtree_noMessage (0.00s)
=== RUN TestExportSubtree_exportPrecedence
--- PASS: TestExportSubtree_exportPrecedence (0.01s)
=== RUN TestExportSubtreeWithMap
--- PASS: TestExportSubtreeWithMap (0.00s)
=== RUN TestExportSubtreeWithMap_bypassAlias
--- PASS: TestExportSubtreeWithMap_bypassAlias (0.00s)
=== RUN TestExportMethodTable
--- PASS: TestExportMethodTable (0.00s)
=== RUN TestExportSubtreeMethodTable
--- PASS: TestExportSubtreeMethodTable (0.00s)
=== RUN TestExportMethodTable_NotFunc
--- PASS: TestExportMethodTable_NotFunc (0.00s)
=== RUN TestExportMethodTable_ReturnNotError
--- PASS: TestExportMethodTable_ReturnNotError (0.00s)
=== RUN TestExportSubPathIntrospection
--- PASS: TestExportSubPathIntrospection (0.01s)
=== RUN TestObjectGoWithContextTimeout
--- PASS: TestObjectGoWithContextTimeout (1.00s)
object_test.go:16: Got object call and sleeping for 1s
=== RUN TestObjectGoWithContext
--- PASS: TestObjectGoWithContext (0.00s)
object_test.go:16: Got object call and sleeping for 1ms
object_test.go:18: Completed sleeping for 1ms
=== RUN TestObjectSignalHandling
--- PASS: TestObjectSignalHandling (0.20s)
=== RUN TestProto
--- PASS: TestProto (0.00s)
=== RUN TestProtoMap
--- PASS: TestProtoMap (0.00s)
=== RUN TestProtoVariantStruct
--- PASS: TestProtoVariantStruct (0.00s)
=== RUN TestProtoStructTag
--- PASS: TestProtoStructTag (0.00s)
=== RUN TestProtoStoreStruct
--- PASS: TestProtoStoreStruct (0.00s)
=== RUN TestProtoStoreNestedStruct
--- PASS: TestProtoStoreNestedStruct (0.00s)
=== RUN TestMessage
--- PASS: TestMessage (0.00s)
=== RUN TestProtoStructInterfaces
--- PASS: TestProtoStructInterfaces (0.00s)
=== RUN TestHandlerCall
--- PASS: TestHandlerCall (0.00s)
=== RUN TestHandlerCallGenericError
--- PASS: TestHandlerCallGenericError (0.01s)
=== RUN TestHandlerCallNonExistent
--- PASS: TestHandlerCallNonExistent (0.01s)
=== RUN TestHandlerInvalidFunc
--- PASS: TestHandlerInvalidFunc (0.01s)
=== RUN TestHandlerInvalidNumArg
--- PASS: TestHandlerInvalidNumArg (0.02s)
=== RUN TestHandlerInvalidArgType
--- PASS: TestHandlerInvalidArgType (0.01s)
=== RUN TestHandlerIntrospect
--- PASS: TestHandlerIntrospect (0.00s)
=== RUN TestHandlerIntrospectPath
--- PASS: TestHandlerIntrospectPath (0.01s)
=== RUN TestHandlerSignal
--- PASS: TestHandlerSignal (0.01s)
=== RUN TestRaceInExport
--- PASS: TestRaceInExport (0.02s)
=== RUN TestSig
--- PASS: TestSig (0.00s)
=== RUN TestStoreStringToInterface
--- PASS: TestStoreStringToInterface (0.00s)
=== RUN TestStoreVariantToInterface
--- PASS: TestStoreVariantToInterface (0.00s)
=== RUN TestStoreMapStringToMapInterface
--- PASS: TestStoreMapStringToMapInterface (0.00s)
=== RUN TestStoreMapVariantToMapInterface
--- PASS: TestStoreMapVariantToMapInterface (0.00s)
=== RUN TestStoreSliceStringToSliceInterface
--- PASS: TestStoreSliceStringToSliceInterface (0.00s)
=== RUN TestStoreSliceVariantToSliceInterface
--- PASS: TestStoreSliceVariantToSliceInterface (0.00s)
=== RUN TestStoreSliceVariantToSliceInterfaceMulti
--- PASS: TestStoreSliceVariantToSliceInterfaceMulti (0.00s)
=== RUN TestStoreNested
--- PASS: TestStoreNested (0.00s)
=== RUN TestTcpNonceConnection
--- SKIP: TestTcpNonceConnection (0.00s)
transport_nonce_tcp_test.go:12: do not test tcp-nonce
=== RUN TestTcpConnection
--- PASS: TestTcpConnection (0.01s)
=== RUN TestUnixFDs
--- PASS: TestUnixFDs (0.00s)
=== RUN TestFormatVariant
--- PASS: TestFormatVariant (0.00s)
=== RUN TestParseVariant
--- PASS: TestParseVariant (0.00s)
PASS
ok pkg.deepin.io/lib/dbus1 1.414s
? pkg.deepin.io/lib/dbus1/introspect [no test files]
? pkg.deepin.io/lib/dbus1/prop [no test files]
=== RUN TestMakeError
--- PASS: TestMakeError (0.00s)
=== RUN TestMakeErrorf
--- PASS: TestMakeErrorf (0.00s)
=== RUN TestMakeErrorJSON
--- PASS: TestMakeErrorJSON (0.00s)
=== RUN TestToError
--- PASS: TestToError (0.00s)
=== RUN TestMatchRuleBuilder
--- PASS: TestMatchRuleBuilder (0.00s)
=== RUN TestService_GetNameOwner
--- PASS: TestService_GetNameOwner (0.00s)
=== RUN TestService_NameHasOwner
--- PASS: TestService_NameHasOwner (0.00s)
=== RUN TestService_RequestName
--- PASS: TestService_RequestName (0.00s)
=== RUN TestService_Export
--- PASS: TestService_Export (0.01s)
=== RUN TestService_Emit
--- PASS: TestService_Emit (0.01s)
=== RUN TestService_EmitPropertyChanged
--- PASS: TestService_EmitPropertyChanged (0.01s)
=== RUN TestService_EmitPropertiesChanged
--- PASS: TestService_EmitPropertiesChanged (0.01s)
=== RUN TestService_AutoQuit
--- PASS: TestService_AutoQuit (0.21s)
service_test.go:548: call Method1
service_test.go:548: call Method1
service_test.go:548: call Method1
service_test.go:548: call Method1
service_test.go:548: call Method1
=== RUN TestService_GetConnPIDAndUID
--- PASS: TestService_GetConnPIDAndUID (0.00s)
service_test.go:570: :1.107
=== RUN TestService_SetReadCallback
--- PASS: TestService_SetReadCallback (0.00s)
=== RUN TestService_SetWriteCallback
--- PASS: TestService_SetWriteCallback (0.01s)
=== RUN TestService_ConnectChanged
--- PASS: TestService_ConnectChanged (0.01s)
=== RUN TestService_PropTag
--- PASS: TestService_PropTag (1.02s)
=== RUN TestService_StructProp
--- PASS: TestService_StructProp (0.01s)
=== RUN TestService_DumpProperties
--- PASS: TestService_DumpProperties (0.00s)
service_test.go:1293: property name: Prop1
valueMu: 0xc00032aae0
signature: u
access: read
emit: true

    property name: Prop2
    valueMu: 0xc00032aae0
    signature: t
    access: read
    emit: true
    
    property name: Prop3
    valueMu: 0xc00032aae0
    signature: s
    access: read
    emit: true
    
    property name: Prop4
    valueMu: 0xc00032ab20
    signature: a{su}
    access: read
    emit: true
    
    property name: Prop5
    valueMu: 0x0
    signature: i
    access: read
    emit: true
    
    
service_test.go:1294: PropsMu: 0xc00032aae0
service_test.go:1295: Prop4Mu: 0xc00032ab20

=== RUN TestService_IntUintProp
--- PASS: TestService_IntUintProp (0.01s)
PASS
ok pkg.deepin.io/lib/dbusutil 1.322s
=== RUN TestAll
--- SKIP: TestAll (0.17s)
gsprop_test.go:38: failed to exec gsettings list-recursively
PASS
ok pkg.deepin.io/lib/dbusutil/gsprop 0.192s
? pkg.deepin.io/lib/dbusutil/proxy [no test files]
=== RUN TestReader

Test Reader ✔✔
Get Pid ✔✔✔✔
ReadAll ✔✔

8 total assertions

Test ReadAll error ✔✔✔✔

12 total assertions

Test Read shell vars ✔✔✔✔✔✔✔✔

20 total assertions

--- PASS: TestReader (0.02s)
PASS
ok pkg.deepin.io/lib/encoding/kv 0.032s
? pkg.deepin.io/lib/event [no test files]
? pkg.deepin.io/lib/fsnotify [no test files]
=== RUN Test
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
OK: 15 passed, 3 skipped
--- PASS: Test (6.70s)
PASS
ok pkg.deepin.io/lib/gdkpixbuf 6.733s
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
=== RUN Test
OK: 0 passed
--- PASS: Test (0.00s)
PASS
ok pkg.deepin.io/lib/gettext 0.039s
=== RUN Test
OK: 29 passed
--- PASS: Test (13.99s)
PASS
ok pkg.deepin.io/lib/graphic 14.018s
? pkg.deepin.io/lib/gsettings [no test files]
=== RUN TestLoad
--- PASS: TestLoad (0.02s)
=== RUN TestIsSupported
--- PASS: TestIsSupported (0.00s)
=== RUN TestCanDecodeConfig
--- PASS: TestCanDecodeConfig (0.00s)
=== RUN TestSniffFormat
--- PASS: TestSniffFormat (0.00s)
=== RUN TestSavePng
--- PASS: TestSavePng (0.00s)
PASS
ok pkg.deepin.io/lib/imgutil 0.065s
=== RUN TestInitializer

test initializer with success ✔✔

2 total assertions

--- PASS: TestInitializer (0.00s)
=== RUN TestInitializerError

test initializer with error ✔✔✔

5 total assertions

--- PASS: TestInitializerError (0.00s)
PASS
ok pkg.deepin.io/lib/initializer 0.020s
=== RUN TestInitializer

test initializer with success ✔

1 total assertion

--- PASS: TestInitializer (0.00s)
=== RUN TestInitializerError

test initializer with error ✔✔✔

4 total assertions

--- PASS: TestInitializerError (0.00s)
PASS
ok pkg.deepin.io/lib/initializer/v2 0.014s
=== RUN Test
OK: 4 passed
--- PASS: Test (0.06s)
PASS
ok pkg.deepin.io/lib/iso 0.073s
=== RUN TestLoadFromData

Test LoadFromData EntryNotInSectionError ✔✔

2 total assertions

Test LoadFromData ParseError ✔✔

4 total assertions

Test LoadFromData key is empty ✔

5 total assertions

Test LoadFromData InvalidKeyError ✔✔✔

8 total assertions

Test LoadFromData ✔
Test GetSections ✔✔
Get value that does exist ✔✔✔
Get value the does not exist ✔✔
Get value that section not exist ✔✔
Test GetKeys ✔✔
Get section comments ✔✔
Get key comments ✔✔

24 total assertions

--- PASS: TestLoadFromData (0.02s)
keyfile_test.go:73: entry "Encoding=UTF-8" not in any section
keyfile_test.go:81: could not parse line: "Categories: chat;"
keyfile_test.go:88: key is empty
keyfile_test.go:97: invalid key name "abc/def"
=== RUN TestLoadFromFile

LoadFromFile ok ✔✔✔

27 total assertions

Load file in dir ✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔

129 total assertions

--- PASS: TestLoadFromFile (0.37s)
=== RUN TestGetStringList

GetStringList ✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔

146 total assertions

--- PASS: TestGetStringList (0.00s)
keyfile_test.go:209:
keyfile_test.go:214:
keyfile_test.go:223: value of key "strlist7" in section "Test" is not a valid utf8 string
=== RUN TestGetString

GetString ✔✔✔✔✔✔✔✔✔✔✔✔

158 total assertions

--- PASS: TestGetString (0.00s)
=== RUN TestSetString

SetString ✔✔✔✔

162 total assertions

--- PASS: TestSetString (0.00s)
=== RUN TestSetStringList

SetStringList ✔✔✔✔

166 total assertions

--- PASS: TestSetStringList (0.00s)
=== RUN TestSetBoolList

SetBoolList ✔✔✔✔

170 total assertions

--- PASS: TestSetBoolList (0.00s)
=== RUN TestSetIntList

SetIntList ✔✔✔✔

174 total assertions

--- PASS: TestSetIntList (0.00s)
=== RUN TestSaveToWriter

SaveToWriter ✔✔

176 total assertions

--- PASS: TestSaveToWriter (0.00s)
PASS
ok pkg.deepin.io/lib/keyfile 0.402s
? pkg.deepin.io/lib/libc [no test files]
=== RUN TestExplodeLocale

ExplodeLocale ✔✔✔✔✔✔

6 total assertions

--- PASS: TestExplodeLocale (0.00s)
=== RUN TestGetLocaleVariants

GetLocaleVariants ✔✔✔

9 total assertions

--- PASS: TestGetLocaleVariants (0.00s)
=== RUN Test_readAliases

readAliases ✔✔✔

12 total assertions

--- PASS: Test_readAliases (0.00s)
=== RUN Test_unaliasLang

unaliasLang ✔✔✔

15 total assertions

--- PASS: Test_unaliasLang (0.00s)
=== RUN TestGetLanguageNames

GetLanguageNames ✔✔

17 total assertions

--- PASS: TestGetLanguageNames (0.00s)
PASS
ok pkg.deepin.io/lib/locale 0.017s
=== RUN Test
logger_test.go:141: catch error: test panic
OK: 12 passed
--- PASS: Test (0.04s)
PASS
ok pkg.deepin.io/lib/log 0.093s
=== RUN TestQueryURI

Query uri mime ✔✔✔✔

4 total assertions

--- PASS: TestQueryURI (0.01s)
=== RUN TestIsGtkTheme

Deepin is gtk theme ✔✔

6 total assertions

--- PASS: TestIsGtkTheme (0.00s)
=== RUN TestIsIconTheme

Deepin is icon theme ✔✔

8 total assertions

--- PASS: TestIsIconTheme (0.00s)
=== RUN TestIsCursorTheme

Deepin is cursor theme ✔✔

10 total assertions

--- PASS: TestIsCursorTheme (0.00s)
PASS
ok pkg.deepin.io/lib/mime 0.044s
=== RUN Test
OK: 12 passed
--- PASS: Test (0.10s)
PASS
ok pkg.deepin.io/lib/mobileprovider 0.102s
=== RUN TestAppend_Error
--- PASS: TestAppend_Error (0.00s)
=== RUN TestAppend_NilError
--- PASS: TestAppend_NilError (0.00s)
=== RUN TestAppend_NilErrorArg
--- PASS: TestAppend_NilErrorArg (0.00s)
=== RUN TestAppend_NilErrorIfaceArg
--- PASS: TestAppend_NilErrorIfaceArg (0.00s)
=== RUN TestAppend_NonError
--- PASS: TestAppend_NonError (0.00s)
=== RUN TestAppend_NonError_Error
--- PASS: TestAppend_NonError_Error (0.00s)
=== RUN TestListFormatFuncSingle
--- PASS: TestListFormatFuncSingle (0.00s)
=== RUN TestListFormatFuncMultiple
--- PASS: TestListFormatFuncMultiple (0.00s)
=== RUN TestError_Impl
--- PASS: TestError_Impl (0.00s)
=== RUN TestErrorError_custom
--- PASS: TestErrorError_custom (0.00s)
=== RUN TestErrorError_default
--- PASS: TestErrorError_default (0.00s)
=== RUN TestErrorErrorOrNil
--- PASS: TestErrorErrorOrNil (0.00s)
=== RUN TestErrorWrappedErrors
--- PASS: TestErrorWrappedErrors (0.00s)
PASS
ok pkg.deepin.io/lib/multierr 0.007s
? pkg.deepin.io/lib/notify [no test files]
? pkg.deepin.io/lib/notify/dbusnotify [no test files]
? pkg.deepin.io/lib/pam [no test files]
? pkg.deepin.io/lib/pinyin [no test files]
=== RUN TestGeneralize
--- PASS: TestGeneralize (0.00s)
=== RUN Test_strSliceUniq
--- PASS: Test_strSliceUniq (0.00s)
=== RUN Test_getPyList
--- PASS: Test_getPyList (0.00s)
=== RUN Test_matchAux
--- PASS: Test_matchAux (0.00s)
=== RUN TestSplit
--- PASS: TestSplit (0.00s)
=== RUN Test_matchBegin
--- PASS: Test_matchBegin (0.00s)
=== RUN TestMatch
--- PASS: TestMatch (0.00s)
PASS
ok pkg.deepin.io/lib/pinyin_search 0.035s
=== RUN TestGetFile

getFile ✔

1 total assertion

--- PASS: TestGetFile (0.00s)
=== RUN TestExist

Exist ✔

2 total assertions

--- PASS: TestExist (0.00s)
=== RUN TestCmdline

Cmdline ✔✔

4 total assertions

--- PASS: TestCmdline (0.00s)
procfs_test.go:48: cmdline: [/tmp/go-build416397424/b297/procfs.test -test.testlogfile=/tmp/go-build416397424/b297/testlog.txt -test.timeout=10m0s -test.v=true]
=== RUN TestCwd

Cwd ✔✔✔

7 total assertions

--- PASS: TestCwd (0.00s)
procfs_test.go:58: cwd: /home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/procfs
=== RUN TestExe

Exe ✔✔

9 total assertions

--- PASS: TestExe (0.00s)
procfs_test.go:71: exe: /tmp/go-build416397424/b297/procfs.test
=== RUN TestEnvVars

EnvVars.Lookup ✔✔✔✔

13 total assertions

EnvVars.Get ✔✔

15 total assertions

--- PASS: TestEnvVars (0.00s)
=== RUN TestEnvion

Envion ✔✔✔✔✔✔✔✔

23 total assertions

--- PASS: TestEnvion (0.00s)
procfs_test.go:106: DEB_BUILD_ARCH_OS=linux
procfs_test.go:106: DEB_TARGET_ARCH_CPU=amd64
procfs_test.go:106: DEB_TARGET_ARCH_ENDIAN=little
procfs_test.go:106: DEB_TARGET_GNU_SYSTEM=linux-gnu
procfs_test.go:106: DEB_HOST_ARCH_BITS=64
procfs_test.go:106: DEB_TARGET_ARCH_ABI=base
procfs_test.go:106: DEB_BUILD_ARCH_LIBC=gnu
procfs_test.go:106: DEB_BUILD_GNU_CPU=x86_64
procfs_test.go:106: PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
procfs_test.go:106: SOURCE_DATE_EPOCH=1593045324
procfs_test.go:106: GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
procfs_test.go:106: DEB_HOST_ARCH_CPU=amd64
procfs_test.go:106: DEB_TARGET_MULTIARCH=x86_64-linux-gnu
procfs_test.go:106: DEB_HOST_GNU_SYSTEM=linux-gnu
procfs_test.go:106: HOME=/home/pixel
procfs_test.go:106: DEB_TARGET_ARCH_OS=linux
procfs_test.go:106: DH_GOPKG=pkg.deepin.io/lib
procfs_test.go:106: DEB_HOST_ARCH_ABI=base
procfs_test.go:106: DEB_BUILD_ARCH=amd64
procfs_test.go:106: DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
procfs_test.go:106: LOGNAME=pixel
procfs_test.go:106: DEB_HOST_ARCH_ENDIAN=little
procfs_test.go:106: DEB_HOST_GNU_TYPE=x86_64-linux-gnu
procfs_test.go:106: DEB_BUILD_OPTIONS=parallel=2
procfs_test.go:106: DEB_TARGET_ARCH_LIBC=gnu
procfs_test.go:106: DEB_TARGET_GNU_CPU=x86_64
procfs_test.go:106: DEB_TARGET_GNU_TYPE=x86_64-linux-gnu
procfs_test.go:106: DEB_HOST_ARCH_OS=linux
procfs_test.go:106: DEB_BUILD_ARCH_BITS=64
procfs_test.go:106: DH_GOLANG_INSTALL_ALL=1
procfs_test.go:106: MAKEFLAGS=
procfs_test.go:106: DEB_BUILD_GNU_TYPE=x86_64-linux-gnu
procfs_test.go:106: MFLAGS=
procfs_test.go:106: DEB_BUILD_ARCH_CPU=amd64
procfs_test.go:106: DEB_TARGET_ARCH=amd64
procfs_test.go:106: DEB_BUILD_ARCH_ENDIAN=little
procfs_test.go:106: DEB_HOST_ARCH_LIBC=gnu
procfs_test.go:106: DEB_HOST_GNU_CPU=x86_64
procfs_test.go:106: DEB_BUILD_GNU_SYSTEM=linux-gnu
procfs_test.go:106: DEB_BUILD_ARCH_ABI=base
procfs_test.go:106: DEB_HOST_MULTIARCH=x86_64-linux-gnu
procfs_test.go:106: DEB_TARGET_ARCH_BITS=64
procfs_test.go:106: DEB_RULES_REQUIRES_ROOT=binary-targets
procfs_test.go:106: DEB_HOST_ARCH=amd64
procfs_test.go:106: DEB_BUILD_MULTIARCH=x86_64-linux-gnu
procfs_test.go:106: LANG=en_IN
procfs_test.go:106: TERM=xterm-256color
procfs_test.go:106: MAKELEVEL=1
procfs_test.go:106: DH_INTERNAL_BUILDFLAGS=1
procfs_test.go:106: PERL_USE_UNSAFE_INC=1
procfs_test.go:106: CFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong -Wformat -Werror=format-security
procfs_test.go:106: CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
procfs_test.go:106: CXXFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong -Wformat -Werror=format-security
procfs_test.go:106: FCFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong
procfs_test.go:106: FFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong
procfs_test.go:106: GCJFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong
procfs_test.go:106: LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro
procfs_test.go:106: OBJCFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong -Wformat -Werror=format-security
procfs_test.go:106: OBJCXXFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong -Wformat -Werror=format-security
procfs_test.go:106: GOPATH=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu
procfs_test.go:106: GOCACHE=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/go-build
procfs_test.go:106: GO111MODULE=off
procfs_test.go:106: GOPROXY=off
procfs_test.go:106: CGO_CFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong -Wformat -Werror=format-security
procfs_test.go:106: CGO_CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
procfs_test.go:106: CGO_CXXFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong -Wformat -Werror=format-security
procfs_test.go:106: CGO_FFLAGS=-g -O2 -fdebug-prefix-map=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0=. -fstack-protector-strong
procfs_test.go:106: CGO_LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro
procfs_test.go:106: PWD=/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/procfs
procfs_test.go:106:
=== RUN TestStatus

Status ✔✔✔✔✔✔✔✔✔✔

33 total assertions

--- PASS: TestStatus (0.00s)
procfs_test.go:139: uids: [1000 1000 1000 1000]
procfs_test.go:146: ppid: 38926
PASS
ok pkg.deepin.io/lib/procfs 0.034s
testing: warning: no tests to run
PASS
ok pkg.deepin.io/lib/profile 0.010s [no tests to run]
? pkg.deepin.io/lib/proxy [no test files]
=== RUN TestQueryInfo
panic: test timed out after 10m0s

goroutine 18 [running]:
testing.(*M).startAlarm.func1()
/usr/lib/go-1.13/src/testing/testing.go:1377 +0xdf
created by time.goFunc
/usr/lib/go-1.13/src/time/sleep.go:168 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc0000a4100, 0x562281, 0xd, 0x56a160, 0x476746)
/usr/lib/go-1.13/src/testing/testing.go:961 +0x377
testing.runTests.func1(0xc0000a4000)
/usr/lib/go-1.13/src/testing/testing.go:1202 +0x78
testing.tRunner(0xc0000a4000, 0xc00004ddc0)
/usr/lib/go-1.13/src/testing/testing.go:909 +0xc9
testing.runTests(0xc00000e0e0, 0x649ea0, 0x1, 0x1, 0x0)
/usr/lib/go-1.13/src/testing/testing.go:1200 +0x2a7
testing.(*M).Run(0xc00009e000, 0x0)
/usr/lib/go-1.13/src/testing/testing.go:1117 +0x176
main.main()
_testmain.go:46 +0x135

goroutine 6 [chan receive]:
pkg.deepin.io/lib/pulse.startHandleSafeDo()
/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/pulse/mainloop_callbacks.go:24 +0x4f
created by pkg.deepin.io/lib/pulse.init.0
/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/pulse/mainloop_callbacks.go:37 +0x35

goroutine 8 [syscall]:
pkg.deepin.io/lib/pulse._Cfunc_new_pa_context(0x2010a70, 0x14, 0x0)
_cgo_gotypes.go:633 +0x4e
pkg.deepin.io/lib/pulse.GetContext.func1(0x2010a70, 0xc00007f450)
/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/pulse/pulse.go:380 +0x6b
pkg.deepin.io/lib/pulse.GetContext(0x0)
/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/pulse/pulse.go:380 +0xd0
pkg.deepin.io/lib/pulse.TestQueryInfo(0xc0000a4100)
/home/pixel/Downloads/Build/Test/Temp/tmp-golang-deepin-lib/go-lib-5.5.0.0/obj-x86_64-linux-gnu/src/pkg.deepin.io/lib/pulse/info_test.go:19 +0x6b
testing.tRunner(0xc0000a4100, 0x56a160)
/usr/lib/go-1.13/src/testing/testing.go:909 +0xc9
created by testing.(*T).Run
/usr/lib/go-1.13/src/testing/testing.go:960 +0x350
FAIL pkg.deepin.io/lib/pulse 600.060s
? pkg.deepin.io/lib/pulse/simple [no test files]
=== RUN TestEncode
--- PASS: TestEncode (0.02s)
shell_test.go:22: hello\ world
shell_test.go:22: hello$world
shell_test.go:22: hello'\t''\r''\n'world
shell_test.go:22: 中文\ english
shell_test.go:22: `~!#$&*()|\;'"<>?\
PASS
ok pkg.deepin.io/lib/shell 0.035s
? pkg.deepin.io/lib/sound [no test files]
? pkg.deepin.io/lib/sound_effect [no test files]
? pkg.deepin.io/lib/sound_effect/theme [no test files]
? pkg.deepin.io/lib/stb_vorbis [no test files]
=== RUN TestContains

Contains ✔✔

2 total assertions

--- PASS: TestContains (0.00s)
=== RUN TestEqual

Equal ✔✔

4 total assertions

--- PASS: TestEqual (0.00s)
=== RUN TestUniq

Uniq ✔

5 total assertions

--- PASS: TestUniq (0.00s)
=== RUN TestFilterFunc

FilterFunc ✔

6 total assertions

--- PASS: TestFilterFunc (0.00s)
=== RUN TestFilterEmpty

FilterEmpty ✔

7 total assertions

--- PASS: TestFilterEmpty (0.00s)
=== RUN TestAdd

Add ✔✔✔✔✔✔

13 total assertions

--- PASS: TestAdd (0.00s)
=== RUN TestDelete

Delete ✔✔✔✔✔✔

19 total assertions

--- PASS: TestDelete (0.00s)
PASS
ok pkg.deepin.io/lib/strv 0.010s
=== RUN TestDelayTask
1: First
3: Third
--- PASS: TestDelayTask (3.80s)
PASS
ok pkg.deepin.io/lib/tasker 3.807s
=== RUN TestTimer

just stop ✔

1 total assertion

get elapse without stop ✔✔

3 total assertions

stop and elapse ✔✔

5 total assertions

stop and continue ✔✔✔✔

9 total assertions

reset ✔✔

11 total assertions

--- PASS: TestTimer (9.02s)
PASS
ok pkg.deepin.io/lib/timer 9.030s
=== RUN Test
OK: 3 passed
--- PASS: Test (0.01s)
PASS
ok pkg.deepin.io/lib/users/group 0.023s
=== RUN Test
OK: 3 passed
--- PASS: Test (0.00s)
PASS
ok pkg.deepin.io/lib/users/passwd 0.011s
=== RUN Test
OK: 2 passed
--- PASS: Test (0.00s)
PASS
ok pkg.deepin.io/lib/users/shadow 0.017s
=== RUN Test
OK: 23 passed
--- PASS: Test (0.07s)
PASS
ok pkg.deepin.io/lib/utils 0.111s
=== RUN TestGetUserHomeDir

GetUserHomeDir ✔

1 total assertion

--- PASS: TestGetUserHomeDir (0.00s)
=== RUN TestGetUserDataDir

GetUserDataDir ✔✔✔

4 total assertions

--- PASS: TestGetUserDataDir (0.00s)
=== RUN TestFilterNotAbs

filterNotAbs ✔

5 total assertions

--- PASS: TestFilterNotAbs (0.00s)
=== RUN TestGetSystemDataDirs

GetSystemDataDirs ✔✔✔✔✔

10 total assertions

--- PASS: TestGetSystemDataDirs (0.00s)
=== RUN TestGetUserConfigDir

GetUserConfigDir ✔✔

12 total assertions

--- PASS: TestGetUserConfigDir (0.00s)
=== RUN TestGetSystemConfigDirs

GetSystemDirs ✔✔

14 total assertions

--- PASS: TestGetSystemConfigDirs (0.00s)
=== RUN TestGetUserCacheDir

GetUserCacheDir ✔✔

16 total assertions

--- PASS: TestGetUserCacheDir (0.00s)
=== RUN TestGetUserRuntimeDir

GetUserRuntimeDir ✔✔✔✔✔✔✔✔

24 total assertions

--- PASS: TestGetUserRuntimeDir (0.00s)
PASS
ok pkg.deepin.io/lib/xdg/basedir 0.018s
=== RUN TestParseValue

parseValue ✔✔✔✔✔✔✔✔✔✔✔✔✔✔

14 total assertions

--- PASS: TestParseValue (0.00s)
=== RUN TestParseUserDirsConfig

parseUserDirsConfig ✔✔

16 total assertions

--- PASS: TestParseUserDirsConfig (0.02s)
=== RUN TestGet

Get ✔✔✔✔✔✔✔✔✔✔

26 total assertions

--- PASS: TestGet (0.00s)
=== RUN TestReloadCache

ReloadCache ✔✔✔✔✔

31 total assertions

--- PASS: TestReloadCache (0.00s)
PASS
ok pkg.deepin.io/lib/xdg/userdir 0.030s
FAIL
dh_auto_test: error: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1 pkg.deepin.io/lib pkg.deepin.io/lib/app pkg.deepin.io/lib/appinfo pkg.deepin.io/lib/appinfo/desktopappinfo pkg.deepin.io/lib/arch pkg.deepin.io/lib/archive pkg.deepin.io/lib/archive/gzip pkg.deepin.io/lib/archive/utils pkg.deepin.io/lib/asound pkg.deepin.io/lib/backlight/common pkg.deepin.io/lib/backlight/display pkg.deepin.io/lib/backlight/keyboard pkg.deepin.io/lib/calendar pkg.deepin.io/lib/calendar/lunar pkg.deepin.io/lib/calendar/util pkg.deepin.io/lib/cgroup pkg.deepin.io/lib/dbus pkg.deepin.io/lib/dbus/interfaces pkg.deepin.io/lib/dbus/introspect pkg.deepin.io/lib/dbus/property pkg.deepin.io/lib/dbus1 pkg.deepin.io/lib/dbus1/introspect pkg.deepin.io/lib/dbus1/prop pkg.deepin.io/lib/dbusutil pkg.deepin.io/lib/dbusutil/gsprop pkg.deepin.io/lib/dbusutil/proxy pkg.deepin.io/lib/encoding/kv pkg.deepin.io/lib/event pkg.deepin.io/lib/fsnotify pkg.deepin.io/lib/gdkpixbuf pkg.deepin.io/lib/gettext pkg.deepin.io/lib/graphic pkg.deepin.io/lib/gsettings pkg.deepin.io/lib/imgutil pkg.deepin.io/lib/initializer pkg.deepin.io/lib/initializer/v2 pkg.deepin.io/lib/iso pkg.deepin.io/lib/keyfile pkg.deepin.io/lib/libc pkg.deepin.io/lib/locale pkg.deepin.io/lib/log pkg.deepin.io/lib/mime pkg.deepin.io/lib/mobileprovider pkg.deepin.io/lib/multierr pkg.deepin.io/lib/notify pkg.deepin.io/lib/notify/dbusnotify pkg.deepin.io/lib/pam pkg.deepin.io/lib/pinyin pkg.deepin.io/lib/pinyin_search pkg.deepin.io/lib/procfs pkg.deepin.io/lib/profile pkg.deepin.io/lib/proxy pkg.deepin.io/lib/pulse pkg.deepin.io/lib/pulse/simple pkg.deepin.io/lib/shell pkg.deepin.io/lib/sound pkg.deepin.io/lib/sound_effect pkg.deepin.io/lib/sound_effect/theme pkg.deepin.io/lib/stb_vorbis pkg.deepin.io/lib/strv pkg.deepin.io/lib/tasker pkg.deepin.io/lib/timer pkg.deepin.io/lib/users/group pkg.deepin.io/lib/users/passwd pkg.deepin.io/lib/users/shadow pkg.deepin.io/lib/utils pkg.deepin.io/lib/xdg/basedir pkg.deepin.io/lib/xdg/userdir returned exit code 1
make: *** [debian/rules:6: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -rfakeroot -us -uc -ui failed

toxic dde proxy environmental variable sync

🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️

intro

before stating what the hug was going on, i want to ask everyone an interesting question:

first of all, i have an HTTP proxy on 127.0.0.1:8888, and an HTTPS proxy on example.com:443.
are the following configuration cases correct or not, why and why not?

  1. export ftp_proxy=http://127.0.0.1:8888
  2. export https_proxy=http://127.0.0.1:8888
  3. export http_proxy=https://example.com:443

i want to say that, those are all correct configurations.

🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️

problem

let's look at the problem itself:
file /proxy/proxy.go is used for deepin desktop environment to sync gsettings proxy entries into environmental variables, which looks pretty good. but if you look deeper, you will get something unusual:

go-lib/proxy/proxy.go

Lines 145 to 159 in 5406dea

case proxyModeManual:
doSetEnv(envHttpProxy, getProxyValue(proxyTypeHttp))
doSetEnv(envHttpsProxy, getProxyValue(proxyTypeHttps))
doSetEnv(envFtpProxy, getProxyValue(proxyTypeFtp))
doSetEnv(envSocksProxy, getProxyValue(proxyTypeSocks))
arrayIgnoreHosts := proxySettings.GetStrv(gkeyProxyIgnoreHosts)
ignoreHosts := strings.Join(arrayIgnoreHosts, ",")
doSetEnv(envNoProxy, ignoreHosts)
// fallback socks proxy value to http to be compatible with Qt>=4.6
if utils.IsEnvExists(envSocksProxy) && !utils.IsEnvExists(envHttpProxy) {
doSetEnv(envHttpProxy, os.Getenv(envSocksProxy))
}
}

if you look into getProxyValue, you will see that, the program here assumes http_proxy can only use http schemas, and the same for https and ftp.

proxyValue = fmt.Sprintf("%s://%s:%s", proxyType, host, port)

if we admit this, we are to say, none of the configuration cases in our intro section is correct, since ftp_proxy used http, https_proxy used http and http_proxy used https.

🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️

discovery

i encountered this problem when a random deepin user reported to Qv2ray, saying that the system proxy isn't working at all. astonished, we have checked in detail, but to find that the $https_proxy environmental variable was incorrectly set.

in his case, Qv2ray have a HTTP proxy at 127.0.0.1:8888. Qv2ray configures system proxy through gsettings, and thus triggered that proxy.go, which is used to sync gsettings into environmental variables. $http_proxy variable was correctly set to http://127.0.0.1:8888, but $https_proxy variable was incorrectly set to https://127.0.0.1:8888. since HTTP proxy can't accept HTTPS requests at all, the victim's browser refused to work whenever he wanted to open a HTTPS site, and that's how the problem was discovered.

🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️

joke

Qv2ray/Qv2ray#589

calendar
SUN MON TUE WED THU FRI SAT
🐛 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️
🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️
🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️ 🕊️

DOVE OVERFLOW

5.5.0.1 is broken due to multiple definition of 'connect_timeout'

The offending commit is 0c8bc92

# pkg.deepin.io/lib/pulse
/usr/bin/ld: $WORK/b163/_x002.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x003.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x004.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x005.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x006.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x007.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x008.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x009.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x010.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x011.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x012.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x013.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x014.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x015.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here
/usr/bin/ld: $WORK/b163/_x016.o:(.bss+0x0): multiple definition of `connect_timeout'; $WORK/b163/_x001.o:(.bss+0x0): first defined here

Build Constraints Error?

https://github.com/linuxdeepin/go-lib/blob/master/dbus/conn_other.go#L10
https://github.com/linuxdeepin/go-lib/blob/master/dbus/transport_unixcred.go#L10

// +build !darwin

/**
 * Copyright (C) 2014 Deepin Technology Co., Ltd.
 *
 * 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 3 of the License, or
 * (at your option) any later version.
 **/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.