Coder Social home page Coder Social logo

faker's Issues

Go mod fails to parse go.mod file

In a project indirectly importing faker I'm getting

go: github.com/enodata/[email protected]: parsing go.mod: unexpected module path "syreclabs.com/go/faker"

when running some go mod commands, e.g. go mod why.

Any idea what we can do to fix this?

lolcat.go:5:2: code in directory /root/go/src/github.com/dmgk/faker expects import "syreclabs.com/go/faker"

I already use go get -u syreclabs.com/go/faker to get faker repo , but when I use my code

package main                                                                                                                                                                                                                                                 
  
import (
        "fmt"
        "github.com/dmgk/faker"
        "strings"
)
 
func main() {
        var phrases []string
 
        for i := 1; i < 3; i++ {
                phrases = append(phrases, faker.Hacker().Phrases()...)
        }
 
        fmt.Println(strings.Join(phrases[:], "; "))
}
~          

I build it , but it says "lolcat.go:5:2: code in directory /root/go/src/github.com/dmgk/faker expects import "syreclabs.com/go/faker""

Get https://syreclabs.com/go/faker?go-get=1: x509: certificate signed by unknown authority

Hi,

The certificate used for the vanity URL syreclabs.com/go/faker doesn't seem to be correctly setup.

$ go mod download
go: finding github.com/go-stack/stack v1.8.0
go: finding github.com/Microsoft/go-winio v0.4.14
go: finding github.com/go-kit/kit v0.9.0
#... more fetches
go: syreclabs.com/go/[email protected]: unrecognized import path "syreclabs.com/go/faker" (https fetch: Get https://syreclabs.com/go/faker?go-get=1: x509: certificate signed by unknown authority)
# ... more fetches
go: error loading module requirements
##[error]Process completed with exit code 1.

That's close to the issue #10, but the error message is a different one. That breaks fetching of dependencies from any go project that doesn't use vendored dependencies (so any library project using this faker library).

Gender for Name

What I'm really missing here is the gender for things like Name().

  1. Male
  2. Female
  3. Neutral

Fake Number returns String

Why does your fake number generator return a string?
I would imaging that most cases were someone would want a fake number they want a number and not a string, and if they needed a string it is easy enough to convert it.

Invalid module path

-> vgo get -v syreclabs.com/go/faker/v2
Fetching https://syreclabs.com/go/faker/v2?go-get=1
Parsing meta tags from https://syreclabs.com/go/faker/v2?go-get=1 (status code 200)
get "syreclabs.com/go/faker/v2": found meta tag get.metaImport{Prefix:"syreclabs.com/go/faker", VCS:"git", RepoRoot:"https://syreclabs.com/go/faker.git"} at https://syreclabs.com/go/faker/v2?go-get=1
get "syreclabs.com/go/faker/v2": verifying non-authoritative meta tag
Fetching https://syreclabs.com/go/faker?go-get=1
Parsing meta tags from https://syreclabs.com/go/faker?go-get=1 (status code 200)
go: syreclabs.com/go/faker/[email protected]: go.mod has non-.../v2 module path "syreclabs.com/go/faker" (and .../v2/go.mod does not exist) at revision v2.0.1
go: error loading module requirements

https://github.com/dmgk/faker/blob/master/go.mod should contain

module "syreclabs.com/go/faker/v2"

More info: https://github.com/golang/go/wiki/Modules#new-concepts

Certificate Expired

The instructions at https://pkg.go.dev/syreclabs.com/go/faker may need to get updated or certificate renewed

The certificate, serial number 04:30:70:e1:06:dc:cd:cc:74:60:8c:73:cc:25:e7:5a:a0:94 expired Friday, February 24, 2023 at 12:39:43 AM

Get "https://syreclabs.com/go/faker?go-get=1": x509: “syreclabs.com” certificate is expired

Data race in RandomString()

When running tests which use this package with the race detector it finds out there are data races.
Trivial to reproduce example is with the following useless program:

package main

import "syreclabs.com/go/faker"

func main() {
	go faker.RandomString(10)
	go faker.RandomString(10)
}

When I run it with go run -race this is the output from go's race detector:

==================
WARNING: DATA RACE
Read at 0x00c42018afb8 by goroutine 7:
  math/rand.read()
      /usr/lib/go/src/math/rand/rand.go:265 +0x3c
  math/rand.(*Rand).Read()
      /usr/lib/go/src/math/rand/rand.go:261 +0x16d
  syreclabs.com/go/faker.RandomString()
      /home/kiril/go/src/syreclabs.com/go/faker/faker.go:90 +0xb2

Previous write at 0x00c42018afb8 by goroutine 6:
  math/rand.read()
      /usr/lib/go/src/math/rand/rand.go:276 +0xee
  math/rand.(*Rand).Read()
      /usr/lib/go/src/math/rand/rand.go:261 +0x16d
  syreclabs.com/go/faker.RandomString()
      /home/kiril/go/src/syreclabs.com/go/faker/faker.go:90 +0xb2

Goroutine 7 (running) created at:
  main.main()
      /tmp/fake.go:7 +0x6c

Goroutine 6 (finished) created at:
  main.main()
      /tmp/fake.go:6 +0x4b
==================
==================
WARNING: DATA RACE
Read at 0x00c42018afb0 by goroutine 7:
  math/rand.read()
      /usr/lib/go/src/math/rand/rand.go:266 +0x56
  math/rand.(*Rand).Read()
      /usr/lib/go/src/math/rand/rand.go:261 +0x16d
  syreclabs.com/go/faker.RandomString()
      /home/kiril/go/src/syreclabs.com/go/faker/faker.go:90 +0xb2

Previous write at 0x00c42018afb0 by goroutine 6:
  math/rand.read()
      /usr/lib/go/src/math/rand/rand.go:277 +0x108
  math/rand.(*Rand).Read()
      /usr/lib/go/src/math/rand/rand.go:261 +0x16d
  syreclabs.com/go/faker.RandomString()
      /home/kiril/go/src/syreclabs.com/go/faker/faker.go:90 +0xb2

Goroutine 7 (running) created at:
  main.main()
      /tmp/fake.go:7 +0x6c

Goroutine 6 (finished) created at:
  main.main()
      /tmp/fake.go:6 +0x4b
==================
Found 2 data race(s)
exit status 66

Now, this makes a lot of sense, since math/rand.Rand.Read is documented as not safe to be called concurrently. Which is okay for a method of type. RandomString in this package however is a global function and this issue could not be worked around as easily as with Rand.Read. For instance math/rand.Read (the global function) is safe to be called concurrently.

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.