Giter Club home page Giter Club logo

Comments (10)

axw avatar axw commented on July 19, 2024

It is intentional for gocov to report on all code in all packages used (with the exception of GOROOT by default). I'm not sure what the legitimate uses would be to be honest.

from gocov.

davecheney avatar davecheney commented on July 19, 2024

So if pkg b depends on pkg a, the test coverage reported for package a
would be lower because pkg b is testing itself, not a. Is it possible to
suggest that this be changed to only report coverage on the package that
was requested ?

On Tue, Jan 15, 2013 at 11:39 AM, Andrew Wilkins
[email protected]:

It is intentional for gocov to report on all code in all packages used
(with the exception of GOROOT by default). I'm not sure what the legitimate
uses would be to be honest.


Reply to this email directly or view it on GitHubhttps://github.com//issues/26#issuecomment-12248003.

from gocov.

axw avatar axw commented on July 19, 2024

Yes, I suppose that could be confusing if you didn't know all the inner workings.
As long as there's an option to enable/disable ("-deps" or "-nodeps"), I'm okay with that.

from gocov.

davecheney avatar davecheney commented on July 19, 2024

Here is a more extreme example of the confusion of the current behaviour.
The package being covered is at the bottom, but it could be in the middle
if that is the way the sorting works out.

lucky(~) % gocov test launchpad.net/juju-core/version | gocov report
warning: building out-of-date packages:
time
os
fmt
github.com/axw/gocov
path/filepath
io/ioutil
math/big
crypto/rand
encoding/hex
labix.org/v2/mgo/bson
flag
go/token
go/scanner
go/ast
go/parser
go/printer
runtime/pprof
testing
launchpad.net/gocheck
os/exec
installing these packages with 'go test -i launchpad.net/juju-core/version'
will speed future tests.

ok launchpad.net/juju-core/version 0.070s

labix.org/v2/mgo/bson/decode.go settableValueOf 100.00% (4/4)
labix.org/v2/mgo/bson/bson.go Marshal 100.00% (4/4)
labix.org/v2/mgo/bson/encode.go encoder.setInt32 100.00% (4/4)
labix.org/v2/mgo/bson/encode.go init 100.00% (3/3)
labix.org/v2/mgo/bson/encode.go encoder.addElemName 100.00% (3/3)
labix.org/v2/mgo/bson/encode.go encoder.reserveInt32 100.00% (3/3)
labix.org/v2/mgo/bson/decode.go init 100.00% (3/3)
labix.org/v2/mgo/bson/decode.go decoder.readInt32 100.00% (2/2)
labix.org/v2/mgo/bson/encode.go encoder.addCStr 100.00% (2/2)
labix.org/v2/mgo/bson/encode.go encoder.addStr 100.00% (2/2)
labix.org/v2/mgo/bson/encode.go encoder.addInt32 100.00% (2/2)
labix.org/v2/mgo/bson/encode.go encoder.addBytes 100.00% (1/1)
labix.org/v2/mgo/bson/decode.go newDecoder 100.00% (1/1)
labix.org/v2/mgo/bson/decode.go decoder.readCStr 90.00% (9/10)
labix.org/v2/mgo/bson/decode.go getSetter 85.00% (17/20)
labix.org/v2/mgo/bson/decode.go decoder.readStr 80.00% (4/5)
labix.org/v2/mgo/bson/decode.go decoder.readBytes 80.00% (4/5)
labix.org/v2/mgo/bson/decode.go decoder.readByte 80.00% (4/5)
labix.org/v2/mgo/bson/bson.go Raw.Unmarshal 75.00% (9/12)
labix.org/v2/mgo/bson/bson.go Unmarshal 75.00% (6/8)
labix.org/v2/mgo/bson/encode.go encoder.addStruct 72.73% (8/11)
labix.org/v2/mgo/bson/encode.go encoder.addDoc 48.00% (12/25)
labix.org/v2/mgo/bson/decode.go decoder.readDocTo 47.56% (39/82)
labix.org/v2/mgo/bson/bson.go getStructInfo 45.59% (31/68)
labix.org/v2/mgo/bson/bson.go handleErr 14.29% (1/7)
labix.org/v2/mgo/bson/decode.go decoder.readElemTo 13.89% (20/144)
labix.org/v2/mgo/bson/encode.go encoder.addElem 11.70% (11/94)
labix.org/v2/mgo/bson/decode.go decoder.readSliceDoc 0.00% (0/25)
labix.org/v2/mgo/bson/decode.go decoder.readArrayDocTo 0.00% (0/23)
labix.org/v2/mgo/bson/bson.go NewObjectId 0.00% (0/15)
labix.org/v2/mgo/bson/decode.go decoder.readDocWith 0.00% (0/14)
labix.org/v2/mgo/bson/encode.go isZero 0.00% (0/11)
labix.org/v2/mgo/bson/bson.go initMachineId 0.00% (0/11)
labix.org/v2/mgo/bson/encode.go encoder.addSlice 0.00% (0/10)
labix.org/v2/mgo/bson/decode.go decoder.readDocElems 0.00% (0/8)
labix.org/v2/mgo/bson/bson.go ObjectId.UnmarshalJSON 0.00% (0/8)
labix.org/v2/mgo/bson/decode.go decoder.readBinary 0.00% (0/7)
labix.org/v2/mgo/bson/encode.go encoder.addBinary 0.00% (0/7)
labix.org/v2/mgo/bson/bson.go ObjectIdHex 0.00% (0/4)
labix.org/v2/mgo/bson/bson.go D.Map 0.00% (0/4)
labix.org/v2/mgo/bson/decode.go decoder.readRegEx 0.00% (0/4)
labix.org/v2/mgo/bson/decode.go decoder.readBool 0.00% (0/3)
labix.org/v2/mgo/bson/bson.go NewObjectIdWithTime 0.00% (0/3)
labix.org/v2/mgo/bson/bson.go ObjectId.byteSlice 0.00% (0/3)
labix.org/v2/mgo/bson/encode.go itoa 0.00% (0/3)
labix.org/v2/mgo/bson/bson.go ObjectId.Counter 0.00% (0/2)
labix.org/v2/mgo/bson/decode.go decoder.readInt64 0.00% (0/2)
labix.org/v2/mgo/bson/encode.go encoder.addMap 0.00% (0/2)
labix.org/v2/mgo/bson/bson.go ObjectId.Time 0.00% (0/2)
labix.org/v2/mgo/bson/encode.go encoder.addInt64 0.00% (0/2)
labix.org/v2/mgo/bson/bson.go ObjectId.Pid 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go ObjectId.Machine 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go ObjectId.MarshalJSON 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go externalPanic.String 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go ObjectId.Valid 0.00% (0/1)
labix.org/v2/mgo/bson/decode.go decoder.dropElem 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go ObjectId.Hex 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go ObjectId.String 0.00% (0/1)
labix.org/v2/mgo/bson/decode.go decoder.readFloat64 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go Now 0.00% (0/1)
labix.org/v2/mgo/bson/decode.go corrupted 0.00% (0/1)
labix.org/v2/mgo/bson/bson.go TypeError.Error 0.00% (0/1)
labix.org/v2/mgo/bson ---------------------- 29.23% (209/715)

launchpad.net/gocheck/run.go Result.Add 100.00% (7/7)
launchpad.net/gocheck/run.go RunAll 100.00% (4/4)
launchpad.net/gocheck/benchmark.go C.StopTimer 100.00% (3/3)
launchpad.net/gocheck/benchmark.go C.StartTimer 100.00% (3/3)
launchpad.net/gocheck/gocheck.go logger.Write 100.00% (3/3)
launchpad.net/gocheck/gocheck.go suiteRunner.runTest 100.00% (3/3)
launchpad.net/gocheck/run.go Run 100.00% (2/2)
launchpad.net/gocheck/run.go Suite 100.00% (2/2)
launchpad.net/gocheck/checkers.go equalsChecker.Check 100.00% (2/2)
launchpad.net/gocheck/gocheck.go newOutputWriter 100.00% (1/1)
launchpad.net/gocheck/gocheck.go C.logf 100.00% (1/1)
launchpad.net/gocheck/checkers.go isNilChecker.Check 100.00% (1/1)
launchpad.net/gocheck/run.go Result.Passed 100.00% (1/1)
launchpad.net/gocheck/gocheck.go resultTracker.callDone 100.00% (1/1)
launchpad.net/gocheck/gocheck.go resultTracker.expectCall 100.00% (1/1)
launchpad.net/gocheck/gocheck.go resultTracker.waitAndStop 100.00% (1/1)
launchpad.net/gocheck/gocheck.go resultTracker.start 100.00% (1/1)
launchpad.net/gocheck/gocheck.go newResultTracker 100.00% (1/1)
launchpad.net/gocheck/gocheck.go suiteRunner.forkTest 100.00% (1/1)
launchpad.net/gocheck/gocheck.go suiteRunner.reportCallStarted 100.00% (1/1)
launchpad.net/gocheck/checkers.go CheckerInfo.Info 100.00% (1/1)
launchpad.net/gocheck/helpers.go C.Logf 100.00% (1/1)
launchpad.net/gocheck/helpers.go C.Check 100.00% (1/1)
launchpad.net/gocheck/gocheck.go methodType.PC 100.00% (1/1)
launchpad.net/gocheck/gocheck.go newMethod 100.00% (1/1)
launchpad.net/gocheck/gocheck.go tempDir.newPath 92.86% (13/14)
launchpad.net/gocheck/gocheck.go suiteRunner.forkCall 88.89% (8/9)
launchpad.net/gocheck/gocheck.go tempDir.removeAll 83.33% (5/6)
launchpad.net/gocheck/run.go TestingT 80.00% (4/5)
launchpad.net/gocheck/checkers.go errorMatchesChecker.Check 75.00% (6/8)
launchpad.net/gocheck/gocheck.go C.MkDir 75.00% (3/4)
launchpad.net/gocheck/gocheck.go suiteRunner.run 70.59% (12/17)
launchpad.net/gocheck/gocheck.go newSuiteRunner 70.00% (28/40)
launchpad.net/gocheck/gocheck.go C.writeLog 66.67% (2/3)
launchpad.net/gocheck/benchmark.go C.ResetTimer 66.67% (2/3)
launchpad.net/gocheck/gocheck.go isWanted 62.50% (5/8)
launchpad.net/gocheck/checkers.go matches 61.54% (8/13)
launchpad.net/gocheck/run.go Result.String 60.00% (12/20)
launchpad.net/gocheck/checkers.go isNil 60.00% (3/5)
launchpad.net/gocheck/gocheck.go suiteRunner.runFixtureWithPanic 57.14%
(4/7)
launchpad.net/gocheck/gocheck.go suiteRunner.checkFixtureArgs 55.56% (5/9)
launchpad.net/gocheck/gocheck.go resultTracker._loopRoutine 52.17% (12/23)
launchpad.net/gocheck/gocheck.go suiteRunner.runFixture 50.00% (2/4)
launchpad.net/gocheck/helpers.go C.Assert 50.00% (1/2)
launchpad.net/gocheck/gocheck.go suiteRunner.reportCallDone 40.00% (4/10)
launchpad.net/gocheck/helpers.go C.internalCheck 30.56% (11/36)
launchpad.net/gocheck/gocheck.go suiteRunner.callDone 29.41% (5/17)
launchpad.net/gocheck/gocheck.go outputWriter.WriteCallStarted 20.00% (1/5)
launchpad.net/gocheck/gocheck.go outputWriter.WriteCallSuccess 6.25% (1/16)
launchpad.net/gocheck/gocheck.go C.logCaller 0.00% (0/18)
launchpad.net/gocheck/gocheck.go C.logValue 0.00% (0/15)
launchpad.net/gocheck/printer.go printLine 0.00% (0/15)
launchpad.net/gocheck/gocheck.go C.logMultiLine 0.00% (0/14)
launchpad.net/gocheck/printer.go linePrinter.trim 0.00% (0/14)
launchpad.net/gocheck/printer.go linePrinter.Visit 0.00% (0/14)
launchpad.net/gocheck/gocheck.go niceFuncName 0.00% (0/14)
launchpad.net/gocheck/benchmark.go C.timerString 0.00% (0/13)
launchpad.net/gocheck/gocheck.go C.logPanic 0.00% (0/13)
launchpad.net/gocheck/printer.go linePrinter.printWithComments 0.00% (0/13)
launchpad.net/gocheck/gocheck.go outputWriter.WriteCallProblem 0.00% (0/10)
launchpad.net/gocheck/benchmark.go benchmark 0.00% (0/10)
launchpad.net/gocheck/printer.go indent 0.00% (0/9)
launchpad.net/gocheck/benchmark.go roundDown10 0.00% (0/8)
launchpad.net/gocheck/checkers.go fitsTypeChecker.Check 0.00% (0/7)
launchpad.net/gocheck/gocheck.go C.logCode 0.00% (0/7)
launchpad.net/gocheck/checkers.go hasLenChecker.Check 0.00% (0/7)
launchpad.net/gocheck/checkers.go implementsChecker.Check 0.00% (0/7)
launchpad.net/gocheck/checkers.go panicsChecker.Check 0.00% (0/6)
launchpad.net/gocheck/benchmark.go roundUp 0.00% (0/6)
launchpad.net/gocheck/benchmark.go benchmarkN 0.00% (0/6)
launchpad.net/gocheck/checkers.go panicMatchesChecker.Check 0.00% (0/6)
launchpad.net/gocheck/printer.go linePrinter.emit 0.00% (0/6)
launchpad.net/gocheck/gocheck.go hasStringOrError 0.00% (0/5)
launchpad.net/gocheck/helpers.go C.Skip 0.00% (0/5)
launchpad.net/gocheck/printer.go linePrinter.trimList 0.00% (0/5)
launchpad.net/gocheck/gocheck.go niceFuncPath 0.00% (0/5)
launchpad.net/gocheck/gocheck.go isMultiLine 0.00% (0/4)
launchpad.net/gocheck/helpers.go C.Fatal 0.00% (0/4)
launchpad.net/gocheck/helpers.go C.Errorf 0.00% (0/4)
launchpad.net/gocheck/helpers.go C.Error 0.00% (0/4)
launchpad.net/gocheck/helpers.go C.Output 0.00% (0/4)
launchpad.net/gocheck/helpers.go C.ExpectFailure 0.00% (0/4)
launchpad.net/gocheck/gocheck.go outputWriter.Write 0.00% (0/4)
launchpad.net/gocheck/printer.go linePrinter.trimBlock 0.00% (0/4)
launchpad.net/gocheck/gocheck.go nicePath 0.00% (0/4)
launchpad.net/gocheck/helpers.go C.Fatalf 0.00% (0/4)
launchpad.net/gocheck/benchmark.go max 0.00% (0/3)
launchpad.net/gocheck/gocheck.go logger.String 0.00% (0/3)
launchpad.net/gocheck/gocheck.go logger.WriteTo 0.00% (0/3)
launchpad.net/gocheck/checkers.go notChecker.Check 0.00% (0/3)
launchpad.net/gocheck/checkers.go notChecker.Info 0.00% (0/3)
launchpad.net/gocheck/gocheck.go suiteRunner.runFunc 0.00% (0/3)
launchpad.net/gocheck/benchmark.go min 0.00% (0/3)
launchpad.net/gocheck/benchmark.go C.mbPerSec 0.00% (0/3)
launchpad.net/gocheck/benchmark.go C.nsPerOp 0.00% (0/3)
launchpad.net/gocheck/gocheck.go suiteRunner.skipTests 0.00% (0/2)
launchpad.net/gocheck/gocheck.go renderCallHeader 0.00% (0/2)
launchpad.net/gocheck/helpers.go C.SucceedNow 0.00% (0/2)
launchpad.net/gocheck/printer.go linePrinter.emptyBlock 0.00% (0/2)
launchpad.net/gocheck/helpers.go C.FailNow 0.00% (0/2)
launchpad.net/gocheck/gocheck.go C.stopNow 0.00% (0/1)
launchpad.net/gocheck/checkers.go comment.CheckCommentString 0.00% (0/1)
launchpad.net/gocheck/checkers.go matchesChecker.Check 0.00% (0/1)
launchpad.net/gocheck/checkers.go deepEqualsChecker.Check 0.00% (0/1)
launchpad.net/gocheck/checkers.go notNilChecker.Check 0.00% (0/1)
launchpad.net/gocheck/gocheck.go C.logSoftPanic 0.00% (0/1)
launchpad.net/gocheck/benchmark.go C.SetBytes 0.00% (0/1)
launchpad.net/gocheck/gocheck.go C.logArgPanic 0.00% (0/1)
launchpad.net/gocheck/printer.go linePrinter.emptyStmt 0.00% (0/1)
launchpad.net/gocheck/helpers.go C.Succeed 0.00% (0/1)
launchpad.net/gocheck/helpers.go C.Fail 0.00% (0/1)
launchpad.net/gocheck/helpers.go C.GetTestLog 0.00% (0/1)
launchpad.net/gocheck/helpers.go C.Log 0.00% (0/1)
launchpad.net/gocheck/helpers.go C.Failed 0.00% (0/1)
launchpad.net/gocheck/checkers.go Not 0.00% (0/1)
launchpad.net/gocheck/gocheck.go C.log 0.00% (0/1)
launchpad.net/gocheck/gocheck.go C.logNewLine 0.00% (0/1)
launchpad.net/gocheck/gocheck.go C.logString 0.00% (0/1)
launchpad.net/gocheck/checkers.go Commentf 0.00% (0/1)
launchpad.net/gocheck ------------------------------- 29.58% (202/683)

launchpad.net/juju-core/version/version.go ParseBinary 100.00% (12/12)
launchpad.net/juju-core/version/version.go Parse 100.00% (10/10)
launchpad.net/juju-core/version/version.go Number.Less 100.00% (6/6)
launchpad.net/juju-core/version/version.go Number.String 100.00% (4/4)
launchpad.net/juju-core/version/version.go Number.IsDev 100.00% (1/1)
launchpad.net/juju-core/version/version.go Binary.String 100.00% (1/1)
launchpad.net/juju-core/version/version.go Binary.GetBSON 100.00% (1/1)
launchpad.net/juju-core/version/version.go Number.GetBSON 100.00% (1/1)
launchpad.net/juju-core/version/version.go isOdd 100.00% (1/1)
launchpad.net/juju-core/version/version.go readSeries 87.50% (7/8)
launchpad.net/juju-core/version/version.go Binary.SetBSON 77.78% (7/9)
launchpad.net/juju-core/version/version.go Number.SetBSON 77.78% (7/9)
launchpad.net/juju-core/version/version.go MustParse 75.00% (3/4)
launchpad.net/juju-core/version/version.go MustParseBinary 75.00% (3/4)
launchpad.net/juju-core/version/version.go atoi 75.00% (3/4)
launchpad.net/juju-core/version/version.go init 71.43% (5/7)
launchpad.net/juju-core/version/version.go ubuntuArch 66.67% (2/3)
launchpad.net/juju-core/version --------------- 87.06% (74/85)

On Tue, Jan 15, 2013 at 11:47 AM, Andrew Wilkins
[email protected]:

Yes, I suppose that could be confusing if you didn't know all the inner
workings.
As long as there's an option to enable/disable ("-deps" or "-nodeps"), I'm
okay with that.


Reply to this email directly or view it on GitHubhttps://github.com//issues/26#issuecomment-12248227.

from gocov.

axw avatar axw commented on July 19, 2024

Okay. Grep would help here, but I'm happy to add a flag (and document the behaviour) anyway.

from gocov.

axw avatar axw commented on July 19, 2024

Brief update: I have a change just about ready to push later. I've added a "-deps" flag, which is false by default, and governs whether or not gocov recursively instruments package dependencies.

I've also changed the default value of "-exclude-goroot" to false, as the GOROOT packages will be excluded unless -deps is provided anyway.

from gocov.

davecheney avatar davecheney commented on July 19, 2024

SGTM. This may be useful if I ever get multi package testing working.

On Wed, Jan 16, 2013 at 2:12 PM, Andrew Wilkins [email protected]:

Brief update: I have a change just about ready to push later. I've added a
"-deps" flag, which is false by default, and governs whether or not gocov
recursively instruments package dependencies.

I've also changed the default value of "-exclude-goroot" to false, as the
GOROOT packages will be excluded unless -deps is provided anyway.


Reply to this email directly or view it on GitHubhttps://github.com//issues/26#issuecomment-12302631.

from gocov.

davecheney avatar davecheney commented on July 19, 2024

I hope that this will mean I can remove hacks like these

"gocov test | gocov report | grep $(go list) | less"

On Wed, Jan 16, 2013 at 2:15 PM, Dave Cheney [email protected] wrote:

SGTM. This may be useful if I ever get multi package testing working.

On Wed, Jan 16, 2013 at 2:12 PM, Andrew Wilkins [email protected]:

Brief update: I have a change just about ready to push later. I've added
a "-deps" flag, which is false by default, and governs whether or not gocov
recursively instruments package dependencies.

I've also changed the default value of "-exclude-goroot" to false, as the
GOROOT packages will be excluded unless -deps is provided anyway.


Reply to this email directly or view it on GitHubhttps://github.com//issues/26#issuecomment-12302631.

from gocov.

axw avatar axw commented on July 19, 2024

I hope that this will mean I can remove hacks like these
"gocov test | gocov report | grep $(go list) | less"

Yup, no need to grep now. Add -deps to get the rest.

from gocov.

davecheney avatar davecheney commented on July 19, 2024

Yeah, that is fantastic.

warning: building out-of-date packages:
github.com/axw/gocov
installing these packages with 'go test -i launchpad.net/juju-core/version'
will speed future tests.

ok launchpad.net/juju-core/version 0.070s

launchpad.net/juju-core/version/version.go ParseBinary 100.00%
(12/12)
launchpad.net/juju-core/version/version.go Parse 100.00%
(10/10)
launchpad.net/juju-core/version/version.go Number.Less 100.00%
(6/6)
launchpad.net/juju-core/version/version.go Number.String 100.00%
(4/4)
launchpad.net/juju-core/version/version.go Number.IsDev 100.00%
(1/1)
launchpad.net/juju-core/version/version.go Binary.String 100.00%
(1/1)
launchpad.net/juju-core/version/version.go Binary.GetBSON 100.00%
(1/1)
launchpad.net/juju-core/version/version.go Number.GetBSON 100.00%
(1/1)
launchpad.net/juju-core/version/version.go isOdd 100.00%
(1/1)
launchpad.net/juju-core/version/version.go readSeries 87.50%
(7/8)
launchpad.net/juju-core/version/version.go Binary.SetBSON 77.78%
(7/9)
launchpad.net/juju-core/version/version.go Number.SetBSON 77.78%
(7/9)
launchpad.net/juju-core/version/version.go MustParse 75.00%
(3/4)
launchpad.net/juju-core/version/version.go MustParseBinary 75.00%
(3/4)
launchpad.net/juju-core/version/version.go atoi 75.00%
(3/4)
launchpad.net/juju-core/version/version.go init 71.43%
(5/7)
launchpad.net/juju-core/version/version.go ubuntuArch 66.67%
(2/3)
launchpad.net/juju-core/version --------------- 87.06%
(74/85)

On Wed, Jan 16, 2013 at 4:21 PM, Andrew Wilkins [email protected]:

I hope that this will mean I can remove hacks like these
"gocov test | gocov report | grep $(go list) | less"

Yup, no need to grep now. Add -deps to get the rest.


Reply to this email directly or view it on GitHubhttps://github.com//issues/26#issuecomment-12305403.

from gocov.

Related Issues (20)

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.